系统分析与设计作业2
简答题
用简短的语言给出对分析、设计的理解
维基百科:
- 分析是将复杂的话题或事物逐渐拆分的过程,以此来达到对话题更好的理解。
- 设计指预先描绘出工作结果的样式、结构及形貌,通常要绘制图样。
我的理解:
- 分析是根据原理、经验、调查等方法等确定有效的需求、目标或问题。
- 设计是以满足需求或者能够解决问题为目标,对工作进行流程细分、结果描述和质量控制,最终得出完整可控的方法流程。
用一句话描述面向对象的分析与设计的优势
面向对象的分析与设计通过构建与真实世界相似的问题模型和对象,具有与人在世界中的思维方式相适应,便于理解,能够促进人员之间的交流,适应需求的变化,具有更强的复用能力和一致性的优点。
简述 UML(统一建模语言)的作用,考试考哪些图
UML 将分析和设计的结果可视化,将问题抽象成容易理解的可视化模型。
根据不同的用途,UML的作用也不尽相同:
- 作为草图:借助可视化语言的功能,用于探讨问题或解决方案空间的复杂部分;
- 作为蓝图:用于****,以UML图的方式对现有代码进行可视化和代码生成;
- 作为编程语言:用UML完成软件系统可执行规格说明;
UML图考以下四类:
- 用例图:用户角度包含功能和执行者。
- 静态图:系统静态结构,
- 类图:类的概念及关系,
- 对象图:某种状态或时间段内,系统中活跃的对象及其关系,
- 包图:描述系统的分解结构。
- 行为图:系统的动态行为,
- 交互图:描述对象间的消息传递,
- 顺序图:强调对象间消息发送的时序,
- 合作图:强调对象间的动态协作关系;
- 状态图:对象的动态行为。状态-事件-状态迁移-响应动作,
- 活动图:描述系统为完成某功能而执行的操作序列。
- 交互图:描述对象间的消息传递,
- 实现图:描述系统的组成和分布情况,
- 构件图:组成部件及其关系,
- 部署图:物理体系结构及与软件单元的对应关系。
从软件本质的角度,解释软件范围(需求)控制的可行性
计算机软件是于操作有关的程序、以及与之相关的文档集合。软件的本质决定了软件开发的困难,软件的本质包括复杂性 (complexity)、一致性 (conformity)、可变性 (changeability)、不可视性 (invisibility)。
需求的变更的原因可能会来自市场、管理、客户、软硬件工程环境和测试等方面,需求变更控制是指正确判断内在或外在原因的变更所带来的影响,并且调整开发过程以控制和适应这些变化。
需求变更控制的目的不是控制变更的发生,而是对变更进行管理,确保变更有序地进行。变更控制给项目风险承担者提供了正式的需求变更处理机制,通过这些处理机制,决策人就可以准确地分析需求变更给整个项目所带来的影响和波动,从而对需求变更进行判断以决定是否接受、拒绝或者延迟,最终确保项目开发范围可控。
由于软件的可变和不可视特性,软件的需求并不是一开始就全部确定的,在开发和维护期间会发生改变,不断进行更新,从而满足用户的需求。根据2/8法则,产品在初始阶段只需要用20%的关键需求来打开市场,在之后才会进行完善,这也是符合用户的使用心理和市场规律的。所以软件需求控制就是可行的,只要能很好地细化20%的有效要求,就能满足80%的客户需要。整个团队就能更少的付出,更多的收获。
项目管理实践
下图显示了我小组“正弦前”项目第二周的 Github Project 看板界面。
使用 UMLet UML 绘图工具练习
《UML和模式应用(原书第3版)》P6 图1-3