前言:
软件工程,新的东东,新的接触,越是没有接触过的东东越是在里边找你想得到原来不知道的东东。第一章是软件+软件工程。
内容:
软件:
定义:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。
.程序是按事先设计的功能和性能要求执行的指令序列。
.数据是使程序能正常操纵信息的数据结构。
.文档是与程序开发,维护和使用有关的图文材料。
特点:
.软件是一种逻辑实体,而不是具体的物理实体。抽象性。
.软件的生产没有明显制造过程
.软件运行使用时没有磨损,折旧。
.软件的开发依赖硬件的发展,受系统的限制。
.软件的开发未摆脱手工的开发方式。
.软件本身是复杂的
.实际问题的复杂性
.程序逻辑结构的复杂性
.成本昂贵
.社会因素
分类:
.按功能划分:系统软件
支撑软件
应用软件
.按规模划分:根据参加人员+期限+源程序行分的微型、小型、中型、大型。。。
.按工作方式划分:
.实时处理软件:在事件或数据发生时处理,及时返回信号。
.分时软件:多用户同时工作时
.交互软件:人机通信,
.批处理软件:把一组作业提前排好队,再让电脑操作。 想起操作系统来了。
.按服务对象的范围划分:
.项目软件:收人委托,并有合同的。不易盈利为目的的
.产品软件:开发完直接推向市场。以盈利为目的。
.按使用频度划分:
.一次使用
.频繁使用
.按失效影响划分:
.高可靠性软件
.一般可靠性软件
周期:
一个软件从定义到开发、使用和维护,直到最终被废弃。(从研制到停止使用)
危机:
软件危机指的是软件开发和维护过程中遇到的一系列严重问题。
发展阶段:
程序设计阶段——程序系统阶段——软件工程阶段
软件工程:
三要素:方法、工具和过程
软件工程过程:
.软件规格说明:规定软件的功能及其运行的限制 (计划)(P)
.软件开发:产生满足规格说明的软件 (实施)(D)
.软件确认:确认软件能够完成客户提出的要求 (维护)(C)
.软件的改进 (A)
分析
1制定计划:
.确定总目标
.给出功能、性能、可靠性以及接口的要求。
.可行性研究 (资源、人员、成本、时间)
做出可行性研究报告。
2需求分析和定义:
.对待开发软件提出的需求进行分析并给出详细定义(多使用图)一张好的图表胜过一千句话。DB
.写软件需求说明书 (需求分析的时候就要开始写)
软件需求规格说明书
设计
1软件设计:
.概要设计:把需求分析变成体系结构,根据不同的功能定义不同的模块。
设计说明书
2详细设计:
.将上边整出来的模块间关系,接口。
程序规格说明书
程序的编写
.根据设计说明书编写
.考虑什么语言 结构化,单入口,单出口。
程序清单
软件测试 (发现、排除错误)
静态测试:上机前的测试 动态测试:上机测试
.单元测试:单个模块功能结构测试
.组装测试:将以测试过得模块组装起来测试。
可以运行
运行和维护
.改正性维护
.适应性维护 环境的变化 的改变
.完善性维护 用户需求的增加
改进的系统
软件工程过程的特点:
.易理解性 客户懂
.可见性 功能可见
.可支持性
.可接受性 不受环境变化的影响
.可靠性
.健壮性 抗病毒好,
.可维护性 出现问题 好维护
.速度
基本目标:
.付出成本较低
.达到要求的软件功能
.取得软件性能
.软件易于移植
.需要较低的维护费用
.按时完成,及时交付使用。
基本原则:
.分解
.独立性
.一致性 (开发过程的软件格式一致,工作流程一直)
.确定性
基本原理:
1.分阶段的生存周期计划严格管理
2.坚持进行阶段评审
3.实行严格的产品控制
4.采用现代程序设计技术
5.结果应能清楚的审查
6.合理安排软件开发小组的人
7.承认不断改进软件工程实践的必要性。
内容:
来个图吧!