软件工程概论样本

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程

1、软件危机:软件危机是指在计算机软件开发和维护过程中遇到一系列严重问题。包括两方面问题:(1)如何开发软件,以满足对软件日益增长需求;(2)如何维护数量不断膨胀已有软件。

2、软件危机重要体现:

(1)对软件开发成本和进度预计经常很不精确;

(2)顾客对“已完毕”软件系统不满意现象经常发生;

(3)软件产品质量往往靠不住;

(4)软件经常是不可维护;

(5)软件普通没有恰当文档资料;

(6)软件成本在计算机系统总成本中所占比例逐年上升;

(7)软件开发生产率提高速度,远远跟不上计算机应用迅速普及进一步趋势。

3、产生软件危机因素

(1)从软件特点上看,软件是逻辑部件,不是物理部件;

(2)软件是很大程序,复杂且有诸多技术问题,但缺少严格而科学管理;

(3)软件参加人员多且成分复杂(需求人员,开发人员,顾客,维护人员等);

(4)在软件实践过程中或多或少采用错误(但当时无法知晓)办法和技术(这是重要因素)

4、消除软件危机途径

(1)一方面应当对计算机软件有一种对的结识;

(2)更重要是,必要充分结识到软件开发不是某种个体劳动神秘技巧,而应当是一种组织良好、管理严密、各类人员协同配合、共同完毕工程项目;

(3)应当推广使用在实践中总结出来开发软件成功技术和办法,并且研究摸索更好更有效技术和办法,尽快消除在计算机系统初期发展阶段形成某些错误概念和做法;

(4)应当开发和使用更好软件工具

总之,为理解决软件危机,既要有技术办法(办法和工具),又要有必要组织管理办法。

5、软件工程:软件工程是从管理和技术两方面研究如何更好地开发和维护计算机软件一门新兴学科。(1)1968年NATO会议:软件工程就是为了经济地获得可靠且能在实际机器上有效地运营软件,而建立和

使用完善工程原理。

(2)1993IEEE定义:软件工程是①把系统、规范、可度量途径应用于软件开发、运营和维护过程,也就是把工程应用于软件;②研究①中提到途径。

6、软件工程本质特性

(1)软件工程关注于大型程序构造;

(2)软件工程中心课题是控制复杂性;

(3)软件经常变化;

(4)开发软件效率非常重要;

(5)和谐地合伙是开发软件核心;

(6)软件必要有效地支持它顾客;

(7)在软件工程领域中普通由具备一种文化背景人替具备另一种文化背景人创造产品。

7、软件工程基本原理

(1)用分阶段生命周期筹划严格管理

(2)坚持进行阶段评审

(3)实行严格(阶段性)产品控制

(4)采用当代程序设计技术

(5)成果应能清晰地审查

(6)开发小组人员应当少而精

(7)承认不断改进软件工程实践必要性

8、软件生命周期:一种软件从定义、开发、使用和维护,直到最后被废弃,所历经一种漫长时期。涉及:可行性分析和项目开发筹划,需求分析,概要设计,详细设计,编码,测试,维护。

(1)软件定义时期:拟定软件开发工程必要完毕总目的;拟定工程可行性;导出实现工程目的应当采用有关方略及系统必要完毕功能;预计完毕该项工程需要资源和成本,并恰当预计完毕进度表。

(2)软件开发时期:总体设计;详细设计;编码和单元测试;综合测试。

(3)软件维护时期:重要任务是使软件更持久地满足顾客需要。详细地说,当软件在使用过程中发现错误时应当加以改正;当环境变化时应当修改软件以适应新环境;当顾客有新规定期应当及时改进软件以满足顾客新需要。

9、软件生命周期每个阶段基本任务

(1)问题定义:“要解决问题是什么?”;

(2)可行性研究:“对于上一种阶段所拟定问题有行得通解决方案吗?”

(3)需求分析:“为理解决这个问题,目的系统必要做什么。”

(4)总体设计:“概括地说,应当如何实现目的系统?”

(5)详细设计:“应当如何详细地实现这个系统呢?”

(6)编码和单元测试:核心任务是写出对的容易理解、容易维护程序模块。

(7)综合测试:核心任务是通过各种类型测试(及相应调试)使软件达到预定规定。

(8)软件维护:通过各种必要维护活动使系统持久地满足顾客需要。

10、什么是软件生命周期模型?有哪些重要模型?

(1)生存周期模型:描述软件开发过程中各种活动如何执行模型。对软件开发提供强有力支持,为开发过程中活动提供统一政策保证,为参加开发人员提供协助和指引,是软件生存周期模型化技术基本,也是建立软件开发环境核心。

(2)重要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识模型,变换模型。

11、可行性研究任务:用最小代价在尽量短时间内拟定问题与否可以解决。

技术可行性;经济可行性;操作可行性;法律、社会效益、道德、政治等诸多方面因素。

12、可行性研究过程环节:

(1)复查系统规模和目的

(2)研究当前正在使用系统

(3)导出新系统高层逻辑模型

(4)进一步定义问题

(5)导出和评价供选取解法

(6)推荐行动方针

(7)草拟开发筹划

(8)书写文档提交审查

13、可行性分析报告重要内容:

项目背景;客户需求;商务前景;市场筹划;技术方案;实行周期;财务分析;风险管理。

14、数据流图(DFD):以图形方式描述数据在系统中流动和解决过程。只反映系统必要完毕逻辑功能,是一种功能模型。

15、画数据流图应注意事项:

(1)命名:不能使用缺少详细含义名字,加工名应能反映出解决功能。

(2)画数据流而不是控制流,普通不画物质流。

(3)每个加工至少有一种输入数据流和一种输出数据流,反映出此加工数据来源与加工成果。

(4)编号:子图应编号子图上所有加工也应编号,子图编号应与父图编号相相应。

(5)父图与子图平衡:子图输入输出数据流同父图相应加工输入输出数据流必要一致。

(6)局部数据存储。

(7)注意数据流图易理解性。

16、数据字典:数据字典是关于数据信息集合,也就是对数据流图中包括所有元素定义集合。内容:数据流;数据流分量(即数据元素);数据存储;解决。

17、需求分析任务

(1)拟定对系统综合规定

(2)分析系统数据规定

(3)导出系统逻辑模型

(4)修正系统开发筹划

18、软件设计目的和任务:依照用信息域表达软件需求,以及功能和性能需求,进行

数据设计、系统构造设计、过程设计、界面设计。

19、什么是软件概要设计?该阶段基本任务是什么?

(1)把一种软件需求转换为软件表达时,一方面设计出软件总体系构造。称为概要设计或构造设计。(2)基本任务:①设计软件系统构造②进行数据构造及数据库设计③编写概要设计文档④评审。

20、总体设计(概要设计)原理:

(1)模块化:把程序划提成若干个模块,每个模块完毕一种子功能,把这些模块集总起来构成一种整体,可以完毕指定功能,满足问题功能。

(2)抽象:抽出事物本质特性而暂时不考虑它们细节。

(3)逐渐求精

相关文档
最新文档