软件工程的发展与开发毕业论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程的发展与开
发毕业论文
目录
第1章软件工程概述 (1)
1.1 软件 (1)
1.1.1软件的发展 (1)
1.1.2软件定义 (2)
1.1.3软件的特点 (2)
1.1.4软件的分类 (4)
1.2 软件工程概念 (6)
1.2.1软件危机与软件工程定义 (6)
1.2.2软件工程的基本容与目标 (10)
1.2.3软件工程的原则 (10)
1.3 软件生存周期与软件开发模型 (11)
1.3.1软件生存周期 (11)
1.3.2软件开发模型 (12)
第2章可行性研究 (19)
2.1 问题定义 (19)
2.2 可行性研究 (19)
2.2.1方法、步骤 (19)
2.2.2文档编写 (25)
第3章需求分析 (28)
3.1 需求分析的方法步骤 (28)
3.2 数据流图的分析与细化 (28)
3.3 需求规格说明的编写 (29)
第4章概要设计 (31)
4.1 概要设计的任务与步骤 (31)
4.2 软件设计的概念与原则 (31)
4.2.1模块化 (31)
4.2.2抽象与逐步求精 (31)
4.2.3信息隐蔽和局部化 (32)
4.2.4模块独立性 (33)
4.2.5结构设计原则 (36)
4.2.6概要设计文档 (37)
第5章详细设计 (39)
5.1 详细设计的任务与原则 (39)
5.2.1详细设计的任务 (39)
5.2.2详细设计的原则 (39)
5.2 详细设计的方法 (39)
5.2.1程序流程图 (40)
5.2.2N-S图 (41)
5.2.3伪代码 (41)
5.3 详细设计说明书 (42)
第6章编码 (44)
6.1 程序设计语言 (44)
6.1.1程序设计语言分类 (44)
6.1.2程序设计语言的选择 (44)
6.2 编码风格 (45)
6.2.1源程序文档化 (45)
6.2.2数据说明 (49)
6.2.3语句结构 (49)
6.2.4输入/输出(I/O) (52)
6.3 程序效率 (52)
6.3.1有关程序效率的几条准则 (52)
6.3.2算法对效率的影响 (53)
6.3.3影响存储器效率的因素 (53)
6.3.4影响输入/输出的因素 (53)
6.4 编程安全 (54)
6.4.1冗余程序设计 (54)
6.4.2防错程序设计 (54)
第7章软件质量与质量保证 (56)
7.1 软件质量的定义 (56)
7.2 影响软件质量的因素 (57)
7.3 软件质量保证策略 (58)
7.4 软件质量保证活动 (58)
7.5 软件评审 (59)
7.5.1设计质量的评审容 (60)
7.5.2程序质量的评审容 (61)
7.6 软件质量保证的标准 (62)
7.7 软件测试计划与测试分析报告 (63)
第8章项目计划与管理 (65)
8.1 软件项目特点、管理的特殊性及软件管理功能 (65)
8.1.1软件项目的特点 (65)
8.1.2软件管理的功能 (66)
8.1.3确定软件项目的工作围 (66)
8.2 确定软件开发所需的资源 (66)
8.2.1人力资源 (67)
8.2.2硬件 (67)
8.2.3软件 (67)
8.3 人员的计划和组织 (68)
8.4 成本估计及控制 (69)
8.4.1软件开发成本估计方法 (69)
8.4.2专家判定技术 (69)
8.4.3成本估算模型 (70)
8.5 进度计划 (72)
8.5.1软件工作的特殊性 (72)
8.5.2各阶段工作量的分配 (72)
8.5.3制定开发进度 (73)
8.6 软件配置管理 (74)
8.6.1基线 (74)
8.6.2软件配置项 (75)
8.6.3软件配置管理过程 (76)
8.7 软件管理方案 (79)
第1章软件工程概述
1.1软件
软件是一种产品,同时又是开发和运行产品的载体。作为一种产品,它表达了由计算机硬件体现的计算潜能。不管他是驻留在设备中,还是在主机中,软件是一个信息转换器,能够产生、管理、获取、修改、显示或转换信息。这些信息可以很简单,如一个比特,也可能很复杂,如多媒体信息。作为开发运行产品的载体,软件是计算机工作和信息通信的基础,也是创建和控制其它程序的基础。
信息是21世纪最重要的产品,软件充分地体现了这一点。软件处理数据,使得这些数据更为有用。软件管理商业信息增强了商业竞争力,它不仅提供了通往全球信息网络的途径,而且提供了以各种形式获取信息的手段。
1.1.1软件的发展
1.程序设计阶段
在计算机发展早期阶段(20世纪50年代初至60年代中期)为程序设计阶段。在这个阶段,硬件已经通用化,而软件的生产却是个体化的。这时,由于程序规模小,几乎没有什么系统化的方法可遵循。对软件的开发没有任何管理方法,一旦计划推迟了或者成本提高了,程序员才开始弥补。在通用的硬件已经非常普遍的时候,软件却相反,对每一类应用均需要自行再设计,应用围很有限。软件产品处在初期阶段,大多数软件都是由使用者自己开发。设计往往是人们头脑中的一种模糊想法,而文档就根本存在。
2.程序系统阶段
计算机系统发展的第二个阶段(60年代中期到70年代末期)为程序系统阶段。多道程序设计和多用户系统引入了人机交互的新概念。交互技术打开了计算机应用的新世界,以及硬件和软件配合的新层次,实时系统和第一代数据库管理系统相继出现。这个阶段还有一个特点就是软件产品的使用“软件作坊”的出现。被开发的软件可以在较宽广的围中应用。主机和微机上的程序能够有数百甚至上千用户。
在软件的使用中,当发现错误时需要纠正程序源代码;当用户需求发生变化时需要修改;当硬件环境变化时需要适应;这些活动统称为软件维护。在软件维护上所花费的精力和消耗的资源的速度是惊人的。更为严重的是,许多程序的个人化特性使得他们根本不可能维护。“软件危机”——在计算机软件的开发和维护过程中所遇到的一系列严重问题出现了。有人曾把这一阶段软件的开发和维护工作比作“陷进泥潭的牛所进行的挣扎一样”。1968年北大西洋公约组织的计算机科学家在联邦德国召开关机会议,讨论软件危机问题,并正式提出了“软件危机”这个名词。
3.软件工程阶段
计算机系统发展的第三个阶段始于20世纪70年代中期并经历了近10年,成为软件工程阶段。在这一阶段,以软件的产品化、系列化、工程化、标准化为特征的软件产业发展起