系统分析与设计作业二
文章目录
一. 简答题
1. 用简短的语言给出对分析、设计的理解。
分析是将一个复杂的主题或事物逐步拆分为更小的部分,以便更好地理解的过程。分析强调的是对问题和需求的调查研究,而不是解决方案。例如,如果需要一个新的在线交易系统,那么应该如何使用它?它应该具有哪些功能?
设计是有意地为一个对象/系统的构建或一个活动/过程的实现创建计划/规范。设计强调的是满足需求的概念上的解决方案(在软件方面和硬件方面),而不是其实现。例如,对数据库方案和软件对象的描述。设计思想通常排斥底层或"显而易见"的细节。最终,设计可以实现,而实现(如代码)则表达了真实和完整的设计。
有益的分析与设计可以概括为:做正确的事(分析)和正确的做事(设计)。
2. 用一句话描述面向对象的分析与设计的优势。
面向对象的分析与设计方法从对象出发认识问题域,对象对应着问题域中的事物,其属性与操作分别刻画了事物的性质和行为,对象的类之间的继承、关联和依赖关系能够刻画问题域中事物之间实际存在的各种关系。
优势为面向对象的分析与设计方法与人类习惯的思维方法比较一致,使得软件开发易于建模域理解,可重用性好,可维护性好,有助于软件的维护与复用。
3. 简述 UML(统一建模语言)的作用。考试考哪些图?
UML是一种绘制软件蓝图的标准语言,一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言。UML的作用是用很多图从静态和动态方面来全面表述我们将要开发的系统,图可以使得我们更便利的观察全景,发现软件元素或分析之间的联系,同时允许我们忽略或隐藏旁枝末节。
考试考哪些图?
- 用例图:从用户角度展示用例和参与者之间的关系
- 静态图:描述系统静态结构
- 类图:概念及关系
- 对象图:某种状态或时间段内,系统中活跃的对象及其关系
- 包图:描述系统的分解结构
- 行为图:系统的动态行为
- 交互图:描述对象间的消息传递
- 顺序图:强调对象间消息发送的时序
- 合作图:强调对象间的动态协作关系
- 状态图:对象的动态行为。状态-事件-状态迁移-响应动作
- 活动图:描述系统为完成某功能而执行的操作序列
- 交互图:描述对象间的消息传递
- 实现图:描述系统的组成和分布状况
- 构件图:组成部件及其关系
- 部署图:物理体系结构及与软件单元的对应关系
4. 从软件本质的角度,解释软件范围(需求)控制的可行性
项目的首要约束是 scope, time, quality and budget 四个基本元素,也称为项目管理三角模型,在实际软件项目中,即使在有明确的软件开发合同条件下,这四个约束也不是不可商量的。
由于软件本身的复杂性、不可见性、不一致性、可变性,软件范围多数情况下对于客户和开发者都是模糊的,这形成软件产品与其他产品不同的开发过程。因此,软件范围(需求)管理是软件项目管理的重中之重!
项目是综合性的任务,2/8法则会在许多地方用上,如需求获取,软件测试等方面。在多数情况下,客户与开发者能就项目的 20% 内容给出严格的需求约定,80% 的内容都是相对模糊的。因此,围绕客户目标,发现并满足客户感兴趣的内容是最关键的。细化 20% 有效需求,可满足 80% 客户需要。因此,软件范围(需求)控制是可行的。
二. 项目管理实践
1. 看板使用练习(提交看板执行结果贴图,建议使用 Git project)
- 使用截图工具(png格式输出),展现你团队的任务 Kanban
- 每个人的任务是明确的。必须一周后可以看到具体结果
- 每个人的任务是1-2项
- 至少包含一个团队活动任务
2. UML绘图工具练习(提交贴图,必须使用 UMLet)
- 请在 参考书2 或 教材 中选择一个类图(给出参考书页码图号)
参考 《UML和模式应用》Page182 图16-2
代码: