软件工程包括三个要素:方法、工具和过程.
软件工程方法为软件开发提供了“如何做”的技术.它包括了多方面的任务,如项目计划与估算、软件系统需求分析、数据结构、系统总体结构的设计、算法过程的设计、编码、测试以及维护等.
软件工具为软件工程方法提供了自动的或半自动的软件支撑环境.目前,已经推出了许多软件工具,这些软件工具集成起来,建立起称之为计算机辅助软件工程(CASE)的软件开发支撑系统.CASE将各种软件工具、开发机器和一个存放开发过程信息的工程数据库组合起来形成一个软件工程环境.
软件工程的过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的.过程定义了方法使用的顺序、要求交付的文档资料、为保证质量和协调变化所需要的管理、及软件开发各个阶段完成的里程碑.
软件工程是一种层次化的技术.任何工程方法(包括软件工程)必须以有组织的质量保证为基础.全面的质量管理和类似的理念刺激了不断的过程改进,正是这种改进导致了更加成熟的软件工程方法的不断出现.支持软件工程的根基就在于对质量的关注.
2. 1.P(Plan)软件规格说明
2.D(Do)软件开发
3.C(Check)软件确认
4A(Action)软件演进
3. 软件开发模型(SoftwareDevelopmentModel)是指软件开发全部过程、活动和任务的结构框架.
演化模型主要针对事先不能完整定义需求的软件开发.用户可以给出待开发系统的核心需求,并且当看到核心需求实现后,能够有效地提出反馈,以支持系统的最终设计和实现.软件开发人员根据用户的需求,首先开发核心系统.当该核心系统投入运行后,用户试用之,完成他们的工作,并提出精化系统、增强系统能力的需求.软件开发人员根据用户的反馈,实施开发的迭代过程.第一迭代过程均由需求、设计、编码、测试、集成等阶段组成,为整个系统增加一个可定义的、可管理的子集.在开发模式上采取分批循环开发的办法,每循环开发一部分的功能,它们成为这个产品的原型的新增功能.于是,设计就不断地演化出新的系统.实际上,这个模型可看作是重复执行的多个“瀑布模型”. 4. 结构化分析方法(StructuredMethod)是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法.结构是指系统内各个组成要素之间的相互联系、相互作用的框架.结构化开发方法提出了一组提高软件结构合理性的准则,如分解与抽象、模块独立性、信息隐蔽等.针对软件生存周期各个不同的阶段,它有结构化分析(SA)、结构化设计(SD)和结构化程序设计(SP)等方法.
结构化分析方法给出一组帮助系统分析人员产生功能规约的原理与技术.它一般利用图形表达用户需求,使用的手段主要有数据流图、数据字典、结构化语言、判定表以及判定树等.
结构化分析的步骤如下:①分析当前的情况,做出反映当前物理模型的DFD;②推导出等价的逻辑模型的DFD;③设计新的逻辑系统,生成数据字典和基元描述;④建立人机接口,提出可供选择的目标系统物理模型的DFD;⑤确定各种方案的成本和风险等级,据此对各种方案进行分析;⑥选择一种方案;⑦建立完整的需求规约.
结构化设计方法给出一组帮助设计人员在模块层次上区分设计质量的原理与技术.它通常与结构化分析方法衔接起来使用,以数据流图为基础得到软件的模块结构.SD方法尤其适用于变换型结构和事务型结构的目标系统.在设计过程中,它从整个程序的结构出发,利用模块结构图表述程序模块之间的关系.结构化设计的步骤如下:①评审和细化数据流图;②确定数据流图的类型;③把数据流图映射到软件模块结构,设计出模块结构的上层;④基于数据流图逐步分解高层模块,设计中下层模块;⑤对模块结构进行优化,得到更为合理的软件结构;⑥描述模块接口. 5. DFD图如下图示,将DNF图转化为初始的MSD图.1.打开visio,在visio里选择创建框图
2.拉八个圆圈,并调整大小和形状
3.选中单箭头,输入一定的箭头(注意,拉过去的箭头都是双向的,要选中双向箭头/右击/箭头向右)
4双击箭头中间就可以编辑想要的文字(要调整相应的文本格式).
所得图形如下图第二图示:
1.选择创建基本流程图
2.拉足够多个流程和箭头(箭头要稍作变化,先选中连接线工具,然后右击选直线连接线)
3.双击相应位置,编辑想要输入的文字
据上图,所得图如下示:
二、同上图做法: