二、软件工程——Modeling

1.Undestanding Requirements

System Engineering(系统工程)

!!!Requirements Engieering(需求建模)

1.Inception(开始):(确认利益相关者)

2.Elicitation(引出)by both software engineers and customers

The goal is to identify the problem、propose elements of the solution
、negotiate different approaches, and specify a preliminary set of solution requirements

3.Elaboration(细化)Building the Analysis Model

4.Negotiation(协商)

5.Specification说明书

6.Validation校验

用例图/活动图/类图/状态图 :用例图

2.Requirements Modeling

需求模型必须实现的三个目标:
§
1
)描述客户需要什么
§
2
)为软件设计奠定基础
§
3
)定义在软件完成后可以被确认的一组需求

software requirement includes:

1.. Scenario-Based Methods(场景的建模)(use-case)

2.Class-Based Modeling: 发现对象类的实例(实体类,边界类,控制类)(Class)

1.找出所有名词

2.筛选出可能的类

3.修改名词得到类

4.确定对象类

5.细化对象类

3.Behavioral Modeling    (State Diagram+Sequence Diagram)

1.make a list of the different states of a system (How does the system behave?)
列出一个系统的不同状态
2.indicate how the system makes a transition from one state to another (How
does the system change state?)
 indicate event
 indicate action
指出各状态之间的转移是怎么发生的
3.draw a state diagram or a sequence diagram

4.Flow Models

3.Design Concepts

1. Design

2. Design and quality

3. Design Principles

4. Fundamental Concepts

1>Abstraction抽象
2>Refinement精细化
3>Architecture架构
4>Patterns模式     B/S(WEB浏览器即可),C/S(需要下载客户端)
5>Modularity模块化
6>Hiding隐藏
7>Functional independence函数独立(模块独立)
模块独立的指标:内聚度(模块内部元素的紧密程度,越高越好)
指一个模块中各个部分都是为完成一项具体功能而协同
工作,紧密联系,不可分割的(单个功能)
若需要完成的功能中含“和”,“或”等词,它一定
不够功能内聚。
耦合度(模块间的关联程度)
8>Aspects方面
9>Refactoring
10>OO design concepts
11>Design Classes

4.Design Mothods

1.Behavioral Modeling

1. What is Architecture

2. Architectural Styles

Data flow architectures数据流架构

 

Call and return architectures调用和返回架构

 

Independent component architectures独立组件架构

 

Virtual machine architectures虚拟机架构
Repository architectures存储库体系结构

 

3. Architectural Patterns

Concurrency

 Persistence

Distribution

4. Architectural Design

4. Architectural Design

5. Architecture Reviews

6. Agility and Architecture

2.Component Level Design

1.What is a Component


Basic Design Principles

⭐The Open-Closed Principle ( OCP):模块[组件]应该打开扩展,但为修改关闭

⭐The Liskov Substitution Principle ( LSP):子类应该可以替换它们的基类


Dependency Inversion Principle ( DIP)

⭐The Interface Segregation( ISP):许多特定于客户的接口比一个通用接口要好

2.Cohesion:(内聚力)

Conventional view:
 
the “single-mindedness” of a module

OO view:
implies that a component or
class encapsulates only attributes and
operations that are closely related to one
another and to the class or component
itself

 Coupling:(耦合)

OO view:
 
a qualitative measure of the degree to
which classes are connected to one
another

3.User Interface Design

1. Golden Rules for UI Design

Place the user in control
Reduce the user’s memory load
Make the interface consistent

2. User Interface Design Models

3. User Interface Design Process

1.Interface Analysis
2.User Analysis
3.Task Analysis and Modeling
4.Analysis of Display Content
 
the environment
 
Interface Design Steps & Design Issues
 
Design Evaluation Cycle

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>