1、软件:是计算机系统中与硬件相互依存的部分,它包括程序、
程序-是按照事先设计的功能和性能的要求执行的指令序列
数据-是使程序正常操纵信息的数据结构
文档-是程序开发、维护和使用有关的图文资料
2、软件分类(按功能划分)
系统软件:如操作系统、数据库管理系统、设备驱动程序等
支撑软件:协助用户开发软件的工具性软件,如微软可视化开发
平台工具
应用软件:为特定目的服务的软件,如财务管理软件。
二、软件工程和软件开发
1、软件工程
一系列完善的工程化原则。
软件工程是为经济地获得能够在实际机器上有效运行的可靠软件
而建立和使用的一系列完善的工程化原则。
软件工程是开发、运行、维护和修复软件的系统方法。
1983年,IEEE(电气和电子工程师学会)作出定义,软件工程是
开发、运行、维护和修复软件的系统方法。软件定义为:计算机程序、
主要思想是强调软件开发过程需要英语工程化的原则。
2、软件的生存周期
按照软件工程的过程(plan,do,check,action)即软件规格说明、
软件开发、软件确认,软件演进,进一步展开,软件的生存周期包括6
个阶段
(1)制定计划
(2)需求分析
(3)软件设计
(4)程序编写
(5)软件测试
(6)运行和维护
3、软件开发
开发阶段有三个相互关联的步骤组成,即设计、实现(编码)、
测试。
三、各个阶段的目标和主要工作
制定计划
管理层面的内容。
制定待开发软件系统的总目标,给出它的功能、性能、可靠性以
及接口等方面的要求;
研究完成该项软件任务的可行性,探讨解决问题的可能方案;
制定开发实施计划,可行性研究报告。
需求分析
对待开发软件提出的需求进行分析并给详细定义出
需求分析的目标:
是深入描述软件的功能和性能,确定软件设计的约束、软件同其
它系统元素的接口细节,
分析阶段只确定软件系统要“做什么”,
“怎么做’有后续的设计阶段完成。对算法的详细描述也是在设
计阶段给出。
定义软件的其它有效性需求。
需求分析的任务:
通过与用户的合作,了解用户对待开发系统的要求;
根据用户的要求的系统所在的信息域的调查、分析,确定系统的
逻辑模型;
对求解的问题做适当的分解,使之适合于计算机求解。
需求分析工作的内容:
数据建模:
包括3种相互关联的信息,即数据对象、描述对象的属性、描述
对象间相互链接的关系。用数据流图描述系统数据流的变换和流向,
用数据词典定义数据流图中出现的数据流、数据文件、加工和处理,
用判定表表示复杂条件和动作组合情况。
功能建模和数据流:
目标系统被表示成“输入信息-》目标系统-》输出信息”,系
统的功能体现在核心数据变换中。功能建模的思想就是用抽象模型的
概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直
到找到满足功能要求的所有可实现的软件为止。功能建模表达数据的
运动情况和数据流的变换。
行为建模:给出需求分析方法的所有操作原则。描述系统或对象
的状态、导致状态改变的事件,从而描述系统的行为。
软件设计·需求转换成体系结构,对每个模块具体描述。
需求转换成体系结构,对每个模块具体描述。
软件设计是一个把软件需求变换为软件表示的过程。把已确定的
各项需求转换成相应的体系结构,进而对每个模块需完成的工作进行
具体描述。最初这个表示只是描述出可直接反映功能、数据、行为需
求的软件的总框架,然后进一步细化,在此框架中填入细节,把它加
工成程序细节上非常接近与源程序的软件表示。
软件设计是解决“怎么做“的问题。
软件分析阶段已经完全弄清楚了软件的各种需求,软件设计是解