软件工程的基本概念

上传人:大米 文档编号:468186404 上传时间:2023-10-03 格式:DOC 页数:7 大小:100KB
返回 下载 相关 举报
软件工程的基本概念_第1页
第1页 / 共7页
软件工程的基本概念_第2页
第2页 / 共7页
软件工程的基本概念_第3页
第3页 / 共7页
软件工程的基本概念_第4页
第4页 / 共7页
软件工程的基本概念_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《软件工程的基本概念》由会员分享,可在线阅读,更多相关《软件工程的基本概念(7页珍藏版)》请在金锄头文库上搜索。

1、软件工程的基本概念软件工程是指导软件开发、运行、维护的系统方法。软件工程是强调使用生存周期方法和各种结构分析及设计技术。这些方法和技术适用于软件生存周期的各个阶段。所谓软件生存周期,是指一项软件从构思起,从经过开发成功投入使用,到停止使用或被另一项软件代替的全过程。软件工程接受的生存周期方法就是从时间角度对软件开发的维护的简单问题进行分解,把软件生存的漫长周期依次划分为若干阶段,每个阶段有相对独立的任务,然后逐步完成每个阶段的任务。接受软件工程方法开发软件时,从对任务的抽象规律分析开头,一个阶段一个阶段地进行开发。前一个阶段任务的完成是下一阶段开头进行的前提和基础,而后一阶段任务的完成使得肖一

2、阶段提出的结果更加简略化。每一阶段的开头和结束都有严格标准,文档中阶段通信的工具,是阶段连接的纽带。概括起来,软件工程的基本思想是:(1) 软件开发划分为若干个阶段,每个阶段的任务相对独立和简洁。(2) 完成各阶段任务是使用系统化技术和方法论。(3) 适时地建立里程碑,从技术和管理两方面加以严格审查。(4) 在软件的整个生存周期中编制完整的文档。 依据中华人民共和国国家标准GB8567-88计算机软件产品开发文件编制指南规定,软件生存周期可以分为六个阶段:可行性商量与计划阶段,需求分析阶段,设计阶段、实现阶段、测试阶段和运行与维护阶段。其中:可行性商量与计划阶段,主要确定软件的开发目标和总体的

3、要求,进行可行性分析、投资效益分析,制定开发计划。 需求分析阶段,重点对被设计的软件进行系统分析,确定对软件的各项功能,性能需求和设计约束,确定对文档编制的要求。 设计阶段,依据软件需求提出多个设计,分析每个设计能履行的功能并进行相互比较,最后确定一个设计,包括软件的结构、模块的划分、功能的安排以及处理流程。当软件比较简单的情况下,设计阶段可分成概要设计和简略设计两个步骤。 实现阶段,要完成源程序的编码、编译(或汇编)和排错调试,得出无语法错误的程序清单。 测试阶段,对提出的程序全面进行测试,检查审定已编制出的文档。 运行和维护阶段,软件将在运行使用中不断地被维护,依据新提出的需求进行必要而且

4、可能的扩充和删改。 总之,接受软件工程可以大提高软件开发的成功率,软件的质量和生产率也会明显提高。一、可行性商量与计划软件开发之初必必要搞清晰解决的问题是什么,因此,进行可行性商量与计划是软件开发的第一步。明确软件开发目标、商量软件能否实现、提出开发计划就是可行性商量与计划的目的和任务。1 主要任务首先精确地定义用户要求解决的问题,也就是问题的性质、软件的目标和总的要求,然后是用最小的代价在尽可能短的时间内确定问题是否能够解决。简略就就是,在澄清了问题定义之后,要导出系统的规律模型,从今动身探究若干种解决方法。对每种解决方法都要专心仔细商量三个可行性:(1)技术可行性,即回答现有技术条件能否完

5、成软件。(2)经济合理性,即回答软件的成本与效益相比是否合算。(3)实施可行性,即回答软件在实际使用时是否可行得通。所以说,可行性商量与计划阶段要解决的关键在于对今后的行为提出建议;如果问题没有可行的解,立刻停止软件开发,以免造成更大的浪费;如果问题值得一解,则要推举一个较好的解决方案,并为今后的工作制定一个初步的计划。 2基本步骤(1)对用户需求和现实环境进行调查。分析人员要访问有关用户,仔细阅读和分析有关材料,专心倾听理解用户口头提出的需求,从而确定问题的性质、软件的目标和规模。在复查确认的基础上,确保要解决的问题即用户要求解决的问题。(2)提出解决方法。要对现有系统进行专心商量,依据用户

6、需求导出新系统的高层规律模型。一般用数据流图和数据字典表示。然后把新系统的规律模型与用户重新交换意见,复查问题定义、工程规模和目标。从建议的规律模型动身,提出若干个较高层次的物理解法供比较和选择,提出书面材料。(3)进行可行性商量。依据书面材料和有关资料对欲开发的软件从经济、技术和实施等方面进行可行性商量,写出可行性商量报告。(4)评审。依据可行性商量结果,评审和审批决定软件项目是否连续。若项目可行,则制订初步的软件开发计划。3主要要求(1)实施可行性切不行忽视,技术上、经济上可行,但实施不行行的软件同样行不通。(2)进行成本/效益分析要供应几种可供选择的解答,要有精确的数据和估算方法,避开主

