Chapter 1 软件的本质

说在前面:
本复习专题使用教材为SoftwareEngineering-APractitioner’sApproach.8thEdition.RogerPressman原版,涉及第一、二两部分,即并不包括软件设计之后的内容。除此之外,第七章各种原则以及用户界面部分不考没整理,适合TJU软件专业的同学参考复习。
300页浓缩成48页,基本覆盖考试范围,博主已拿优。
选择题部分考查基础知识,像软件的定义这种分几点的,多选题。
解答题部分考查结合例子描述一些过程,比如Scrum,描述一些概念,比如Web App/Mobile App的几个输出模型。
综合题考查情景设计,画状态图、类图,设计构件等。
整体笔记可点击查看石墨文档SE笔记。
下面开始正式笔记。

定义软件??

  • 指令的集合(计算机程序),通过执行这些指令可以满足预期的特性、功能和性能需求
  • 数据结构,使得程序可以合理利用信息
  • 软件描述信息,它以硬拷贝和虚拟形式存在,用来描述程序的操作和使用,例如文档。

软件退化(deteriorate)

硬件失效曲线图??

Idealized curve表明:未知的缺陷将在程序生命周期的前期造成高失效率。然而随着错误的纠正,曲线将如图中所示趋于平缓。“理想曲线”只是软件实际失效模型的粗略简化。曲线的含义很明显——软件不会磨损,但是软件退化的确存在。

Acrual curve表明:在完整的生命周期里,软件将会面临****变更,每次变更都可能引入新的错误,使得失效率像Actual curve那样陡然上升。在曲线回到最初的稳定失效率状态前新的变更会引起曲线又一次上升。就这样,最小的失效率点沿类似于斜线的形状逐渐上升

不断的变更是软件退化的根本原因

软件分类

  • 系统软件
  • 应用软件
  • 工程/科学软件
  • 嵌入式软件
  • 产品线软件
  • Web/移动App
  • 人工智能软件

遗留软件

  • 特点
    • 生命周期长
    • 业务关键性
    • 质量差
  • 演化原因
    • 软件需要进行适应性调整,从而可以满足新的计算环境或者技术的需求
    • 软件必须升级以实现新的商业需求
    • 软件必须扩展以使之具有与更多新的系统和数据库的互操作能力。
    • 软件架构必须进行改建以使之能适应不断演化的计算环境

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

上一篇 2021年1月18日
下一篇 2021年1月18日

相关推荐