乐趣区

Software System Analysis and Design | 2

一、简答题
1. 用简短的语言给出对分析、设计的理解

分析(analysis):强调对问题和需求的调查和研究,而不是解决方案。
设计(design):强调的是满足需求的概念上的解决方案(在软件方面和硬件方面),而不是其实现。

2. 用一句话描述面向对象的分析与设计的优势
面向对象的分析与设计可以解决传统软件研发过程中由于软件模块化结构化程度不高带来的软件重用性差、软件可维护性差、开发出的软件不能满足用户需求等方面的问题,提高了软件开发的复用性、扩展性、可维护性、开发弹性。

3. 简述 UML(统一建模语言)的作用
UML(统一建模语言):是面向对象的可视化建模语言。UML 中有 3 种构造块:事物、关系和图,事物是对模型中最具有代表性的成分的抽象,关系是把事物结合在一起,图聚集了相关的事物
UML 中有九种图:1、用例图描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么。
2、类图类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切的说,是一种静态模型类型。
3、对象图与类图极为相似,它是类图的实例,对象图显示类的多个对象实例,而不是实际的类。它描述的不是类之间的关系,而是对象之间的关系。
4、活动图描述用例要求所要进行的活动,以及活动间的约束关系,有利于识别并行活动。能够演示出系统中哪些地方存在功能
5、状态图描述类的对象所有可能的状态,以及事件发生时状态的转移条件。可以捕获对象、子系统和系统的生命周期。他们可以告知一个对象可以拥有的状态,并且事件 (如消息的接收、时间的流逝、错误、条件变为真等) 会怎么随着时间的推移来影响这些状态。一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。状态图是对类图的补充。
6、序列图(顺序图)序列图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。顺序图可以用来展示对象之间是如何进行交互的。顺序图将显示的重点放在消息序列上,即强调消息是如何在对象之间被发送和接收的。
7、协作图和序列图相似,显示对象间的动态合作关系。可以看成是类图和顺序图的交集,协作图建模对象或者角色,以及它们彼此之间是如何通信的。如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图;这两种图合称为交互图。
8、构件图(组件图)描述代码构件的物理结构以及各种构建之间的依赖关系。用来建模软件的组件及其相互之间的关系,这些图由构件标记符和构件之间的关系构成。在组件图中,构件时软件单个组成部分,它可以是一个文件,产品、可执行文件和脚本等。
9、部署图是用来建模系统的物理部署。例如计算机和设备,以及它们之间是如何连接的。部署图的使用者是开发人员、系统集成人员和测试人员。
在需求阶段:采用用例图来描述需求
在分析阶段:采用类图来描述静态结构
在设计阶段:采用类图、包图对类的接口进行设计
在实现阶段:将类用某个面向对象的语言实现
在集成与交付阶段:构件图、包图、部署图
在测试阶段:单元测试使用类图和类的规格说明书
集成测试阶段使用类图、包图、构件图和合作图

系统测试使用用例图来测试系统功能

考试会考用例图,静态图、行为图,实现图。

4. 从软件本质的角度,解释软件范围(需求)控制的可行性
计算机软件是于操作有关的程序、以及与之相关的文档集合。由于软件本身的复杂性、不可见性、一致性、可变性,软件范围多数情况下对于客户和开发者都是模糊的,这形成软件产品与其他产品不同的开发过程。
因此,范围管理是软件项目管理的重中之重。在多数情况下,客户与开发者能就项目的 20% 内容给出严格的需求约定,80% 的内容都是相对模糊的。因此,围绕客户目标,发现并满足客户感兴趣的内容是最关键的。
所以对于软件需求,当与客户进行了全面的讨论协商,细化了 20% 的具体内容和有效需求后就能够满足客户 80% 的需求,从而有效控制软件需求。

二、项目管理实践
1. 看板使用练习

2. UML 绘图工具练习

《UML 和模式应用》Page9 图 1 -6 UML 的不同透视图_

退出移动版