软件工程概念.pdf
软件工程概念
第一章:软件定义
1.软件(Software):计算机系统中与硬件相互依存的另一部分,它是包括程序(Program),
数据(Data)及其相关文档(Document)的完整集合。
2.软件的特征:逻辑复杂,开发复杂,成本高,风险大,维护困难。
3.按软件功能分类:系统软件,支撑软件,应用软件。
系统软件:操作系统,数据库管理系统,设备驱动程序,通信处理程序等。
支撑软件:文本编辑程序,文件格式化程序,程序库系统等
应用软件:商业数据处理软件,工程与科学计算软件,计算机辅助设计/制造软件,系统仿
真软件,智能嵌入软件,医疗、制药软件,事务管理、办公自动化软件。
按软件规模分类:微型,小型,中型,大型,甚大型,极大型。
按软件工作方式分:实时处理软件,分时软件,交互式软件,批处理软件
4.软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题
5.软件危机主要是两个问题:1.如何开发软件,以满足对软件的日益增长的需求?2.如何维
护数量不断膨胀的已有软件?
5.软件危机的表现:1.成本高,开发成本估计不准确2.软件质量不高、可靠性差3.进度难以
控制4.维护非常困难5.用户不满意6.由于软件质量问题导致失败的软件项目非常多。
6.产生软件危机的原因:1.与软件本身的特点有关2.与软件开发与维护的方法不正确有关.
软件工程学的目的:以较低的成本研制具有较高质量的软件
软件工程技术的两个明显特点:1.强调规范化2.强调文档化
软件工程的基本原理(7条):1.用分阶段的生命周期计划严格管理2.坚持进行阶段评审3.实
严格的产品控制4.采用现代程序设计技术5.结果应能清楚地审查6.开发小组的人员应该少
而精7.承认不断改进软件工程实践的必要性
8.软件工程方法学包含3个要素:方法、工具和过程
9.软件生命周期:软件定义(问题定义,可行性研究,需求分析),软件开发(总体设计,
详细设计,编码和单元测试,集成测试),运行维护(持久满足用户需求)
10.软件过程模型:瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型。
11.软件过程模型RUP:初始阶段,细化阶段,构造阶段,移交阶段
第二章:可行性研究的任务
1.可行性研究的五个方案:技术可行性,经济可行性,操作可行性,法律可行性,社会效益
2.可行性研究过程:1.复查系统规模与目标、2.研究目前的系统、3.导出新系统的高层逻辑
模型、4.进一步定义问题、5.导出和评价供选择的解法、6.推荐行动方针、7.草拟开发
计划、8.书写文档提交审查
3.系统流程图:用来描述物理系统的工具。
4.系统流程图表达:是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控
制过程。即:系统流程图≠程序流程图。
5.系统流程图的基本思想:用图形符号以黑盒子形式描绘组成系统的每个部件
6.系统流程图元素:处理,输入输出,连接,换页连接,数据流。
7.数据流图:用来描述逻辑系统的工具。
数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受
的变换,即数据流图描绘数据在软件中流动和被处理的逻辑过程。
8.数据流图四种基本符号:数据加工/处理/变换,数据源点或终点(外部实体),数据存储,
数据流。
9.数据字典的组成:数据流,数据流分量(数据元素),数据存储,处理。
10.数据元素:顺序,选择,重复,可选。
第三章:需求分析
1.需求分析:软件定义时期的最后一个阶段,
2.需求分析的基本任务:不是确定系统怎样完成它的工作,而是确定系统必须完成哪些工作,
也就是对目标系统提出完整、准确、清晰、具体的要求。
3.软件需求的组成:业务需求,用户需求,系统需求。
4.需求分析方法:面向数据流的结构化分析方法(SA),面向对象的分析方法(OOA)等
5.逻辑模型:数据流图(DFD),数据字典(DD),实体-关系图(ERD),状态转换图(STD)
6.物理模型:系统流程图,
7.需求分析的基本思想:“自顶向下,逐步求精”,抽象和分解
8.需求分析;功能模型—数据流图,数据模型—实体-关系图,行为模型—状态转换图
9.实体-关系图(ERD):描述数据对象及数据对象之间的关系
10.