简答题
用简短的语言给出对分析、设计的理解。
- 分析强调的是对问题和需求的调查研究,而不是解决方案。例如,如果需要一个新的在线交易系统,它会怎样被使用?它有什么功能?分析是做正确的事情(Do the right thing)。
- 设计强调的是满足需求的概念上的解决方案(在软件方面和硬件方面),而不是其实现。例如,对数据库模式和软件对象的描述。设计是把事情做对(Do the thing right)。
用一句话描述面向对象的分析与设计的优势。
能够构建与真实世界相似的问题模型和对象,符合人在世界中的思维方式,使得人能够更好地理解和设计。
简述 UML(统一建模语言)的作用。考试考哪些图?
将分析和设计的结果可视化,将问题抽象成容易理解的可视化模型。
UML图分四类:
- 用例图:用户角度:功能、执行者
- 静态图:系统静态结构
- 类图:概念及关系
- 对象图:某种状态或时间段内,系统中活跃的对象及其关系
- 包图:描述系统的分解结构
- 行为图:系统的动态行为
- 交互图:描述对象间的消息传递
- 顺序图:强调对象间消息发送的时序
- 合作图:强调对象间的动态协作关系
- 状态图:对象的动态行为。状态-事件-状态迁移-响应动作
- 活动图:描述系统为完成某功能而执行的操作序列
- 交互图:描述对象间的消息传递
- 实现图:描述系统的组成和分布情况
- 构件图:组成部件及其关系
- 部署图:物理体系结构及与软件单元的对应关系
从软件本质的角度,解释软件范围(需求)控制的可行性
软件的本质决定了软件开发的困难,Brook总结其本质特性为四个:复杂性、不一致性、可变性、不可见性。因此,软件范围多数情况下对于客户和开发者都是模糊的,这形成软件产品与其他产品不同的开发过程。在保证需求的前提下,可以砍去一些客户都没思考清晰的业务,通过多次反馈和迭代进行开发和升级,使得软件的范围和需求受控。
项目管理实践
看板使用练习(提交看板执行结果贴图,建议使用 Git project)
- 使用截图工具(pnsg 格式输出),展现你团队的任务 Kanban
- 每个人的任务是明确的。必须一周后可以看到具体结果
- 每个人的任务是 1-2 项
- 至少包含一个团队活动任务
UML 绘图工具练习(提交贴图,必须使用 UMLet)
《UML和模式应用(原书第3版)》,P6,图1-3:
各模块参数: