Vison's Blog
所有文章
文章总览
编辑器
Publications
About Me
Search
目录
#toc-container
下载Markdown文件
软件系统设计-第一课
2021年02月23日 13时33分
标签:
软件系统设计
# 第一课 ## Overview * Name: System/Software Design * Objective: Learn how to design the software system * Features: English * Prerequisite Knowledge: 1. Objective Oriented (OO) Programming Language 1. Abstraction 抽象 Class 类 Instance 实例 2. Encapsulation 封装 getter setter 3. Inheritance 继承 4. Polymorphism 多态 多个消息,不同的对象产生不同的动作 #!java class Animal{ eat(); } Class Dog extends Animal{ eat(){ System.out.println("Eat bone!"); } } Class Cat extends Animal{ eat(){ System.out.println("Eat fish!"); } } Animal dog = new Dog(); dog.eat(); Animal cat = new Cat(); cat.eat(); 2. UML - Use Case Diagram - Class Diagram - Object Diagram - Sequence Diagram - State Machine Diagram - Active Diagram - **Package Diagram** - **Component Diagram** - **Deployment Diagram** * Content 1. System Design 框架设计/整体设计 2. **Object Design (Detail Design) 详细设计** — Design Pattern 设计模式 3. GUI Design 界面设计 4. Database Design 5. Safety Design * Exam: Document ## Review of Analysis * Stages Analysis -> Design -> Implementation -> Test -> Maintainance * Analysis - System Request - Feasibility Analysis - 经济可行性 - 技术可行性 - 组织可行性 - Requirements Elicitation 需求发现 - Interview - Questionnaire - Observation - JAD (Joint Application Development) - Brainstorm - 原型 - 企业内部规章制度、文档 * 需求分类: 1. 按照功能 - Functional Requirements 功能性需求 - **Non-Functional Requirements 非功能性需求**:设计目标 2. 按照范围: - Business Requirements 业务需求(e.g., 提高效率/降低成本) - User Requirements 用户需求(e.g., 扫码入库功能) - System Requirements 系统需求 (e.g., 如何实现扫码入库?) ### Business Modeling - Business Process Modeling - Business Domain Modeling 业务类图(实体类,不存在依赖和实现) * 依赖、关联、聚合、组合、实现、泛化(继承) ### Functional Modeling Use Case Diagram 关联、泛化、扩展、包含 ### Object Modeling Class Diagram 实体类(Entity Class)、边界类(Boundary Class)、控制类(Controller Class) 实体类只有属性 边界类方法较多 ### Dynamic Modeling 1. Active Diagram 2. Sequence Diagram 类的补充、方法的补充 3. State Machine Diagram
所有评论
暂无评论
新增评论
评论
邮箱
邮箱仅作验证使用
图形验证码
邮箱验证码
发送验证码
发表评论
所有评论
暂无评论