一.简答题
1.用简短的语言给出对分析、设计的理解
- 分析:强调的是对问题与需求的调查研究。简而言之就是我们要通过客户调研等的方式确定我们接下来要做什么。例如我们需要开发一个挣闲钱的系统,那么我们首先需要知道挣闲钱系统的需求有哪些,必要的功能包括哪几个,系统面向的用户主要是什么样的群体,这些群体希望我们给他们提供什么样的服务,这些都属于分析的范畴。
- 设计:强调我们在分析了需求之后如何满足他们的方案,不是具体实现,但是是如何实现的框架。例如之前那个挣闲钱系统,前端应该如何和后端对接,我们的想法是后端提供给前端API来调用,因为前端只是一种实现方式。其次后端用什么框架进行实现,用何种数据库,UI方面怎样进行交互设计会让客户获得最优的体验,这些都属于设计的范畴。
2.用一句话描述面向对象的分析与设计的优势
面向对象的分析与设计比较直观,易于理解,方便扩展,利于阅读,而且容易维护,具有可继承的特点。
3. 简述 UML(统一建模语言)的作用。考试考哪些图?
UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。作为一种语言,UML能够展示项目结构,帮助项目参与者更好地理解项目。需求分析人员可以绘制用例图等,也可以用于和业务沟通需求。软件设计人员可以用来绘制活动图、顺序图、类图等,用于做概要设计、详细设计。
考试的时候,我们关注的是:
用例图,静态图(类图,对象图,包图),行为图(交互图,状态图,活动图),实现图(构件图,部署图)
4.从软件本质的角度,解释软件范围(需求)控制的可行性
软件的本质包括四个方面,即复杂性(complexity)、一致性(conformity)、可变性(changeability)与不可见性(invisibility)。软件的本质造成了范围(需求)控制的必要性、可行性与复杂性。一个项目的首要约束是工期、范围、质量和预算四个基本元素,它们也被称为项目管理三角模型。项目管理的目标就是优化调度资源使得这些约束以最低的成本得到满足。这四个基本元素的说明如下:
工期:软件项目刚性约束。多数情况下,软件的按时投产意味着收益的增加或成本的降低。
预算:软件项目重要约束。它与工期一样,最容易观察与度量,所以没有特别情况也不宜超出预算。
质量:软件质量通常是有底线的。一些指标如可靠性、性能等,比较难量化度量;另一些指标如易用性相对比较灵活,但其对于用户满意度的敏感度很高。
范围:在多数情况下,客户与开发者能就项目 20% 的内容给出严格的需求约定,剩下 80% 的内容都是相对模糊的。因此,围绕客户目标,发现并满足客户的兴趣与需求是最关键的。
正是由于软件本质的四个特性使得软件范围在多数情况下对于客户和开发者都是模糊的,这是软件产品开发与其他产品开发所不一样的地方。由于软件具有可变性,因此其范围实际上是动态的。
在需求分析与设计的过程中,我们可以围绕软件开发的复杂性,对现有的需求进行评估,同时围绕软件开发的成本进行调控,并对其可变和不可视的环境变化,也就是意外改动进行一致性的冗余设计,由此可以使得软件生产的预算、工期、意外变化等在一定程度都在我们的掌控之中。
二.看板使用练习
如下图是我们的会议内容和记录,我们计划每周开一次会议,然后在看板上面记录开会的信息并进行发布,其中这项工作由作为产品经理的我和另外一位项目经理共同负责
三.UML绘图工具练习(提交贴图,必须使用 UMLet)
书本p213图片16-21
UMLet绘图如下所示: