1.用简短的语言给出对分析、设计的理解
分析强调对问题和需求的调查研究而非解决方案,是整个项目启动的基础,只有通过分析了解了项目需求才可以进行后续设计。
设计强调的是满足需求的概念上的解决方案,更偏向实现部分,即在明确需求后一个项目的实现。
两者是相辅相成的关系,分析是设计的基础,设计可以为分析提供反馈
2. 用一句话描述面向对象的分析与设计的优势
其优势是可以将整个软件的架构进行抽象化,可以让开发者用人的思维来思考问题,并且面向对象的分析与设计可以很好的对系统进行结构化,使其层次分明便于维护,并且可以形成一个个的软件模块,有利于重用,总之其可以调高软件开发的复用性、扩展性、可维护性、开发弹性。
3.简述 UML(统一建模语言)的作用。考试考哪些图?
UML是一组用于描述OOAD过程的图形化表达方式,为交流面向对象的设计中的需求,行为、体系结构的实现提供了一套综合的表示法。其可以使软件分析和设计人员对目标问题有更深刻的理解和认识,也可以为非专业编程人士理解软件的功能和构造,提供了一种直白、简单、通俗的方法。
UML图有下面四种:
- 用例图
- 静态图:类图、对象图、包图
- 行为图:交互图、状态图、活动图
- 实现图:构件图、部署图
考试考用例图、活动图、系统顺序图、UML类图等
4.从软件本质的角度,解释软件范围(需求)控制的可行性
软件的本质包括复杂性(complexity)、一致性(conformity)、可变性(changeability)和不可视性(invisibility)。控制软件范围指的是从所获取的需求中选取最终的项目需求,然后制定出软件产品的详细描述。由于软件的上面四个特点,开发者甚至是软件客户都对软件的需求比较的模糊,我们只要在满足客户基本需求的前提下,不断砍去用户不明确的需求,完成基本的功能,再通过多次迭代就能实现最终的软件设计。