计算机复习9.25

软件危机:在计算机软件开发和维护过程中所遇到的一系列严重问题

软件危机主要表现:对软件开发成本和进度估计不准确,软件质量靠不住,软件不可维护及没有适当的文档资料,用户对已完成的软件系统不满意

软件危机爆发的主要原因

软件,作为逻辑部件,很难检验开发的正确性且开发的质量

软件开发的过程是多人分工,分阶段完成的。人员之间的沟通和配合十分重要

开发人员只重视开发而轻视问题的定义

缺乏完整的一致的文档资料

在软件的开发和维护关系问题上存在错误的观念,认为软件维护工作通常在软件完成之后进行

软件工程的基本原理

用分阶段的生命周期计划严格管理

坚持进行阶段评审

实行严格的产品控制

采用现代程序设计技术

结果应能清楚的审查

开发小组人员应该少而精

承认不断改进软件工程实践的必要性

软件生命周期

软件定义:确定软件开发必须完成的总目标和可行性,导出实现工程目标应该采用的策略及系统必须完成的功能,估计完成该项工程需要的资源和成本

软件定义分三个阶段:问题定义,可行性研究,需求分析

软件开发:具体设计和实现在前一个时期定义的软件,分为四个阶段:总体设计,详细设计,编码,测试

软件维护:使软件持久的满足用户的需要,主要包括改正错误,改进软件适应新的环境和满足用户的新需要

问题定义:要解决的问题是什么

可行性研究:对于上一个阶段所确定的问题有行得通得解决办法吗?

需求分析:确定目标系统所具备得哪些功能

总体设计:概括地说明,应该如何解决这个问题

详细设计:应该怎么样具体实现这个系统

编码和单元测试:关键任务是写出正确得容易理解,容易维护的程序模块

综合测试:关键任务是通过各种类型的测试使软件达到预定的要求(集成测试和验收测试)

软件维护:关键任务是通过各种必要的维护活动使得持久的满足用户的需求

四类维护活动:改正性维护,适应性维护,完善性维护,预防性维护

软件工程方法:结构化方法,面向对象方法

软件工程方法包括三要素:方法,工具,过程

结构化方法

按照用户至上的原则,结构化,模块化,自顶向下地对系统进行分析与设计

结构化方法主要特点:

自顶向下整体的分析与设计和自底向上逐步实施的系统开发过程

用户至上

深入调查研究

严格区分工作阶段

充分预计可能发生的变化

开发过程工程化

面向对象方法

一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法

面向对象方法的优点

与人类习惯思维方法一致,使用者和维护人员都容易理解

稳定性好,对软件的局部进行修改时,不会引起整体的变化

面向对象方法的可重用好,把大问题分解成小问题

软件生存期模型:软件开发和演绎中各阶段的次序限制以及各阶段的准则

瀑布模型:按工序将问题化简,采用结构化的分析与设计方法将功能设计与实现分开,是一种线性顺序模型

阶段具有顺序性和依赖性

推迟实现:在编码之前设置了系统分析和系统设计的各个阶段,各个阶段主要考虑目标系统的逻辑模型,不涉及软件的物理实现

质量保证:每个阶段必须完成规定的文档

实际的瀑布模型是可以进行反馈的,但仅限于相邻阶段的反馈

增量模型:系统的开发是建立一系列的版本(增量),每个版本添加部分功能到先前的版本,第一个增量往往是核心的产品

优点:

能在较短时间内向用户提交可以完成一些有用的工作的产品

逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品

项目失败的风险较低

优先级最高的服务首先交付

快速原型模型:在开发真实系统之前,快速构造一个原型,通过逐步调整原型使其满足用户的要求,开发人员可以确定用户的真正需求是什么

喷泉模型:以用户需求为动力,以对象为驱动的模型

优点:各个阶段没有明显的界限,开发人员可以同步进行开发

缺点:各个开发阶段是重叠的,开发过程中需要大量的开发人员,不利于项目的管理,这种模型要求严格管理文档

螺旋模型:引入风险分析

缺点:只适用于大规模软件项目

统一过程:以用例驱动,以体系结构为核心,迭代及增量的软件开发过程

初始阶段 细化阶段 构建阶段 转换阶段

敏捷开发原则

快速迭代

让测试人员与开发者参与需求讨论

编写可测试的需求文档

多沟通,尽量减少文档

做好产品原型

尽早考虑测试

敏捷开发对团队要求:自主管理,自我组织,多功能型

可行性研究三个方面

技术可行性

采集影响系统性能,可靠性,可维护性方面的信息

论证实现系统功能和性能需要的各种设备,技术,方法和过程

分析项目开发在技术上担负的风险,以及开发成本的影响

经济可行性

项目开发成本受到项目的特性,规模等因素制约,估算成本和利润

法律可行性

需求分析

获取需求,分析需求,定义需求,验证需求

需求获取涉及到客户,用户和开发方,客户为软件投资方,用户为软件使用者

需求获取的任务:沟通,数据,过程,接口,文档化

需求获取的原则:深入浅出,以流程为主线

需求获取的过程

结构化分析方法:是面向数据流进行需求分析的方法。

结构化分析的框架主要包括功能建模(数据流图),数据建模(实体-关系模型),行为建模(状态转换图)以及框架核心(数据字典)

数据流图的基本符号

椭圆形或圆角矩形表示数据加工,其中要注明加工的名字,需要使用动词性短语

长方形或长方体表示外部实体,其中要注明数据源或数据汇点的名字

双横线或右开口长方形表示数据存储,要用名词或用名词性短语为其命名

箭头表示数据流,即被加工数据和传递方向,要用名词或名词性短语为其命名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值