软件的本质与软件工程科学
- 简答题
-
- 用简短的语言给出对分析、设计的理解。
- 用一句话描述面向对象的分析与设计的优势。
- 简述 UML(统一建模语言)的作用。考试考哪些图li>
- 从软件本质的角度,解释软件范围(需求)控制的可行性
- 项目管理实践
-
- 看板使用练习软件危机的本质原因是计算机的发展。软件具有复杂性、一致性、不可变性、可视性的本质特点,落后的软件生产方式无法满足计算机的迅速发展。
- UML绘图工具练习
简答题
用简短的语言给出对分析、设计的理解。
分析 就是对软件产品的需求、可行性进行分析。确定要做什么功能,需要什么成本,承担什么风险,能否成功,有怎样的收益,值不值得这么做。
设计 是在软件产品完成分析阶段并决定继续开发之后,将更加实际地、系统地、细致地考虑和规划实现层面的细节,比如确定要用什么样的系统架构,什么样的管理体系,接口怎么设计,模块怎么分工等。
用一句话描述面向对象的分析与设计的优势。
让分析与设计更简单、容易理解,提高软件成品质量,减小维护成本。
简述 UML(统一建模语言)的作用。考试考哪些图h2>
- UML作用主要是协助软件需求分析和软件设计,用简洁的语言描述类属性、类方法以及类与类之间的关系,简化分析与设计过程且逻辑清晰。
- 用例图:用户角度:功能、执行者
- 静态图:系统静态结构
- 类图:概念及关系
- 对象图:某种状态或时间段内,系统中活跃的对象及其关系
- 包图:描述系统的分解结构
- 行为图:系统的动态行为
- 交互图:描述对象间的消息传递
- 顺序图:强调对象间消息发送的时序
- 合作图:强调对象间的动态写作关系
- 状态图:对象的动态行为。状态 – 事件 – 状态迁移 – 响应动作
- 活动图:描述系统为完成某功能而执行的操作序列
- 实现图:描述系统的组成和分布状况
- 构件图:组成部件及其关系
- 部署图:物理体系结构及与软件单元的对应关系
- 类图:概念及关系
- 对象图:某种状态或时间段内,系统中活跃的对象及其关系
- 包图:描述系统的分解结构
- 交互图:描述对象间的消息传递
- 顺序图:强调对象间消息发送的时序
- 合作图:强调对象间的动态写作关系
- 状态图:对象的动态行为。状态 – 事件 – 状态迁移 – 响应动作
- 活动图:描述系统为完成某功能而执行的操作序列
- 构件图:组成部件及其关系
- 部署图:物理体系结构及与软件单元的对应关系
从软件本质的角度,解释软件范围(需求)控制的可行性
软件的本质决定了软件开发的难度,Brook总结软件本质特性为:复杂性(complexity)、一致性(conformity)、可变性(changeability)、不可视性(invisibility)。
在实际软件项目中,即使在有明确的软件开发合同条件下,这四个约束并不是不可商量的。原因在于软件生产是易变、不可见、独特的智力生产!因为我们并不能如生产肥皂、衣服一样先给一个样品参考标准,甚至在项目开完成也无法写出完善的软件需求规格说明书。已 word 为例,设计师并不完全知道客户真需要什么,会在哪些场景中使用它,除了等待客户反馈,迭代升级,别无其他的方法。
从提升客户满意度的角度,了解并控制这四个元素就是 软件项目成功的关键。
- 工期,软件项目刚性约束。多数情况下,软件的按时投产意味着收益或成本降低
- 预算,软件项目重要约束。它与工期一样,最容易观察与度量,所以没有特别情况也不宜超预算
- 质量,软件质量通常是有底线的。一些指标如可靠性、性能等,比较难以商量;另一些指标如易用性似乎相对灵活,但用户满意度对此特别敏感
- 范围,在多数情况下,客户与开发者能就项目的 20% 内容给出严格的需求约定,80% 的内容都是相对模糊的。因此,围绕客户目标,发现并满足客户感兴趣的内容是最关键的。以 Office 产品为例,早期的版本的功能没有现在版本的 1% ,但这并不会妨碍它的成功。在当年并没人预见到 Office 会有如此多功能,使用者也不会因罗列诸多功能的产品感兴趣,感兴趣的往往是当时背景下最能创造价值的几个特性。
Scope = Time × Resources,在项目管理中称为 STR 模型。
由于软件本身的复杂性、不可见性、不一致性、可变性,软件范围多数情况下对于客户和开发者都是模糊的,这形成软件产品与其他产品不同的开发过程。因此,范围管理是软件项目管理的重中之重!
项目管理实践
看板使用练习软件危机的本质原因是计算机的发展。软件具有复杂性、一致性、不可变性、可视性的本质特点,落后的软件生产方式无法满足计算机的迅速发展。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!