如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
软件设计师(原高级程序员)复习资料专题七:专题七:软件工程专题1,软件工程知识,1.1概述软件工程是指应用计算机科学,数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程.其目的是提高软件生产率,提高软件质量,减低软件成本.软件工程是1968年在德国的NATO会议上提出的,希望用工程化的原则和方法来克服软件危机;而软件危机就是软件开发和维护过程中的各种问题,由于软件开发阶段缺乏好的方法的指导和好的工具的辅助,而且缺少有关的文档,使得大量的软件难以维护.软件生命周期是指由软件定义,软件开发和软件维护等阶段组成的全过程,反映软件生存期内各种工作得组织以及各个阶段如何衔接.下表归纳了软件生存周期各个阶段的任务,参与人员和产生文档.常见的软件开发模型有瀑布模型,演化模型,螺旋模型和喷泉模型等.阶段任务参与人员产生文档软件定义阶段――待开发软件要"做什么"软件定义阶段系统分析确定待开发软件的总体要求和适用范围,以及与之有关的硬件,支撑软件的要求软件项目计划确定待开发软件的目标,对其进进度安排等做出合理的计划需求分析确定待开发软件的功能,性能,用户,项目负责人,系统界面等要求,从而确定系统的逻辑模型软件开发阶段――待开发软件"怎么做"软件开发阶段软件设计编码详细设计概要设计模块分解,确定软件的结构,模块的功能和模块间的接口,以及全局数据结构的设计设计每个模块的实现细节和局部数据结构的设计用某种程序语言为每个模块编写程序软件测试发现软件中的错误,并加以纠正高级程序员或系统分析员(另一部门或单位)软件测试计划,软件测试用例说明,软件测试报告软件维护阶段―软件维护阶段―开发后交付使用的软件的维护软件维护使软件适应外界环境的变化,实现功能的扩充和质量的改善而修改软件软件由计算机程序,数据及文档组成,同时与硬件,数据库人,过程等共同构成计算机系统.软件工程包括三个要素:方法,工具和过程.主要的软件开发方法有以下几种方法:生命周期法:命周期法认为:每一个软件系统都有一定的生命周期.软件的生命周期是指一个软件系生命周期法统从其提出,调查到分析,设计和有效使用,直至被淘汰或取代的整个期间.软件生命周期维护人员维护计划,维护报告高级程序员,程序员程序清单高级程序员,程序员系统分析员,高级程序员设计说明书,数据说明书,模块开发卷宗分析员需求规格说明书用户,项目负责人,系统可行性分析报告,项目计划书用户,项目负责人,系统分析员可合并项目计划书中行可行性分析,并对资源分配,分析员软件设计师(原高级程序员)复习资料法就是按软件生命周期的各个阶段划分任务,按一定的规则和步骤,有效地进行软件开发的方法.通常一个软件系统的生命周期可分为五个阶段:准备阶段,分析阶段,设计阶段,实施阶段,运行与维护阶段原型法:原型法是先根据用户的最主要要求,开发出能实现系统最基本功能的一个原型,再根据用户原型法对原型使用与评价的意见,反复修改完善原型,直到等到用户满意的最终系统为止.原型法分4个阶段:确定用户需求;设计原型;使用,评价原型;修改,完善原型.1.2软件分析软件开发模型:瀑布模型;演化模型(原型法);螺旋模型;喷泉模型(迭代和无间隙);软件成本模型;可行性分析的任务是从技术上,经济上,使用上,法律上分析需解决的问题是否存在可行的解.需求分析是软件生存周期中相当重要的一个阶段.需求分析主要是确定待开发软件的功能,性能,数据,界面等要求.具体有以下几点:确定软件系统的综合要求分析软件系统的数据要求导出系统的逻辑模型修正项目开发计划如有必要,可开发一个原型系统需求分析的基本原则是能够表达和理解问题的信息域和功能域;以层次化的方式进行分解和不断细化;要给出系统的逻辑视图和物理视图;描述软件需求的方法:功能层次模型:一般来讲就是系统的功能图,模块分布图等描述整个系统的功能的分布和功能的层次结构;数据流模型:就是以数据流为着眼点的分析方法得到的模型,主要通过数据在整个系统的流动情况来确定系统的主要功能主线和流程;控制流模型:通过了解和界定系统中控制线,通过控制流的走向和控制的对象来确定系统的功能分布和控制与被控制的关系;结构化分析(SA)方法是一种面向数据流的需求分析方法,它适用于分析大型数据处理系统.结构化分析方法的基本思想是自顶向下逐层分解,这样做可以把一个大问题分解成若干个小问题,经过多次逐层分解,每个最底层的问题都是足够简单,容易解决的,这个过程就是分解的过程.结构化方法的分析结果由数据流图DFD,数据词典和加工逻辑说明几个部分组成.其中,DFD的基本成分有数据流(dataflow),加工(process),文件(file)和源/宿(source/sink).画数据流图的基本步骤:自外向内,自顶向下,逐层