一、用简短的语言给出对分析、设计的理解
分析更要求对需求或者问题的调查研究,而不是一个实际的解决方案。比如制作一个小游戏,分析应该具备哪些对象,以及对象之间的关系。
设计更多的是提出满足需求的概念上的解决方案。会解决一些在实际实施中出现的问题。比如制作一个小游戏时候选用哪一种游戏框架。
二、用一句话描述面向对象的分析与设计的优势
面向对象分析强调的是在问题领域发现和描述对象(或概念),定义对象的属性,操作以及它们之间的关系。面向对象设计强调的是定义软件对象以及它们如何协作以实现需求。
优势是:将一些功能和需求封装为对象内从而隐藏,使得对象行为可靠,并且不受其他对象影响,减少了与其他对象的耦合,在需求变化的时候有较强的适应性,也方便了复用。
三、简述 UML(统一建模语言)的作用。考试考哪些图?
UML是描述、构造和文档化系统制品的可视化语言,用来绘制和展示与软件相关的图形。UML可以作为草图,用于探讨问题或解决方案空间的复杂部分,还可以作为蓝图对现有的代码进行可视化,可以指导生成代码。用UML还可以完成软件系统可执行规格说明。
UML可以有十多种视图,分为4类:大专栏 HW2ng>
- 用例图:用户角度,有用例、参与者等
- 静态图:系统静态结构
- 类图:概念及关系
- 对象图:某种状态或时间段内,系统中活跃的对象及其关系
- 包图:描述系统的分解结构
- 行为图:系统的动态行为
- 交互图:描述对象间的消息传递
- 顺序图:强调对象间消息发送的时序
- 合作图:强调对象间的动态协作关系
- 状态图:对象的动态行为。状态-事件-状态迁移-响应动作
- 活动图:描述系统为完成某功能而执行的操作序列
- 实现图:描述系统的组成和分布状况
- 构件图:组成部件及其关系
- 部署图:物理体系结构及与软件单元的对应关系
四、从软件本质的角度,解释软件范围(需求)控制的可行性
通过软件需求分析把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素,从而控制软件的范围。由于软件本身的复杂性、不可见性、不一致性、可变性,软件范围多数情况下对于客户和开发者都是模糊的,所以更需要对软件需求的控制,对目标系统提出完整、准确、清晰、具体的要求,确定系统必须完成哪些工作,而且需要在合适的时候对业务进行删减。