简答题
用简短的语言给出对分析、设计的理解
- 分析的主要任务基于客户的大致需求,对其进行研究和提取更加具体详细的核心内容,其强调的是对问题的调查和需求的研究,而不是解决方案。
- 设计的主要任务是基于分析的成果,构建出合理的满足要求的模型或者解决方案,其强调满足要求的概念解决方案(在软件和硬件中),而不是其实现
用一句话描述面向对象的分析与设计的优势
分析人员不必是“语言专家”,他们不需要掌握其他领域的专业技能。在开发过程中,问题领域的专家和实施级别的专家可以使用通用表示法进行通信
简述 UML(统一建模语言)的作用。考试考哪些图?
- UML的作用
UML作为草图
- 非正式和不完整的图表(通常在白板上手绘),用于探索问题或解决方案空间的难点,利用可视语言的力量UML作为蓝图
- 使用相对详细的设计图表,在逆向工程中让工程师更容易理解项目的设计,在正向工程中利于设计的实现UML作为编程语言
- 用UML完成软件系统的可执行规范。可执行代码将自动生成。
- 考察内容
- 用例图:用户角度:功能、执行者
- 静态图:系统静态结构
- 类图:概念及关系
- 对象图:某种状态或时间段内,系统中活跃的对象及其关系
- 包图:描述系统的分解结构
- 行为图:系统的动态行为
- 交互图:描述对象间的消息传递
- 顺序图:强调对象间消息发送的时序
- 合作图:强调对象间的动态协作关系
- 状态图:对象的动态行为。状态-事件-状态迁移-响应动作
- 活动图:描述系统为完成某功能而执行的操作序列
- 交互图:描述对象间的消息传递
- 实现图:描述系统的组成和分布状况
- 构件图:组成部件及其关系
- 部署图:物理体系结构及与软件单元的对应关系
从软件本质的角度,解释软件范围(需求)控制的可行性
在实际软件项目中,即使在有明确的软件开发合同条件下,仍然无法确定出完善的软件需求规格说明书,因为软件生产是易变、不可见、独特的智力生产,其不同于其余具有标准可度量的生产模式。同时由于软件本身的复杂性、不可见性、不一致性、可变性,并且在软件开发的过程中对于软件需求的控制并不是不可商量的,软件范围多数情况下对于客户和开发者都是模糊的,这形成软件产品与其他产品不同的开发过程,因此需要对软件范围进行一定的控制,我们需要从用户的不明确需求中提取出基本需求,砍去一些不合理或者是不明确的部分,在满足其基本需求的基础下,不断进行迭代,不断进行完善
项目管理实践
看板使用练习
- 使用截图工具(png格式输出),展现你团队的任务 Kanban
- 每个人的任务是明确的。必须一周后可以看到具体结果
- 每个人的任务是1-2项
- 至少包含一个团队活动任务
UML绘图工具练习
- 请在 参考书2 或 教材 中选择一个类图(给出参考书页码图号)
UML和模式应用(原书第3版) P6 1-3 骰子游戏的局部领域模型