高校软件工程期末复习——ICONIX

ch01

软件工程危机

  • 定义

软件在开发和维护过程中遇到的一系列严重的问题

  • 含义

如何开发软件何维护数量不断膨胀的已有软件/p>

  • 原因

  1. 客户对软件需求的描述不精确,可能有遗漏、有二义性、有错误,在软件开发过程中,用户提出修改软件功能、界面、支撑环境等方面的要求。
  2. 软件开发人员对用户需求的理解与用户的本来愿望有差异。不能有效地、独立自主地处理大型软件的全部关系和各个分支,因此容易产生疏漏和错误。

  3. 管理人员、软件开发人员等各类人员的信息交流不及时、不准确、有时还会产生误解。

  4. 缺乏有力的方法和工具方面的支持,过分地依靠程序人员在软件开发过程中的技巧和创造性,加剧软件产品的个性化。

  • 表现(理解即可)

(1)软件开发的进度难以控制,经常出现经费超预算、完成期限拖延的现象。

(2)软件需求在开发初期不明确,导致矛盾在后期集中暴露,从而对整个开发过程带来灾难性的后果。

(3)软件文档资料不完整、不合格。由于缺乏完整规范的资料,加之软件测试不充分,从而造成软件质量低下。

(4)软件的可维护性差,程序错误难以改正,程序不能适应硬件环境的改变。

(5)软件价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升。

软件工程学

  • 存在的价值

克服软件危机,促进软件项目的成功

软件工程

  • 定义

研究和应用如何以系统化的、规范的、可度量的方法开发、运行和维护软件,即将工程化应用到软件上

  • 研究目标

  1. 软件开发成本降低
  2. 软件功能能满足用户需要
  3. 软件可靠性高
  4. 软件性能好
  5. 按时完成开发任务,并及时交付使用
  6. 软件易于使用、维护和移植

软件生存周期

  • 定义

软件产品从考虑其概念开始到该产品交付使用,直至最终退役为止的整个过程。一般包括6个过程:计划、分析、设计、实现、测试、交付与维护

  • 各个阶段的主要任务

1.计划阶段

确定待开发系统的总体目标和范围。

研究系统的可行性和可能的解决方案,对资源、成本及进度进行合理的估算。

2.分析阶段

分析、整理和提炼所收集到的用户需求,建立完整的分析模型,将其编写成软件需求规格说明和初步的用户手册。

3.设计阶段(总体设计和详细设计)

设计阶段的目标是决定软件怎么做。

软件设计主要集中于软件体系结构、数据结构、用户界面和算法等方面。

4.实现阶段(编码)

实现阶段是将所设计的各个模块编写成计算机可接受的程序代码。

5.测试阶段

设计测试用例,对软件进行测试,发现错误,进行改正。

6.运行和维护阶段

应当在软件的设计和实现阶段充分考虑软件的可维护性。

维护阶段需要测试是否正确地实现了所要求的修改,并保证在产品的修改过程中,没有做其他无关的改动。

开发模型

  • 瀑布模型

  • RUP统一软件过程

  • ICONIX过程

  • scrum敏捷开发

  • 统一建模语言

ch02 

ch05

  • 健壮性分析的优点

  1. 将用例和对象连接起来
  2. 确保用例文本的正确性
  3. 能够持续发现对象
  4. 缩小分析和设计的鸿沟
  • 健壮性分析图三种元素

                   边界类                                  实体类                                     控制器类

高校软件工程期末复习——ICONIX
  •  交互原则

  1. 执行者只可以和边界通话
  2. 边界对象和控制器可以互相通话
  3. 控制器可以和另一个控制器通话
  4. 实体类对象可以和控制器相互通话
  • 健壮性分析图

高校软件工程期末复习——ICONIX

 ch06

  • 关键设计的四个步骤 

  1. 将现有的域模型直接作为第一版静态类图
  2. 基于用例描述和健壮性分析结果,画出每个用例的序列图
  3. 整理静态类图和序列图
  4. 关键设计复核,迭代更新用例图、类图和序列图
  • 注意

健壮性图中的控制类会转化为方法。如果也转化为控制类,那么就添加到类图中(一般的边界类不添加到类图中)

  • 画图时控制器类的转换

  1. 逐步贯穿健壮性图上的每一个控制器,每次一个,画出序列图上相应的方法,然后核对,移至下一个控制器。

  2. 控制器和方法之间并不一定是完全一对一匹配的,也可能会转化为两个或多个方法。

  3. 有时,控制器也可能会转换为一个真正的控制类。

  • 用例序列图

高校软件工程期末复习——ICONIX
  • 注意

关键设计的复核阶段不需要甲方人员的参与 

ch07

  • 详细设计的内容

选择开发语言

网络拓扑及安全

体系结构

硬件支持环境

软件支持环境

来源:好难啊啊啊a

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年2月5日
下一篇 2022年2月5日

相关推荐