《软件工程导论第五版.ppt》由会员分享,可在线阅读,更多相关《软件工程导论第五版.ppt(705页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件工程软件工程(SoftwareEngineering)信息学院信息学院 信息工程系信息工程系 杨振刚杨振刚第第1章:软件工程学概述章:软件工程学概述1.11.1软件危机软件危机软件危机软件危机 6060年年年年代代代代中中中中期期期期以以以以前前前前:通通通通用用用用硬硬硬硬件件件件相相相相当当当当普普普普遍遍遍遍,软软软软件件件件却却却却是是是是为为为为某某某某个个个个具体的应用而编写的。具体的应用而编写的。具体的应用而编写的。具体的应用而编写的。6060年代中到年代中到年代中到年代中到7070年代中:软件作坊。年代中:软件作坊。年代中:软件作坊。年代中:软件作坊。软件危机软件危机软件危
2、机软件危机:计算机软件的开发和维护过程中所遇:计算机软件的开发和维护过程中所遇:计算机软件的开发和维护过程中所遇:计算机软件的开发和维护过程中所遇到的一系列严重问题。(正常、不正常运行软件都到的一系列严重问题。(正常、不正常运行软件都到的一系列严重问题。(正常、不正常运行软件都到的一系列严重问题。(正常、不正常运行软件都具有这种问题)具有这种问题)具有这种问题)具有这种问题)1.1.1软件危机的介绍软件危机的介绍1 1)对软件开发成本和进度的估计常常很不准确;)对软件开发成本和进度的估计常常很不准确;)对软件开发成本和进度的估计常常很不准确;)对软件开发成本和进度的估计常常很不准确;2 2)用
3、户对完成的软件系统不满意的现象经常发生;)用户对完成的软件系统不满意的现象经常发生;)用户对完成的软件系统不满意的现象经常发生;)用户对完成的软件系统不满意的现象经常发生;3 3)软件产品的质量往往靠不住;)软件产品的质量往往靠不住;)软件产品的质量往往靠不住;)软件产品的质量往往靠不住;软件危机的典型表现:软件危机的典型表现:4 4)软件常常是不可维护的;)软件常常是不可维护的;)软件常常是不可维护的;)软件常常是不可维护的;5 5)软件通常没有适当的文档资料;)软件通常没有适当的文档资料;)软件通常没有适当的文档资料;)软件通常没有适当的文档资料;6 6)软软软软件件件件成成成成本本本本在
4、在在在计计计计算算算算机机机机系系系系统统统统总总总总成成成成本本本本中中中中所所所所占占占占的的的的比比比比例逐年上升;例逐年上升;例逐年上升;例逐年上升;7 7)软件开发生产率提高的速度跟不上计算机)软件开发生产率提高的速度跟不上计算机)软件开发生产率提高的速度跟不上计算机)软件开发生产率提高的速度跟不上计算机应用的发展趋势。应用的发展趋势。应用的发展趋势。应用的发展趋势。1.1.2产生软件危机的原因产生软件危机的原因1)软件本身特点造成;)软件本身特点造成;2)软件开发与维护的方法不正确。)软件开发与维护的方法不正确。主要表现:主要表现:(a)忽视软件需求分析;)忽视软件需求分析;(b)
5、认为软件开发就是写程序并使之运行;)认为软件开发就是写程序并使之运行;(c)轻视软件维护;)轻视软件维护;在软件开发的不同阶段进行修改需要付出的在软件开发的不同阶段进行修改需要付出的在软件开发的不同阶段进行修改需要付出的在软件开发的不同阶段进行修改需要付出的代价很不相同:代价很不相同:代价很不相同:代价很不相同:高高中中低低早期早期中期中期后期后期软件开发时期软件开发时期代价代价引入同一修改的代价随时间变化的趋势引入同一修改的代价随时间变化的趋势1 1)推推推推广广广广使使使使用用用用在在在在实实实实践践践践中中中中总总总总结结结结出出出出来来来来的的的的开开开开发发发发软软软软件件件件的的的
6、的成成成成功功功功技技技技术术术术和和和和方方方方法法法法,并并并并研研研研究究究究探探探探索索索索更更更更有有有有效效效效的的的的技技技技术术术术和和和和方法;方法;方法;方法;2 2)开发和使用更好的软件工具;)开发和使用更好的软件工具;)开发和使用更好的软件工具;)开发和使用更好的软件工具;3 3)良好的组织管理措施。)良好的组织管理措施。)良好的组织管理措施。)良好的组织管理措施。1.1.3解决软件危机的途径解决软件危机的途径 为为为为了了了了解解解解决决决决软软软软件件件件危危危危机机机机产产产产生生生生的的的的问问问问题题题题,软软软软件件件件工工工工程程程程与与与与方方方方法法法
7、法学学学学逐逐逐逐渐渐渐渐形形形形成成成成,然然然然后后后后出出出出现现现现了了了了两两两两个个个个相相相相互互互互相相相相承承承承又又又又各有侧重的学科:各有侧重的学科:各有侧重的学科:各有侧重的学科:1 1)软软软软件件件件工工工工程程程程学学学学:主主主主要要要要应应应应用用用用工工工工程程程程的的的的方方方方法法法法和和和和技技技技术术术术研研研研究究究究软软软软件件件件开开开开发发发发与与与与维维维维护护护护的的的的方方方方法法法法、工工工工具具具具和和和和管管管管理理理理的的的的一一一一门交叉学科。门交叉学科。门交叉学科。门交叉学科。22)程序设计方法学程序设计方法学程序设计方法学
8、程序设计方法学:主要应用数学的方法研:主要应用数学的方法研:主要应用数学的方法研:主要应用数学的方法研究程序的性质以及程序设计的理论和方法的学究程序的性质以及程序设计的理论和方法的学究程序的性质以及程序设计的理论和方法的学究程序的性质以及程序设计的理论和方法的学科。科。科。科。1.2软件工程软件工程1.2.11.2.1软件工程的介绍软件工程的介绍软件工程的介绍软件工程的介绍1968年年NATO会会议议:软软件件工工程程就就是是为为了了经经济济地地获获得得可可靠靠的的且且能能在在实实际际机机器器上上有有效效地地运运行行的的软软件件,而建立和使用完善的工程原理。而建立和使用完善的工程原理。1993
9、年年IEEE:软软件件工工程程是是(1)把把系系统统的的、规规范范的的、可可度度量量的的途途径径应应用用于于软软件件开开发发、运运行行和和维维护护过程;(过程;(2)研究()研究(1)中提到的途径。)中提到的途径。1.1.软件工程关注于大型程序的构造;软件工程关注于大型程序的构造;软件工程关注于大型程序的构造;软件工程关注于大型程序的构造;2.2.软件工程的中心课题是控制复杂性;软件工程的中心课题是控制复杂性;软件工程的中心课题是控制复杂性;软件工程的中心课题是控制复杂性;3.3.软件经常变化;软件经常变化;软件经常变化;软件经常变化;4.4.开发软件的效率非常重要;开发软件的效率非常重要;开
10、发软件的效率非常重要;开发软件的效率非常重要;5.5.和谐地合作是软件开发的关键;和谐地合作是软件开发的关键;和谐地合作是软件开发的关键;和谐地合作是软件开发的关键;6.6.软件必须有效地支持它的用户;软件必须有效地支持它的用户;软件必须有效地支持它的用户;软件必须有效地支持它的用户;7.7.在软件工程领域中是由具有一种文化背景的在软件工程领域中是由具有一种文化背景的在软件工程领域中是由具有一种文化背景的在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。人替具有另一种文化背景的人创造产品。人替具有另一种文化背景的人创造产品。人替具有另一种文化背景的人创造产品。软件工程的
11、本质特性:软件工程的本质特性:1.2.2软件工程的基本原理软件工程的基本原理1.1.用分阶段的生命周期计划严格管理;用分阶段的生命周期计划严格管理;用分阶段的生命周期计划严格管理;用分阶段的生命周期计划严格管理;2 2.坚持进行阶段评审;坚持进行阶段评审;坚持进行阶段评审;坚持进行阶段评审;3 3.实行严格的产品控制;实行严格的产品控制;实行严格的产品控制;实行严格的产品控制;4 4.采用现代程序设计技术;采用现代程序设计技术;采用现代程序设计技术;采用现代程序设计技术;5 5.结果能清楚地审查;结果能清楚地审查;结果能清楚地审查;结果能清楚地审查;6 6.开发小组的人员应该少而精;开发小组的
12、人员应该少而精;开发小组的人员应该少而精;开发小组的人员应该少而精;7 7.承认不断改进软件工程实践的必要性。承认不断改进软件工程实践的必要性。承认不断改进软件工程实践的必要性。承认不断改进软件工程实践的必要性。1.2.3软件工程方法学软件工程方法学通常把在软件生命周期全过程中使用的一整套通常把在软件生命周期全过程中使用的一整套通常把在软件生命周期全过程中使用的一整套通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学(技术方法的集合称为方法学(技术方法的集合称为方法学(技术方法的集合称为方法学(MethodologyMethodology),),),),也称为范型(也称为范型(也
13、称为范型(也称为范型(ParadigmParadigm)。)。)。)。软件工程方法学的软件工程方法学的软件工程方法学的软件工程方法学的3 3要素:方法、工具和过程要素:方法、工具和过程要素:方法、工具和过程要素:方法、工具和过程1.传统方法学传统方法学也称为生命周期方法学或结构化范型。也称为生命周期方法学或结构化范型。也称为生命周期方法学或结构化范型。也称为生命周期方法学或结构化范型。结构化方法(结构化方法(结构化方法(结构化方法(StructureMethodStructureMethod)有:有:有:有:11)结构化设计方法()结构化设计方法()结构化设计方法()结构化设计方法(SDSD)
14、;);););22)结构化分析方法(结构化分析方法(结构化分析方法(结构化分析方法(SASA););););33)结构化分析与设计技术()结构化分析与设计技术()结构化分析与设计技术()结构化分析与设计技术(SADTSADT)44)JACKSONJACKSON方法方法方法方法55)WARNIERWARNIER方法方法方法方法2.面向对象方法学面向对象方法学把数据和对数据的操作紧密结合起来的方法,把数据和对数据的操作紧密结合起来的方法,把数据和对数据的操作紧密结合起来的方法,把数据和对数据的操作紧密结合起来的方法,模拟人类认识世界解决问题的方法和过程。模拟人类认识世界解决问题的方法和过程。模拟人
15、类认识世界解决问题的方法和过程。模拟人类认识世界解决问题的方法和过程。面向对象的方法面向对象的方法面向对象的方法面向对象的方法=对象(属性与服务的封装)对象(属性与服务的封装)对象(属性与服务的封装)对象(属性与服务的封装)+分类分类分类分类+继承继承继承继承+通过消息的通讯通过消息的通讯通过消息的通讯通过消息的通讯1 1)适适适适用用用用于于于于实实实实时时时时事事事事物物物物处处处处理理理理系系系系统统统统的的的的有有有有限限限限状状状状态态态态机机机机方方方方法法法法(FSMFSM););););2 2)适用于并发软件系统的适用于并发软件系统的适用于并发软件系统的适用于并发软件系统的PE
16、TRIPETRI网方法;网方法;网方法;网方法;3 3)以数学概念和理论为基础的形式化方法,如)以数学概念和理论为基础的形式化方法,如)以数学概念和理论为基础的形式化方法,如)以数学概念和理论为基础的形式化方法,如 SDCSDC公司的形式化开发方法公司的形式化开发方法公司的形式化开发方法公司的形式化开发方法FDMFDM:(FormalDevelopmentMethodologyFormalDevelopmentMethodology)IBMIBM公司的维也纳开发方法公司的维也纳开发方法公司的维也纳开发方法公司的维也纳开发方法VDMVDM:(ViennaDevelopmentMethodVien
17、naDevelopmentMethod)3.其他开发方法其他开发方法 1.3软件生命周期软件生命周期软件生命周期软件生命周期:指软件从提出到最终被淘汰的这个存在期。指软件从提出到最终被淘汰的这个存在期。软件生命周期组成:软件生命周期组成:1 1)软件定义;)软件定义;)软件定义;)软件定义;A.A.问题定义问题定义问题定义问题定义 B.B.可行性研究可行性研究可行性研究可行性研究 C.C.需求分需求分需求分需求分析析析析2 2)软件开发;)软件开发;)软件开发;)软件开发;D.D.总体设计总体设计总体设计总体设计E.E.详细设计详细设计详细设计详细设计F.F.编码和单元测试编码和单元测试编码和
18、单元测试编码和单元测试G.G.综合测试综合测试综合测试综合测试3 3)运行维护。)运行维护。)运行维护。)运行维护。1.问题定义;问题定义;2.可行性研究;可行性研究;3.需求分析;需求分析;4.总体设计(概要设计);总体设计(概要设计);5.详细设计;详细设计;6.编码与单元测试;编码与单元测试;7.综合测试;综合测试;8.维护。维护。软件生命周期各个阶段:软件生命周期各个阶段:1.4软件过程软件过程软软软软件件件件过过过过程程程程:为为为为了了了了获获获获得得得得高高高高质质质质量量量量软软软软件件件件所所所所需需需需要要要要完完完完成成成成的的的的一一一一系系系系列列列列任任任任务务务务
19、的的的的框框框框架架架架,它它它它规规规规定定定定了了了了完完完完成成成成各各各各项项项项任任任任务务务务的的的的工工工工作作作作步骤。步骤。步骤。步骤。软软软软件件件件过过过过程程程程(ISO9000ISO9000):使使使使用用用用资资资资源源源源将将将将输输输输入入入入转转转转化化化化为为为为输出的活动所构成的系统。输出的活动所构成的系统。输出的活动所构成的系统。输出的活动所构成的系统。输入:如软件需求输入:如软件需求输入:如软件需求输入:如软件需求输出:如软件产品输出:如软件产品输出:如软件产品输出:如软件产品1.4.1瀑布模型瀑布模型1.阶阶段段间间具具有有顺顺序序性性和和依赖性依赖
20、性2.推迟实现的观点推迟实现的观点3.质量保证的观点质量保证的观点优优点点:采采用用规规范范的的方方法法;严严格格规规定定每每个个阶阶段段提提交交的的文文档档;要要求求每每个个阶阶段段交交出出的的产产品品必必须须经经过过验验证。证。1.4.2快速原型模型快速原型模型优点优点优点优点:不带反馈环,基:不带反馈环,基:不带反馈环,基:不带反馈环,基本上是线性顺序进行。本上是线性顺序进行。本上是线性顺序进行。本上是线性顺序进行。1.4.3增量模型增量模型优优点点:能能较较短短时时间间内内提提交交可可完完成成部部分分工工作作的的产产品品;可可以以使使用用户有充裕的时间学习和适应新产品。户有充裕的时间学
21、习和适应新产品。一种风险更大的增量模型:一种风险更大的增量模型:1.4.4螺旋模型螺旋模型可把它看作在每可把它看作在每可把它看作在每可把它看作在每个阶段之前都增加个阶段之前都增加个阶段之前都增加个阶段之前都增加风险分析的快速原风险分析的快速原风险分析的快速原风险分析的快速原型模型。型模型。型模型。型模型。1.4.5喷泉模型喷泉模型典型的面向对象软件典型的面向对象软件开发过程模型之一。开发过程模型之一。1.4.6Rational统一过程统一过程1.RUP1.RUP软件开发经验软件开发经验软件开发经验软件开发经验(1 1)迭代式开发)迭代式开发)迭代式开发)迭代式开发(2 2)管理需求)管理需求)
22、管理需求)管理需求(3 3)使用基于构件的体系结构)使用基于构件的体系结构)使用基于构件的体系结构)使用基于构件的体系结构(4 4)可视化建模)可视化建模)可视化建模)可视化建模(5 5)贯穿于开发过程的软件质量验证)贯穿于开发过程的软件质量验证)贯穿于开发过程的软件质量验证)贯穿于开发过程的软件质量验证(6 6)控制软件变更)控制软件变更)控制软件变更)控制软件变更1.4.7敏捷过程与极限编程敏捷过程与极限编程1.1.敏捷过程敏捷过程敏捷过程敏捷过程具有高效、快速响应变化的开发过程。具有高效、快速响应变化的开发过程。具有高效、快速响应变化的开发过程。具有高效、快速响应变化的开发过程。(1 1
23、)个体和交互胜过过程和工具;)个体和交互胜过过程和工具;)个体和交互胜过过程和工具;)个体和交互胜过过程和工具;(2 2)可以工作的软件胜过面面俱到的文档;)可以工作的软件胜过面面俱到的文档;)可以工作的软件胜过面面俱到的文档;)可以工作的软件胜过面面俱到的文档;(3 3)客户合作胜过合同谈判;)客户合作胜过合同谈判;)客户合作胜过合同谈判;)客户合作胜过合同谈判;(4 4)响应变化胜过遵循计划。)响应变化胜过遵循计划。)响应变化胜过遵循计划。)响应变化胜过遵循计划。2.2.极限编程极限编程极限编程极限编程敏捷过程中最著名的一种,指把好的开发实践运敏捷过程中最著名的一种,指把好的开发实践运敏捷
24、过程中最著名的一种,指把好的开发实践运敏捷过程中最著名的一种,指把好的开发实践运用到极致,多应用于软件需求模糊的场合。用到极致,多应用于软件需求模糊的场合。用到极致,多应用于软件需求模糊的场合。用到极致,多应用于软件需求模糊的场合。1.4.8微软过程微软过程1.1.微软过程准则微软过程准则微软过程准则微软过程准则2.2.微软软件生命周期微软软件生命周期微软软件生命周期微软软件生命周期(1 1)规划阶段)规划阶段)规划阶段)规划阶段(2 2)设计阶段)设计阶段)设计阶段)设计阶段(3 3)开发阶段)开发阶段)开发阶段)开发阶段(4 4)稳定阶段)稳定阶段)稳定阶段)稳定阶段(5 5)发布阶段)发
25、布阶段)发布阶段)发布阶段3.3.微软过程模型微软过程模型微软过程模型微软过程模型 问问问问题题题题定定定定义义义义就就就就是是是是要要要要确确确确定定定定为为为为用用用用户户户户建建建建立立立立什什什什么么么么样样样样的的的的软软软软件件件件系系系系统统统统,软软软软件件件件叫叫叫叫什什什什么么么么样样样样的的的的名名名名称称称称等等等等等等等等。“问问问问题题题题”是指软件最基本的问题,如:是指软件最基本的问题,如:是指软件最基本的问题,如:是指软件最基本的问题,如:软件的总体目标什么?软件的总体目标什么?软件的总体目标什么?软件的总体目标什么?有什么用途?有什么用途?有什么用途?有什么用
26、途?为那些用户设计?为那些用户设计?为那些用户设计?为那些用户设计?1.51.5问题定义阶段问题定义阶段问题定义阶段问题定义阶段 问问问问题题题题定定定定义义义义是是是是软软软软件件件件生生生生命命命命周周周周期期期期中中中中时时时时间间间间最最最最短短短短的的的的阶阶阶阶段段段段,一一一一般般般般都都都都比比比比较较较较简简简简单单单单,因因因因此此此此在在在在实实实实际际际际开开开开发发发发中中中中它它它它是是是是最最最最容容容容易被忽视的一个阶段。易被忽视的一个阶段。易被忽视的一个阶段。易被忽视的一个阶段。这这这这一一一一阶阶阶阶段段段段工工工工作作作作主主主主要要要要由由由由系系系系统
27、统统统分分分分析析析析员员员员来来来来完完完完成成成成,系系系系统统统统分分分分析析析析员员员员要要要要尽尽尽尽可可可可能能能能从从从从较较较较高高高高的的的的角角角角度度度度概概概概括括括括软软软软件件件件所所所所要要要要做的工作,而不用写明问题的实现细节。做的工作,而不用写明问题的实现细节。做的工作,而不用写明问题的实现细节。做的工作,而不用写明问题的实现细节。第第2章:可行性研究章:可行性研究可可可可行行行行性性性性研研研研究究究究就就就就是是是是要要要要回回回回答答答答“所所所所定定定定义义义义的的的的问问问问题题题题有有有有可行的解决办法吗?可行的解决办法吗?可行的解决办法吗?可行的
28、解决办法吗?”。可可可可行行行行性性性性研研研研究究究究的的的的目目目目的的的的是是是是:用用用用最最最最小小小小的的的的代代代代价价价价在在在在尽尽尽尽可可可可能能能能短短短短的的的的时时时时间间间间内内内内确确确确定定定定问问问问题题题题是是是是否否否否有有有有解解解解,以以以以及及及及是是是是否值得去解。否值得去解。否值得去解。否值得去解。2.1可行性研究的任务可行性研究的任务可可行行性性研研究究所所需需的的时时间间取取决决于于工工程程的的规规模模,所所需需要要的的成成本本要要占占工工程程总总成成本本的的5%10%。可行性研究的内容:可行性研究的内容:可行性研究的内容:可行性研究的内容:
29、1 1)技术可行性技术可行性技术可行性技术可行性技术可行性要分析各种技术因素,例如:技术可行性要分析各种技术因素,例如:技术可行性要分析各种技术因素,例如:技术可行性要分析各种技术因素,例如:使用现有的技术能否实现这个系统?使用现有的技术能否实现这个系统?使用现有的技术能否实现这个系统?使用现有的技术能否实现这个系统?是否有胜任开发该项目的熟练技术人员?是否有胜任开发该项目的熟练技术人员?是否有胜任开发该项目的熟练技术人员?是否有胜任开发该项目的熟练技术人员?能能能能否否否否按按按按期期期期得得得得到到到到开开开开发发发发该该该该项项项项目目目目所所所所需需需需的的的的软软软软件件件件、硬硬硬
30、硬件件件件资源?资源?资源?资源?2 2)经济可行性经济可行性经济可行性经济可行性对经济合理性进行评价,所要考虑的问题是:对经济合理性进行评价,所要考虑的问题是:对经济合理性进行评价,所要考虑的问题是:对经济合理性进行评价,所要考虑的问题是:这个系统的经济效益能否超过它的开发成本?这个系统的经济效益能否超过它的开发成本?这个系统的经济效益能否超过它的开发成本?这个系统的经济效益能否超过它的开发成本?这这这这就就就就需需需需要要要要对对对对项项项项目目目目进进进进行行行行价价价价格格格格/利利利利益益益益分分分分析析析析,即即即即“投投投投入入入入/产出产出产出产出”分析。分析。分析。分析。由由
31、由由于于于于利利利利益益益益分分分分析析析析取取取取决决决决于于于于软软软软件件件件系系系系统统统统的的的的特特特特点点点点,因因因因此此此此在在在在软软软软件件件件开开开开发发发发之之之之前前前前,很很很很难难难难对对对对新新新新系系系系统统统统产产产产生生生生的的的的效效效效益益益益作作作作出出出出精精精精确的定量描述,所以往往采用一些估算方法。确的定量描述,所以往往采用一些估算方法。确的定量描述,所以往往采用一些估算方法。确的定量描述,所以往往采用一些估算方法。3 3)操作可行性操作可行性操作可行性操作可行性 操操操操作作作作可可可可行行行行性性性性评评评评价价价价系系系系统统统统运运运
32、运行行行行后后后后会会会会引引引引起起起起的的的的各各各各方方方方面面面面变变变变化化化化,如如如如:对对对对组组组组织织织织机机机机构构构构管管管管理理理理模模模模式式式式、用用用用户户户户工工工工作作作作环境等产生的影响。环境等产生的影响。环境等产生的影响。环境等产生的影响。4 4)社会可行性社会可行性社会可行性社会可行性 社社社社会会会会可可可可行行行行性性性性主主主主要要要要讨讨讨讨论论论论法法法法律律律律方方方方面面面面和和和和使使使使用用用用方方方方面面面面的可行性。的可行性。的可行性。的可行性。例例例例如如如如,被被被被开开开开发发发发软软软软件件件件的的的的权权权权利利利利归归
33、归归属属属属问问问问题题题题、软软软软件件件件所使用的技术是否会造成侵权等问题。所使用的技术是否会造成侵权等问题。所使用的技术是否会造成侵权等问题。所使用的技术是否会造成侵权等问题。2.2可行性研究的步骤可行性研究的步骤1 1)复查系统规模和目标;)复查系统规模和目标;)复查系统规模和目标;)复查系统规模和目标;2 2)研究目前正在使用的系统;)研究目前正在使用的系统;)研究目前正在使用的系统;)研究目前正在使用的系统;3 3)导导导导出出出出新新新新系系系系统统统统的的的的高高高高层层层层逻逻逻逻辑辑辑辑模模模模型型型型(数数数数据据据据流流流流图图图图、数据字典);数据字典);数据字典);
34、数据字典);4 4)重新定义问题;重新定义问题;重新定义问题;重新定义问题;5 5)导出和评价供选择的解法(物理解决方案);)导出和评价供选择的解法(物理解决方案);)导出和评价供选择的解法(物理解决方案);)导出和评价供选择的解法(物理解决方案);6 6)推荐行动方案;)推荐行动方案;)推荐行动方案;)推荐行动方案;7 7)草拟开发计划;)草拟开发计划;)草拟开发计划;)草拟开发计划;8 8)书写文档提交审查。)书写文档提交审查。)书写文档提交审查。)书写文档提交审查。2.2可行性研究的步骤可行性研究的步骤2.3系统流程图系统流程图(描绘物理系统的工具)(描绘物理系统的工具)2.3.12.3
35、.1符号符号符号符号 符号符号名称名称说明说明处理处理如:程序,处理机,人工加工如:程序,处理机,人工加工输入输入/输出输出连接连接换页连接换页连接数据流数据流表示输入或输出表示输入或输出同一页上图的连接同一页上图的连接不同页上图的连接不同页上图的连接指明数据流动方向指明数据流动方向图图2.1基本符号基本符号符号符号名称名称说明说明穿孔卡片穿孔卡片文档文档磁带磁带联机存储联机存储磁盘磁盘磁鼓磁鼓显示显示人工输入人工输入人工操作人工操作辅助操作辅助操作通信链路通信链路穿孔卡片输入穿孔卡片输入/输出,或穿孔卡片文件输出,或穿孔卡片文件打印输出,或打印终端输入数据打印输出,或打印终端输入数据磁带输入
36、磁带输入/输出,或表示磁带文件输出,或表示磁带文件任何种类磁盘存储,如磁盘、磁鼓等任何种类磁盘存储,如磁盘、磁鼓等磁盘输入磁盘输入/输出,或磁盘上文件、数据库输出,或磁盘上文件、数据库磁鼓输入磁鼓输入/输出,或磁鼓上文件、数据库输出,或磁鼓上文件、数据库显示器部件显示器部件人工输入数据,如填写表格人工输入数据,如填写表格人工完成的处理人工完成的处理使用辅助设备进行的脱机操作使用辅助设备进行的脱机操作通过远程通信线路传送数据通过远程通信线路传送数据图图2.2系统符号系统符号2.3.2例子例子事务事务库存清单程序库存清单程序报告生成程序报告生成程序定货定货信息信息定货报告定货报告库存清单库存清单主
37、文件主文件图图2.3库存清单系统的系统流程图库存清单系统的系统流程图2.42.4数据流图(描绘数据在系统中流动的逻辑过程)数据流图(描绘数据在系统中流动的逻辑过程)数据流图(描绘数据在系统中流动的逻辑过程)数据流图(描绘数据在系统中流动的逻辑过程)2.4.12.4.1符号符号符号符号 或或或或或或数据源点或终点数据源点或终点变换数据的处理变换数据的处理数据存储数据存储数据流数据流图图2.4基本符号的含义基本符号的含义TABC*TABC*附加符号附加符号TABC+TABC+注意:注意:“处理处理处理处理”可表示:单个程序、一系列程序、程序可表示:单个程序、一系列程序、程序可表示:单个程序、一系列
38、程序、程序可表示:单个程序、一系列程序、程序的一个模块、人工处理过程等等;的一个模块、人工处理过程等等;的一个模块、人工处理过程等等;的一个模块、人工处理过程等等;“数据存储数据存储数据存储数据存储”可表示:一个文件、文件的一部分、可表示:一个文件、文件的一部分、可表示:一个文件、文件的一部分、可表示:一个文件、文件的一部分、数据库记录等等;数据库记录等等;数据库记录等等;数据库记录等等;数据流图忽略出错处理、打开文件、关闭文件。数据流图忽略出错处理、打开文件、关闭文件。数据流图忽略出错处理、打开文件、关闭文件。数据流图忽略出错处理、打开文件、关闭文件。2.4.2绘制数据流图的绘制数据流图的例
39、子例子事务事务库存清单程序库存清单程序报告生成程序报告生成程序定货定货信息信息定货报告定货报告库存清单库存清单主文件主文件图图2.3库存清单系统的系统流程图库存清单系统的系统流程图2.4.22.4.2绘制数据流图的绘制数据流图的绘制数据流图的绘制数据流图的例子例子例子例子 仓库仓库管理员管理员采购员采购员定货系定货系统统事务事务定货报表定货报表图图2.5定货系统的基本系统模型定货系统的基本系统模型2.4.2绘制数据流图的绘制数据流图的例子例子库存清单库存清单仓库仓库管理员管理员采购员采购员事务事务定货报表定货报表图图2.6定货系统的功能级数据流图定货系统的功能级数据流图处理处理事务事务1产生产
40、生报表报表2D1库存清单库存清单D2定货信息定货信息定货信息定货信息定货信息定货信息组成该例子的数据流图的元素组成该例子的数据流图的元素组成该例子的数据流图的元素组成该例子的数据流图的元素源点源点源点源点/终点终点终点终点处理处理处理处理 采购员采购员采购员采购员 仓库管理员仓库管理员仓库管理员仓库管理员 产生报表产生报表产生报表产生报表 处理事务处理事务处理事务处理事务数据流数据流数据流数据流数据存储数据存储数据存储数据存储 订货报表订货报表订货报表订货报表 零件编号零件编号零件编号零件编号 零件名称零件名称零件名称零件名称 订货数量订货数量订货数量订货数量 目前价格目前价格目前价格目前价格
41、 主要供应商主要供应商主要供应商主要供应商 次要供应商次要供应商次要供应商次要供应商 事务事务事务事务 零件编号零件编号零件编号零件编号 事务类型事务类型事务类型事务类型 数量数量数量数量 订货信息订货信息订货信息订货信息 (见订货报表)(见订货报表)(见订货报表)(见订货报表)库存清单库存清单库存清单库存清单 零件编号零件编号零件编号零件编号 库存量库存量库存量库存量 库存量临界值库存量临界值库存量临界值库存量临界值上述数据流图所描述的功能够上述数据流图所描述的功能够详细了吗?详细了吗?2.4.2绘制数据流图的绘制数据流图的例子例子仓库仓库管理员管理员采购员采购员事务事务定货报表定货报表图图
42、2.7定货系统进一步分解后的数据流图定货系统进一步分解后的数据流图更新更新库存库存清单清单1.2产生产生报表报表2D1库存清单库存清单D2定货信息定货信息接收接收事务事务1.1处理处理定货定货1.3库存清单库存清单定货信息定货信息定货信息定货信息1 1)为数据流(或数据存储)命名为数据流(或数据存储)命名为数据流(或数据存储)命名为数据流(或数据存储)命名 A A名名名名字字字字应应应应该该该该代代代代表表表表整整整整个个个个数数数数据据据据流流流流(或或或或数数数数据据据据存存存存储储储储)的内容;的内容;的内容;的内容;B B不不不不要要要要使使使使用用用用空空空空洞洞洞洞的的的的、缺缺缺
43、缺乏乏乏乏具具具具体体体体含含含含义义义义的的的的名名名名字字字字(如(如(如(如“数据数据数据数据”、“输入输入输入输入”););););2.4.3命名命名C如果为某个数据流(或数据存储)如果为某个数据流(或数据存储)起名字时遇到困难,则很可能是因为对起名字时遇到困难,则很可能是因为对数据流图的分解不恰当造成的,应该试数据流图的分解不恰当造成的,应该试试重新分解数据流图;试重新分解数据流图;2 2)为处理命名为处理命名为处理命名为处理命名 A A通通通通常常常常先先先先为为为为数数数数据据据据流流流流命命命命名名名名,然然然然后后后后再再再再为为为为与与与与之之之之相相相相关联的处理命名;关
44、联的处理命名;关联的处理命名;关联的处理命名;BB名字应该反映整个处理的功能;名字应该反映整个处理的功能;名字应该反映整个处理的功能;名字应该反映整个处理的功能;C C应应应应该该该该尽尽尽尽量量量量避避避避免免免免空空空空洞洞洞洞笼笼笼笼统统统统的的的的动动动动词词词词做做做做名名名名字字字字,如如如如“处理处理处理处理”、“加工加工加工加工”;D D通通通通常常常常用用用用一一一一个个个个动动动动词词词词命命命命名名名名,如如如如果果果果必必必必须须须须用用用用两两两两个个个个动动动动词词词词才才才才能能能能描描描描述述述述整整整整个个个个处处处处理理理理的的的的功功功功能能能能,则则则则
45、可可可可能能能能要要要要把这个处理分解成两个处理更恰当;把这个处理分解成两个处理更恰当;把这个处理分解成两个处理更恰当;把这个处理分解成两个处理更恰当;E E如如如如果果果果在在在在为为为为某某某某个个个个处处处处理理理理命命命命名名名名时时时时遇遇遇遇到到到到困困困困难难难难,则则则则很很很很可可可可能能能能是是是是发发发发现现现现了了了了分分分分解解解解不不不不当当当当的的的的情情情情况况况况,应应应应考考考考虑虑虑虑重新分解。重新分解。重新分解。重新分解。通常,为通常,为“数据源点数据源点/终点终点”命名时,采用命名时,采用它们在问题域中习惯使用的名字(如它们在问题域中习惯使用的名字(如
46、“仓库仓库管理员管理员”、“采购员采购员”)。)。1 1)利用它作为交流信息的工具;)利用它作为交流信息的工具;)利用它作为交流信息的工具;)利用它作为交流信息的工具;2 2)作为软件分析和设计的工具。)作为软件分析和设计的工具。)作为软件分析和设计的工具。)作为软件分析和设计的工具。2.4.4数据流图的用途数据流图的用途2.4.4数据流图的用途数据流图的用途仓库仓库管理员管理员采购员采购员事务事务定货报表定货报表图图2.8这种自动化边界建议以联机方式更新库存清单这种自动化边界建议以联机方式更新库存清单更新更新库存库存清单清单1.2产生产生报表报表2D1库存清单库存清单D2定货信息定货信息接收
47、接收事务事务1.1处理处理定货定货1.3库存清单库存清单定货信息定货信息定货信息定货信息图图2.8对应的物理实现硬件方案对应的物理实现硬件方案2.4.4数据流图的用途数据流图的用途仓库仓库管理员管理员采购员采购员事务事务定货报表定货报表图图2.9这种自动化边界暗示以批量方式更新库存清单这种自动化边界暗示以批量方式更新库存清单更新更新库存库存清单清单1.2产生产生报表报表2D1库存清单库存清单D2 定货信息定货信息接收接收事务事务1.1处理处理定货定货1.3库存清单库存清单定货信息定货信息定货信息定货信息D3 事务事务图图2.9对应的物理实现硬件方案对应的物理实现硬件方案数据字典数据字典数据字典
48、数据字典:对数据流图中包含的所有元素的:对数据流图中包含的所有元素的:对数据流图中包含的所有元素的:对数据流图中包含的所有元素的定义的集合;定义的集合;定义的集合;定义的集合;可行性研究阶段,数据流图与数据字典共同可行性研究阶段,数据流图与数据字典共同可行性研究阶段,数据流图与数据字典共同可行性研究阶段,数据流图与数据字典共同构成系统的构成系统的构成系统的构成系统的逻辑模型逻辑模型逻辑模型逻辑模型。2.5数据字典数据字典 2.5.1数据字典的内容数据字典的内容数据字典应该对下列元素进行定义:数据字典应该对下列元素进行定义:1)数据流;)数据流;2)数据元素(数据流分量);)数据元素(数据流分量
49、);3)数据存储;)数据存储;4)处理。)处理。1 1)数据元素数据元素数据元素数据元素字典字典字典字典定义定义定义定义其定义的基本内容有:其定义的基本内容有:其定义的基本内容有:其定义的基本内容有:AA数据元素编号、名称及其含义;数据元素编号、名称及其含义;数据元素编号、名称及其含义;数据元素编号、名称及其含义;BB数据类型和长度;数据类型和长度;数据类型和长度;数据类型和长度;CC合理取值;合理取值;合理取值;合理取值;D D其其其其他他他他内内内内容容容容,如如如如它它它它与与与与其其其其它它它它数数数数据据据据的的的的逻逻逻逻辑辑辑辑关关关关系等。系等。系等。系等。2.5.2定义数据的
50、方法定义数据的方法数据元素字典数据元素字典定义实例:定义实例:数据元素编号数据元素编号:DC001数据元素名称数据元素名称:考试成绩:考试成绩别名别名:成绩、分数:成绩、分数简述简述:学生考试成绩,分五个等级:学生考试成绩,分五个等级类型类型/长度长度:两个字节,字符类型:两个字节,字符类型取值取值/含义含义:优:优90-100良良80-89中中70-79及格及格60-69不及格不及格0-59有关数据项或结构有关数据项或结构:学生成绩档案:学生成绩档案有关处理逻辑有关处理逻辑:计算成绩:计算成绩图图2.10数据元素字典定义数据元素字典定义2 2)数据流字典数据流字典数据流字典数据流字典定义定义