Second PM Homework…..
系统分析与设计 – Homework 2
简答题
一、 用简短的语言给出对分析、设计的理解。
- 分析(analysis):
- 强调的是对问题与需求的调查研究,而不是解决方案。
- 分析主要是通过对需求和问题的研究,进一步对项目设计的方面和功能实现进行添加和删除,初步地分析出项目面向的人群和运营模式。
- 设计(design):
- 更强调的是满足需求的概念层面的解决方案,而不是其实现。
- 设计更多地强调我们在进行项目开发时,应该对项目包含的各个部分,各个功能实现的基本架构,以及思考功能的主次性,整体实现的复杂程度等等,设计更接近于整体的思考与构建。
二、 用一句话描述面向对象的分析与设计的优势。
-
面向对象分析强调的是在问题领域内发现和描述对象(或概念),定义软件对象以及它们如何协作实现要求。
-
面向对象的分析与设计的优势有:
- 从认识论的角度面向对象方法改变了开发软件的方式;
- 面向对象语言使得从客观世界到计算机的语言鸿沟变窄;
- 使分析与设计之间的鸿沟变窄;
- 有助于软件的维护和复用;
- 有助于提高软件的质量和生产率。
三、 简述 UML(统一建模语言)的作用。考试考哪些图?
-
统一建模语言
UML
是用于描述、构造和文档化系统制品的可视化语言,UML
能够将分析与设计的结果可视化。UML
能够让开发人员与客户用图形的方式进行交流。
-
应用
UML
的方式:-
UML作为草图
非正式的、不完整的图,借助可视化语言的功能,用于探讨问题或者解决方案空间的复杂部分
-
UML作为蓝图
相对详细的设计图,用于:逆向工程,即以
UML
图的方式对现有代码进行可视化,使其易于理解 -
代码生成
UML
作为编程语言,可以完成软件系统可执行规格说明。
-
-
考试要考的图有:
用例图、静态图(类图、对象图、包图)、行为图(交互图、状态图、活动图)、实现图(构件图、部署图)
四、 从软件本质的角度,解释软件范围(需求)控制的可行性
- 软件的本质:复杂性、一致性、可变性、不可见性。
-
软件的复杂性:计算机存在很多种状态,使得软件的构思、描述以及测试都非常困难。同时软件系统状态比计算机状态多若干个数量级,这些元素以非线性递增的方式交互,因此整个软件复杂度要比非线性增长多得多。
-
软件的一致性:开发的软件必须遵循各种接口,软件开发的目标是兼容性,许多复杂性来自于其他接口的一致性。对软件的任何再设计,都无法简化这些复杂特性。
-
软件的可变性: 软件实体经常会遭受到持续的变更压力。软件产品扎根于文化的母体中,如各种应用、用户、自然及社会规律、计算机硬件等。后者持续不断的变化着,这些变化无情地强迫着软件也随之变化。
-
软件的不可见性:软件的客观存在不具有空间的形体特征。所以如果我们使用图形来描述软件结构时,这些图形可能代表控制流程、数据流、依赖关系、时间序列和名字空间的相互关系等。即使我们在结构的建立上强制将关联分,软件仍然保持着无法可视化的固有特性。
-
-
因此,软件范围管理是非常重要的,我们可以使用二八法则进行软件的范围控制。
范围控制,即监控项目的范围状态,管理范围变更。目的是在出现范围变更需求后,管理相关的计划、资源安排以及项目成果,使得项目各部分可以很好地配合在一起。 对于软件,因为其可变性,变更是不可避免的,为防止范围蔓延,在每个项目上,都必须强制实施软件的范围控制。范围控制的方式是通过变更控制系统和配置管理系统,当出现范围变更需求时,通常要执行一个严格的变更控制流程。
项目管理实践
五、看板使用练习(结合Git Project)
六、UML绘图工具练习
-
请在教材中选择一个类图,给出参考书页码和图号:
P182 图16-2
-
使用
UMLet
进行类图绘制: