System-Analysis-hw2
Contents
简答题
用简短的语言给出对分析、设计的理解。
- 分析:
分析强调对问题和需求的 调查研究 而非解决方案。主要着重于 客户的需求 以及 软件的可行性 进行针对性分析。
- 设计:
设计强调找出解决方案,把各项需求转换成软件的体系结构。具体到使用什么样的框架,类图,序列图,状态图要怎样构成等。
用一句话描述面向对象的分析与设计的优势。
最主要的优势在于抽象与结构化,可以在分析和设计的阶段从更高的层面去看待整个问题,而不是陷入细节中,另外面向对象可以很好的为现实中的问题建立模型。
简述 UML(统一建模语言)的作用。考试考哪些图?
UML 是什么
要了解这个的作用需要首先了解这是一个什么东西,根据百科上的描述:
The Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
关键的地方在于 unified ,提供了一种标准的方式,来为系统建模,另外 modeling 强调了 可视化(visualze)。
UML 的作用
UML统一了各种方法对不同类型的系统、不同开发阶段以及不同内部概念的不同观点,从而有效的消除了各种建模语言之间不必要的差异。
UML建模能力比其它面向对象建模方法更强。它不仅适合于一般系统的开发,而且对并行、分布式系统的建模尤为适宜。
使用UML使硬件组件和软件组件之间将会有更大的透明度。便携性和综合效率将会增加。
考试要考的图
用例图
静态图(类图、对象图、包图)
行为图(交互图、状态图、活动图)
实现图(构件图、部署图)。
从软件本质的角度,解释软件范围(需求)控制的可行性
软件的本质
在 SEBOK 中提及到了软件的本质是什么
The nature of the software medium has many consequences for systems engineering (SE) of software-intensive systems. Fred Brooks has famously observed that four properties of software, taken together, differentiate it from other kinds of engineering artifacts (Brooks 1995).
总结以下就是以下四点:
complexity,
conformity,
changeability
invisibility.
软件范围(需求)控制的可行性
了解了软件工程的本质之后,可以看到软件范围控制是非常重要的,由于软件本身复杂性的特点,要进行范围控制也是有困难的。毕竟软件本身是一大特征就是变化。尽管如此,我们还是可以根据一些”法则”,来指导我们进行软件范围控制。
- 28 法则
在多数情况下,客户与开发者能就项目的 20% 内容给出严格的需求约定,80% 的内容都是相对模糊的。因此,围绕客户目标,发现并满足客户感兴趣的内容是最关键的。细化了20%的具体内容和有效需求后就能够满足客户80%的需求,从而有效控制软件需求。
- 了解和控制 scope, time, quality and budget 四个基本元素
项目的首要约束是 scope, time, quality and budget 四个基本元素,也称为项目管理三角模型。
- “先做到,再做好”
这是软件工程领域的经典语录,也适用于范围控制。体现在项目中就是各种 “迭代开发” 的模型。
项目管理实践
看板使用练习
使用 git project 进行看板练习。
(todo):小组作业
UML 绘图工具练习
绘制 教材(An Introduction to Object-Oriented Analysis and Design and Iterative Development) P8 中的一个 domain model of the dice game
,书中的内容如下所示:
通过 UMLet 对这个图进行模仿绘画,UMLet编写这个 domain model 挺方便的, UMLet 提供了一些常用的组件,直接使用属性,再更改对应的属性即可。
Author z1wu
LastMod 2019-03-18