1. 简答题
1.1 用简短的语言给出对分析、设计的理解。
分析:重点在对问题和需求进行调查研究,而不是提出切实的解决方案。
设计:强调的是满足需求的概念上的解决方案(在软件方面和硬件方面),而不是其实现。
有益的分析和设计可以概括为做正确的事和正确地做事
1.2 用一句话描述面向对象的分析与设计的优势。
面向对象的分析与设计的优势是按照对象的观点考虑问题域和逻辑解决方案,通过分析现实来发现并描述问题域中的对象。
1.3 简述 UML(统一建模语言)的作用。考试考哪些图?
UML是用来描述、构造和文档化系统制品的可视化语言,可以帮助我们更为便利地观察全景,发现软件元素或分析之间的联系,同时允许我们忽略或隐藏旁支末节。它的作用是:
- 作为草图时,用以借助可视化语言的功能来探讨问题或解决方案空间的复杂部分。
- 用作蓝图时,用于逆向工程(以UML图的方式对现有代码进行可视化)或代码生成(前向功能)
- 用作编程语言时,直接作为工作语言。
考试要考的图:
- 用例图:从用户角度展示用例和参与者之间的关系
- 静态图:系统静态结构
- 类图:概念及关系
- 对象图:某种状态或时间段内,系统中活跃的对象及其关系
- 包图:描述系统的分解结构
- 行为图:系统的动态行为
- 交互图:描述对象间的消息传递
- 顺序图:强调对象间消息发送的时序
- 合作图:强调对象间的动态协作关系
- 状态图:对象的动态行为。状态-事件-状态迁移-响应动作
- 活动图:描述系统为完成某功能而执行的操作序列
- 实现图:描述系统的组成和分布状况
- 构件图:组成部件及其关系
- 部署图:物理体系结构及与软件单元的对应关系
1.4 从软件本质的角度,解释软件范围(需求)控制的可行性
软件的本质包括复杂性、不可见性、不一致性、可变性,这些特点使得需求控制难以完成,但又必须完成,不然就可能导致软件的失败。
项目的首要约束是 scope, time, quality and budget 四个基本元素。一个项目合约,即是关于四个元素在理论上精确的约定。项目管理的任务就是优化调度资源使得这些约束得以满足,且最低的成本。
在实际软件项目中,即使在有明确的软件开发合同条件下,这四个约束并不是不可商量的。原因在于软件生产是易变、不可见、独特的智力生产。因为我们并不能如生产肥皂、衣服一样先给一个样品参考标准,甚至在项目开完成也无法写出完善的软件需求规格说明书。以 word 为例,设计师并不完全知道客户真需要什么,会在哪些场景中使用它,除了等待客户反馈,迭代升级,别无其他的方法。
通过项目管理三角,把握住四个元素就可以实现项目的约束,通过对这四个基本元素的约束,就可以在开发中开展范围管理,最终实现软件需求控制。
2. 项目管理实践
2.1 看板使用练习(提交看板执行结果贴图,建议使用 Git project)
- 使用截图工具(png格式输出),展现你团队的任务 Kanban
- 每个人的任务是明确的。必须一周后可以看到具体结果
- 每个人的任务是1-2项
- 至少包含一个团队活动任务
项目看板:https://github.com/systemanalyse/raiseMoney/projects/1
2.2 UML绘图工具练习(提交贴图,必须使用 UMLet)
- 请在 参考书2 或 教材 中选择一个类图(给出参考书页码图号)
《UML和模式应用》
P100 图9-2