7、观臆断。(3)软件开发计划中要有明确的、可检查的标志。要提交齐全的、可验证的文档。包括: 可行性商量报告; 初步的软件开发计划。总之,可行性商量与计划的关键在于保证软件开发人员和用户目标全都的前提下,提交供审查批准的行动方案。二、需求分析需求分析也叫要求分析,指在精确地解决“软件必须实现什么”的问题。1主要任务(1) 确定对软件的综合需求包括四方面的需求: 功能需求,即要划分出软件必须完成的一切功能。 性能需求,包括需要的存储容量、平安性、响应时间等。 运行需求,主要是对软件运行时所处环境的要求。如支持软件运行的系统软件是什么;接受什么数据库管理系统;需要什么样的外存储器和数据通信接口等。 将

8、来可能提出的需求,即列出那些虽然眼下不属于系统开发范畴,但将来可能会提出来的需求,以便在设计过程中考虑将来的扩充和修改。(2)分析软件的数据需求任何一个软件本质上都是信息处理系统,软件必须处理的信息和软件应该产生的信息在很大程度上决定着软件的面貌,对软件设计影响深远。因此,分析软件的数据需求就成为需求分析阶段的重要任务之一。软件中的数据分析要建立在对软件功能理解的基础上,借助图形工具进行。对于要长期保存的数据分析,一般要分四个阶段进行: 对数据元素进行分组并且规范化,即把软件将要处理的数据元素分组归并成若干个实体,建立起规范化的关系。 画出实体关系图,来描述不同实体之间的关系。 事务分析,包括

9、划分事务的入口点,确定为了满足事务的数据需求所需要的实体联系数目、实体间的事务流以及需要的访问类型等等。 建立数据模型,来表明事务的类型、简略的通路、重要的加载和周期等。(3)推到出软件的规律模型一般用数据流图、数据字典和主要的处理算法来表示这个规律模型。(4)修正软件开发计划即把分析过程中得到的更深化简略的了解,在可行性商量与计划阶段制定的开发计划中修正。(5)快速产生软件原型即在较短的时间内将软件雏形呈现在用户面前,使用户可以获得关于将来的软件的更直接简略的概念,从而能够更精确地提出需求。2基本步骤既然软件本质上是信息处理系统,即将输入数据经过处理转变为输出信息的过程,而数据又决定了需要的

10、处理和算法,因此需求分析的着眼点就是数据。(1)调查开发软件的环境,进一步明确用户需求。首先搞清输出数据是由哪些元素组成的,然后沿数据流图从输出端往输入端回溯,得出输入数据元素,初步明确有关算法,交由用户仔细进行复查。(2)细化数据流图。通过功能分解可以完成数据流图的细化,即把数据流图扩展到更低的层次,之后得到一组新的数据流图,不同的元素之间的关系变得更清晰了。(3)编制文档。经过分析确定了软件具有的功能和性能,定义了软件中的数据并简略描述了处理的算法,这时首要任务是编制一份完整、全都、精确且简明易懂的软件需求说明书,此外还要修正开发计划行等。(4)严格履行审查手续。分析结果产生后,要成立审查

11、小组对分析结果进行审查,待审查通过,鉴定认可之后,方可进行下阶段工作。3主要要求(1)需求分析阶段的工作,主要由分析员担当,用户一方应派负责人代表参加。而分析员通常由研制方业务资历较高的人担当,他处在用户和设计人员之间,沟通彼此的生疏和见解。经过充分分析,确定下来的软件需求应该在所编写的软件需求说明书中精确地阐述出来。(2)需求分析要以运行环境为基础,需求说明书要经过用户确认。(3)要交付需求说明书和软件开发计划等文档。需求分析是软件生存周期中的一个重要阶段。软件的功能和性能、软件需求的运行环境都在这阶段确定下来。分析的重点是数据流,需求分析结果的正确性决定软件开发能否成功。三、软件设计经过需

12、求分析阶段的工作,建立了由数据流图、数据字典和一组算法描述所定义的软件系统规律模型,软件必须做什么已经清晰了,下来就要进行设计阶段解决“怎样做”的问题了。1主要任务对于较大规模的软件,设计阶段也往往再细分为概要设计和简略设计两个阶段。概要设计的主要任务就是依据软件需求说明,建立目标系统的总体结构和模块间的关系,定义各功能模块的接口、掌握接口,设计全局数据库/数据结构,规定设计限制,制订测试计划;简略设计的主要任务是对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和数据结构,为编写源代码供应必要的说明。对于小规模的软件,则要一次设计到底。应该说,经过概要设计后产生的程序、

13、文件、数据库、处理过程和文档等物理元素仍处于“黑盒子”状态,经过简略设计之后,则得到目标系统的精确描述,软件系统的“蓝图”就基本呈现出来了。2基本步骤(1)建立目标系统的总体结构。从软件需求动身,对于大规模软件系统,可以分解划分为若干子系统,然后为每个子系统定义功能模块及各功能模块间的关系,并描述各子系统的接口界面;对于小规模软件系统,则可按软件需求直接定义目标系统的功能模块及模块间的关系。对各功能模块要给出功能描述,数据接口描述,外部文件及全局数据定义。(2)数据库设计。针对数据需求进行数据库设计,经历模式设计、子模块设计、完整性和平安性设计、优化等四个步骤。(3)模块设计。将概要设计产生的构成软件系统的各个功能模块逐步细化,形成若干个程序模块(可编程模块)。接受某种简略设计表示方法对各个

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号