二、软件工程——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说明书二、软件工程——Modeling_第1张图片

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数据流架构二、软件工程——Modeling_第2张图片

 

Call and return architectures调用和返回架构二、软件工程——Modeling_第3张图片

 

Independent component architectures独立组件架构 二、软件工程——Modeling_第4张图片

 

Virtual machine architectures虚拟机架构
Repository architectures存储库体系结构 二、软件工程——Modeling_第5张图片

 

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

你可能感兴趣的:(软件工程)