软件工程与项目管理(学生).ppt

上传人:asd****56 文档编号:91009355 上传时间:2023-05-21 格式:PPT 页数:218 大小:842KB
返回 下载 相关 举报
软件工程与项目管理(学生).ppt_第1页
第1页 / 共218页
软件工程与项目管理(学生).ppt_第2页
第2页 / 共218页
点击查看更多>>
资源描述

《软件工程与项目管理(学生).ppt》由会员分享,可在线阅读,更多相关《软件工程与项目管理(学生).ppt(218页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、软件工程与项目管理软件工程与项目管理的基本概念(1)o软件n程序:计算机为完成特定任务而执行的指令的有序集合。程序通常用某种程序设计语言编写,运行于某种目标体系结构上。一个用汉语写下的红焖大虾菜谱,用于指导懂汉语的人来做这个菜。n数据:被程序处理的信息 n文档:记录的数据和数据媒体n软件:计算机系统中的程序、数据及其文档。2软件工程与项目管理的基本概念(2)o软件生产发展阶段n程序设计时代,生产方式是个体手工劳动,使用的工具是机器语言。开发方法是追求编程技巧,不重视程序设计方法。n程序系统时代,生产方式是作坊式的小集团合作生产,生产工具是高级语言,开发方法依旧靠个人技巧,但开发技术没有新的突破

2、,大量软件开发的需求已提出,产生了尖锐的矛盾,导致软件危机的产生;3软件工程与项目管理的基本概念(2)o软件生产发展阶段n软件工程时代,生产方式是工程化的生产,使用数据库,开发工具,开发环境,网络,分布式,面向对象技术来开发软件。软件特征是开发技术有很大进步,但是未能获得突破性进展,软件价格不断上升,没有完全摆脱软件危机。4o软件危机n20世纪60年代以前,软件规模较小,文档资料通常不存在,基本上个人设计,个人使用,个人操作,自给自足的私人化软件生产方式。n20世纪60年代中期,大容量、高速度计算机出现,计算机应用范围扩大,软件开发急剧增长,软件系统规模越来越大,复杂程度越来越高,软件可靠性问

3、题越来越突出。n个人设计、个人使用的方式不能满足要求,改变软件生产方式,提高软件生产效率。软件工程与项目管理的基本概念(3)5o软件危机现象n软件开发进度难以预测n软件开发成本难以控制n用户对产品功能难以满足n软件产品质量无法保证n软件产品难以维护n软件缺少适当的文档资料o软件危机解决途径n软件工程与项目管理软件工程与项目管理为研究克服软件危机应运而生软件工程与项目管理的基本概念(4)6o软件工程n研究软件开发和软件管理的一门工程科学。n是将系统化的、规范化的、可度量化的方法应用于软件开发、运行、和维护过程。n把工程化的思想应用于软件开发。o软件工程化n将软件开发当做一个工程来做软件工程与项目

4、管理的基本概念(5)7o软件工程的目标n提高软件的质量与生产率,最终实现软件的工业化生产。n质量软件需求方;生产率软件供应方 好的软件工程方法可以同时提高质量与生产率o软件工程的内容:a)实现预期的软件功能,达到较好的软件性能,满足用户的需求;b)增强软件过程的可见性和可控性,保证软件的质量;c)提高所开发软件的可维护性,降低维护费用;d)提高软件开发生产率,及时交付使用;e)合理预算开发成本,付出较低的开发费用。软件工程与项目管理的基本概念(6)8软件工程与项目管理的基本概念(7)o软件工程的规范化和文档化 软件工程强调规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,

5、进入标准化、工程化的生产方式。软件工程强调文档化的目的是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护。在开发过程中各类相关人员借助于文档进行交流和沟通。另外,在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。在用户最终验收时可以通过对提交的文档进行技术审查和管理审查,保证软件的质量。9o项目n为完成一个独特的产品、服务或任务所做的一一次性努力次性努力;n一项有待完成有待完成的任务,有特定的环境和背景要求,具有特定的约束条件约束条件;n在一定的组织机构内,利用有限的人力有限的人力、物力物力、财力财力等资源,在规

6、定时间规定时间内完成任务;n任务要满足一定数量数量、质量质量、功能功能、性能性能和技技术指标术指标等多方面的要求要求。eg:三峡工程、首都机场改造工程、超级女声比赛软件工程与项目管理的基本概念(8)10o项目成功的因素n工作范围、成本、进度计划和客户满意度。工作范围成本进度计划客户满意程度n实现项目目标就是在一定时间内、在预算内完成工作范围,以使客户满意。软件工程与项目管理的基本概念(9)11o项目管理n通过项目经理和项目组织的努力,运用系统理论和方法对项目及其资源进行计划、组织、协调、控制,旨在实现项目的特定目标的管理方法。项目管理过程项目管理过程 就是 制定计划制定计划 然后 按计划工作按

7、计划工作软件工程与项目管理的基本概念(10)12软件工程与项目管理的主要环节o根据某一软件从被提出并着手开始实现,直到软件完成其使命被废弃为止的全过程划分为一些阶段,并称这一过程为软件主要环节。一般包括可行性分析、需求分析、系统设计、程序设计、测试、维护几个阶段。人员管理人员管理项目管理项目管理可行性与需求分析 系统设计程序设计测试维护13软件工程与项目管理的主要环节o划分软件生存周期的基本原则 软件生存周期的各个阶段有不同的划分。软件规模、种类、开发方式、开发环境以及开发使用方法都会影响软件生存周期的划分。在划分软件生存周期阶段时,应遵循的一条基本原则是各个阶段的任务应尽可能相对独立,同一阶

8、段各项目任务的性质尽可能相同,从而降低每个阶段任务的复杂程度,简化不同阶段之间的联系,有利于软件项目开发的组织管理。14第二章 可行性分析可行性研究的任务可行性研究的任务o可行性分析的任务n首先需要进行概要分析研究,初步确定项目的规模和目标,确定项目的约束和限制。n然后进行简要的需要分析,抽象出该项目的逻辑结构,建立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决办法,对每种解决方法都要研究它的可行性。可从技术可行性,经济可行性,社会可行性三方面分析研究每种解决方法的可行性。16可行性研究的步骤可行性研究的步骤o可行性分析的步骤n复查项目目标和规模:访问关键人员,仔细阅

9、读分析材料,对问题定义阶段书写的规模目标报告书进一步复确认。改正含糊或不准确,清晰描述对目标系统的一切限制和约束;n研究目前系统:了解现有系统基本功能,保证新开发系统的功能性。了解现有系统缺点,保证新开发系统改善缺陷。了解现有系统运行使用所需费用,新系统应增加收入或减少使用费用。了解现有系统能做什么,无需了解他怎样做这些工作;17可行性研究的步骤可行性研究的步骤o可行性分析的步骤n建立新系统的高层逻辑模型:系统流程图,数据流图和数据字典;n重新定义问题:分析员与用户以数据流图和数据字典为讨论基础,再次复查问题定义、工程规模和目标。如对问题有误解,或遗漏要求,在此阶段改正。18数据流图数据流图

10、Data Flow Diagram-DFDo数据流图的概念数据流图的概念 描绘系统的逻辑模型,图中没有任何描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系具体的物理元素,只是描绘信息在系统中流动和处理的情况统中流动和处理的情况。*数据流程图是指从数据传递和加工的数据流程图是指从数据传递和加工的角度,以图形的方式刻画数据流从输角度,以图形的方式刻画数据流从输入到输出的移动变换过程。入到输出的移动变换过程。19系统流程图系统流程图 VS 系统数据流图系统数据流图o系统流程图系统流程图是对未来构建的信息处理系统的是对未来构建的信息处理系统的一种描述。这种描述是相对简单且完全的,一种描

11、述。这种描述是相对简单且完全的,涉及到未来系统中使用的处理部件,如磁盘,涉及到未来系统中使用的处理部件,如磁盘,显示器,用户输入以及处理过程的先后顺序显示器,用户输入以及处理过程的先后顺序表示等。表示等。o数据流程图数据流程图是对实际构建的系统分析综合后,是对实际构建的系统分析综合后,提取逻辑模型的一个过程,它更关注于过程提取逻辑模型的一个过程,它更关注于过程内数据的处理,而把具体处理数据的物理过内数据的处理,而把具体处理数据的物理过程,物理分布忽略。程,物理分布忽略。|系统流程图就是表示整个系统系统流程图就是表示整个系统处理事物处理事物的的基基本过程本过程;数据流图是描述;数据流图是描述各个

12、子块之间各个子块之间如何如何进行进行数据传递数据传递:20o数据流图特点数据流图特点 它它是是逻逻辑辑系系统统的的图图形形表表示示,容容易易理理解解,是是极极好好的的通通信信工工具具,设设计计数数据据流流图图只只需需考考虑虑系系统统必必须须完完成成的的基基本本逻逻辑辑功功能能,不不需需要要考考虑虑如如何何实实现现这这些些功功能能,是软件设计很好的出发点。是软件设计很好的出发点。21o数据流图用途数据流图用途 1、画数据流图的基本目的是利用它画数据流图的基本目的是利用它作为作为交流信息的工具交流信息的工具。n分析员把他对分析员把他对现有系统现有系统的认识或对的认识或对目目标系统标系统的设想用数据

13、流图描绘出来,的设想用数据流图描绘出来,供有关人员审查确认。绝大多数用户供有关人员审查确认。绝大多数用户都可以理解和评价它。都可以理解和评价它。22 2、数据流图的另一个主要用途是作、数据流图的另一个主要用途是作为为分析和设计分析和设计的工具。的工具。n着重描绘系统所完成的功能而不是系着重描绘系统所完成的功能而不是系统的物理实现方案。统的物理实现方案。23DFD的基本符号的基本符号数据流图有四种基本符号数据流图有四种基本符号数据流数据流数据加工数据加工(数据变换数据变换)或或数据源点或终点数据源点或终点(外部实体外部实体)或或数据存储文件数据存储文件或或24o数据源点或终点表示图中要处理数据数

14、据源点或终点表示图中要处理数据的的输入来源输入来源或或处理结果要送往何处处理结果要送往何处。o在图中的出现仅仅是一个符号,并不在图中的出现仅仅是一个符号,并不需要以软件的形式进行设计和实现,需要以软件的形式进行设计和实现,因而,它只是数据流图的外围环境中因而,它只是数据流图的外围环境中的实体,故称的实体,故称外部实体外部实体。o在实际问题中,它可能是人员、计算在实际问题中,它可能是人员、计算机外设、测量仪器等。机外设、测量仪器等。o数据流图中要数据流图中要注明注明源点或终点的源点或终点的名字名字。数据源点或终点数据源点或终点(外部实体外部实体)或或管理员管理员25o加工是以加工是以数据结构数据

15、结构或或数据内容数据内容作为加作为加工对象。工对象。o加工的名字通常是一个加工的名字通常是一个动词短语动词短语,简,简明扼要表明完成的是什么加工。明扼要表明完成的是什么加工。o数据流程图中要数据流程图中要注明加工编号、名字注明加工编号、名字。数据加工数据加工(数据变换数据变换)或或2接收接收事务事务加工编号加工编号加工名字加工名字26o数据存储文件在数据流图中起数据存储文件在数据流图中起保存数保存数据据的作用,因而称为数据存储文件。的作用,因而称为数据存储文件。o它可以是数据库文件或任何形式的数它可以是数据库文件或任何形式的数据组织。据组织。指向文件指向文件的数据流可理解为的数据流可理解为写入

16、文件或查询文件写入文件或查询文件,从文件中,从文件中引出引出的数据流的数据流可理解为从文件可理解为从文件读取数据读取数据或或得到查询结果得到查询结果。o在数据流图中必须加在数据流图中必须加 命名命名,用,用名词名词或或名词名词 性短语性短语命名命名。数据存储文件数据存储文件或或 xxx文件编号文件编号 文件名字文件名字27o数据流是沿箭头方向传送数据的通道,数据流是沿箭头方向传送数据的通道,指被加工的数据与流向。指被加工的数据与流向。o数据流大多是在加工之间传输加工数数据流大多是在加工之间传输加工数据的命名通道。据的命名通道。o也有连接数据存储文件和加工的没有也有连接数据存储文件和加工的没有命

17、名的数据通道。命名的数据通道。数据流数据流XXXX B数据流名字数据流名字数据流编号数据流编号28DFD几种附加符号几种附加符号o附加符号:附加符号:n*(星号)数据流之间是(星号)数据流之间是“与与”关关系同时存在)系同时存在)n+(加号)数据流之间是(加号)数据流之间是“或或”关关系。系。n 数据流之间是只能从中选一个互数据流之间是只能从中选一个互斥的关系)斥的关系)29分层的分层的DFDo为表达数据处理过程的数据加工情况,为表达数据处理过程的数据加工情况,采用采用层次结构层次结构的数据流图。的数据流图。o按照系统的层次结构进行按照系统的层次结构进行逐步分解逐步分解,并并以分层的数据流图以

18、分层的数据流图反映这种结构关反映这种结构关系,能清楚地表达和容易理解整个系系,能清楚地表达和容易理解整个系统。统。30 例例:一一工工厂厂通通过过放放在在仓仓库库中中的的CRTCRT终终端端把把事事务务报告给定货系统(零件入库或出库被称为事务)。报告给定货系统(零件入库或出库被称为事务)。仓仓库库现现有有的的各各零零件件的的数数量量以以及及每每种种零零件件库库存存量量临临界界值值等等数数据据记记录录在在库库存存清清单单主主文文件件中中。当当仓仓库库中中零零件件数数量量有有变变化化时时,应应该该及及时时修修改改库库存存清清单单主主文文件件,如如果果哪哪种种零零件件的的库库存存量量少少于于它它的的

19、库库存存量量临临界界值值,则则把把必必要要的的定定货货信信息息写写在在磁磁带带上上报报告告给给采采购部门以便定货。购部门以便定货。规规定定每每天天向向采采购购部部送送一一次次定定货货报报表表,报报表表按按零零件件编编号号排排序序,表表中中列列出出所所有有需需要要再再次次定定货货的的零零件件。对对于于每每个个再再次次定定货货零零件件应应该该列列出出下下述述数数据据:零零件件编编号号,零零件件名名称称,定定货货数数量量,目目前前价价格格,主主要要供供应者,次要供应者。应者,次要供应者。3132课堂小练习 储户储户将填好的取款单、存折交银行,将填好的取款单、存折交银行,银行取款系银行取款系统做统做如

20、下处理:如下处理:审核并查对帐目,将不合格的存折、取款单退审核并查对帐目,将不合格的存折、取款单退回储户,合格的存折、取款单送取款处理。回储户,合格的存折、取款单送取款处理。处理取款修改帐目,将存折、利息单、结算清处理取款修改帐目,将存折、利息单、结算清单及现金交储户,同时将取款单存档。单及现金交储户,同时将取款单存档。3334图书预订系统:书店向顾客发放订单,顾客将所填订单交由系统处理,系统首先依据图书目录对订单进行检查并对合格订单进行处理,处理过程中根据顾客情况和订单数目将订单分为优先订单与正常订单两种,随时处理优先订单,定期处理正常订单。最后系统根据所处理的订单汇总,并按出版社要求发给出

21、版社。课堂小练习3536画画DFD的原则(注意事项的原则(注意事项1)1、数据流图上所有图形符号只限于前述四种基本、数据流图上所有图形符号只限于前述四种基本图形元素。图形元素。2、每个处理至少有一个输入数据流和一个输出数、每个处理至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与结果。据流,反映出此加工数据的来源与结果。3、图上每个元素都必须有名字。、图上每个元素都必须有名字。4、画数据流不是画控制流,只反映系统、画数据流不是画控制流,只反映系统“做什么做什么”,不反映,不反映“如何做如何做”。5、编号:需按层给处理框编号。编号表明该处理、编号:需按层给处理框编号。编号表明该处理处

22、在哪一层以及上下图父图与子图的关系。处在哪一层以及上下图父图与子图的关系。37画画DFD的原则(注意事项的原则(注意事项2)6、父图与子图的平衡。子图的输入输出数据流同、父图与子图的平衡。子图的输入输出数据流同父图相应处理的输入输出必须一致。父图相应处理的输入输出必须一致。7、存储:一个局部存储只要当它作为某些处理的、存储:一个局部存储只要当它作为某些处理的数据接口或某个处理特定的输入输出时,就要数据接口或某个处理特定的输入输出时,就要把它画出来,有助于实现信息的隐蔽。把它画出来,有助于实现信息的隐蔽。8、提高数据流图的易理解性。、提高数据流图的易理解性。38数据字典数据字典o概念概念n数据字

23、典是关于数据的信息的集合,也数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定就是对数据流图中包含的所有元素的定义的集合。义的集合。o用途用途n供人查阅对不了解的条目的解释。它的供人查阅对不了解的条目的解释。它的作用是在软件分析和设计的过程中给人作用是在软件分析和设计的过程中给人提供关于数据的描述信息。提供关于数据的描述信息。39数据字典数据字典o数据流图和数据字典的关系数据流图和数据字典的关系n数据流图和数据字典共同构成系统的逻数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严辑模型,没有数据字典数据流图就不严格,然而没有数据流图,数据字典也难格,然而没有

24、数据流图,数据字典也难于发挥作用。于发挥作用。40数据字典的内容数据字典的内容(1)o数据字典应由对下列四类元素的定义组成:数据字典应由对下列四类元素的定义组成:n数据流数据流n数据流分量(即,数据元素)数据流分量(即,数据元素)n数据存储数据存储n处理处理41数据字典的实现数据字典的实现o三种途径:三种途径:n全人工过程全人工过程n全自动化过程(利用数据字典处理程序)全自动化过程(利用数据字典处理程序)n混合过程(用正文编辑程序,报告生成程序混合过程(用正文编辑程序,报告生成程序等已有的使用程序帮助人工过程)等已有的使用程序帮助人工过程)42成本成本/效益分析效益分析(1)从经济角度评价开发

25、一个新项目是否可行、从经济角度评价开发一个新项目是否可行、是否划算,从而帮助使用部门的负责人正确是否划算,从而帮助使用部门的负责人正确地作出是否投资于这项开发的决定。地作出是否投资于这项开发的决定。43成本成本/效益分析效益分析(2)o成本成本/效益分析的方法效益分析的方法n成本成本/效益分析的第一步是估计效益分析的第一步是估计1.开发成本开发成本2.运行费用运行费用3.新系统将带来的经济效益新系统将带来的经济效益然后从经济角度判断这个系统是否值得投资。然后从经济角度判断这个系统是否值得投资。44成本成本/效益分析效益分析(3)1.开发成本估算开发成本估算n开发软件的成本主要是人的劳动消耗。开

26、发软件的成本主要是人的劳动消耗。软件开发成本软件开发成本的计算方法的计算方法是以一次性开是以一次性开发过程所花费的代价来计算的发过程所花费的代价来计算的,也就是,也就是从项目计划、需求分析、总体设计、详从项目计划、需求分析、总体设计、详细设计、编码、单元测试、整体测试等细设计、编码、单元测试、整体测试等全过程所花费的代价作为成本。全过程所花费的代价作为成本。软件开发成本主要表现为人力消耗软件开发成本主要表现为人力消耗 (乘以平均工资则得到开发费用乘以平均工资则得到开发费用)45成本成本/效益分析效益分析(4)o成本估算的技术成本估算的技术n代码行技术代码行技术o代码行技术是一种简单的方法,它通

27、过估计代码行技术是一种简单的方法,它通过估计软件中的代码行数来估计软件的开发成本。软件中的代码行数来估计软件的开发成本。用每行代码的成本乘以行数就得到软件的开用每行代码的成本乘以行数就得到软件的开发成本。发成本。o每行代码的平均成本主要取决于软件的复杂每行代码的平均成本主要取决于软件的复杂程度和工资水平。程度和工资水平。o代码行技术是比较简单的定量估算方法。当代码行技术是比较简单的定量估算方法。当有以往开发类似工程的历史数据可供参考时,有以往开发类似工程的历史数据可供参考时,这个方法是非常有效的。这个方法是非常有效的。46成本成本/效益分析效益分析(5)n任务分解技术任务分解技术o首先将任务分

28、解成若干子任务,然后对子任务首先将任务分解成若干子任务,然后对子任务进行成本估计,最后累加起来得出软件开发总进行成本估计,最后累加起来得出软件开发总成本。成本。o在典型环境下各开发阶段需要使用的人力的百在典型环境下各开发阶段需要使用的人力的百分比,可供开发人员在对软件成本估计时参考。分比,可供开发人员在对软件成本估计时参考。47成本成本/效益分析效益分析(6)n自动估计成本技术自动估计成本技术o采用自动估计成本的软件工具可以减轻人的采用自动估计成本的软件工具可以减轻人的劳动,并且使得估计的结果更客观。劳动,并且使得估计的结果更客观。o采用这种技术必须有长期搜集的大量历史数采用这种技术必须有长期

29、搜集的大量历史数据为基础,并且需要有良好的数据库系统支据为基础,并且需要有良好的数据库系统支持。持。48成本成本/效益分析效益分析(7)2.运行费用运行费用 取决于系统的操作费用取决于系统的操作费用(操作员人数,工作时操作员人数,工作时间,消耗的物资等间,消耗的物资等)和维护费用。和维护费用。3.新系统将带来的经济效益新系统将带来的经济效益 系统的经济效益等于因使用新系统而增加的系统的经济效益等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用。收入加上使用新系统可以节省的运行费用。49成本成本/效益分析效益分析(8)o注意:注意:n总的效益和生命周期的长度有关,所以应该合总的效益和生

30、命周期的长度有关,所以应该合理地估计软件的寿命。理地估计软件的寿命。n投资是现在进行的,效益是将来获得的,不能投资是现在进行的,效益是将来获得的,不能简单地比较成本和效益,应该考虑货币的时间简单地比较成本和效益,应该考虑货币的时间价值。价值。货币的时间价值货币的时间价值投资回收期投资回收期纯收入纯收入投资回收率投资回收率50需求分析基本概念需求分析基本概念o可行性分析任务可行性分析任务o需求分析需求分析n需求分析是指对要解决的问题进行详细的分需求分析是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。数

31、据,要得到什么结果,最后应输出什么。可以说,在软件工程当中的可以说,在软件工程当中的“需求分析需求分析”就就是是在可行性分析的基础上,进一步了解确定在可行性分析的基础上,进一步了解确定用户需求。准确地回答用户需求。准确地回答 “系统必须做什么系统必须做什么?”的问题。获得需求规格说明书。的问题。获得需求规格说明书。做还是不做?做还是不做?做什么,不做什么?做什么,不做什么?51需求分析基本概念需求分析基本概念o需求分析需求分析的的目的目的n需求分析要求开发人员准确理解客户的需求分析要求开发人员准确理解客户的需求,进行细致的调查分析,将用户非需求,进行细致的调查分析,将用户非形式的需求陈述转化为

32、完整的需求定义,形式的需求陈述转化为完整的需求定义,再由需求定义转化到相应的形式功能规再由需求定义转化到相应的形式功能规约(需求规格说明)的过程。约(需求规格说明)的过程。|需求分析虽处于软件开发的初期阶段,但需求分析虽处于软件开发的初期阶段,但它对于整个软件开发过程以及产品质量至它对于整个软件开发过程以及产品质量至关重要。关重要。52需求分析主要任务需求分析主要任务o需求分析需求分析是软件计划时期的是软件计划时期的最后一个阶段最后一个阶段,其其主要任务主要任务是:是:1.确定对系统的综合要求确定对系统的综合要求o系统功能要求、性能要求、运行要求、将来可系统功能要求、性能要求、运行要求、将来可

33、能提出的要求能提出的要求2.分析系统的数据要求分析系统的数据要求o建立概念模型建立概念模型3.导出系统的逻辑模型导出系统的逻辑模型4.修正系统开发计划修正系统开发计划 5.开发原型系统开发原型系统53需求分析基本概念需求分析基本概念o导致需求分析困难的原因:导致需求分析困难的原因:1.用户通常并不真正知道自己希望计算机系用户通常并不真正知道自己希望计算机系统做什么统做什么2.由于背景知识的不同,开发人员与用户之由于背景知识的不同,开发人员与用户之间交流障碍,理解的障碍间交流障碍,理解的障碍3.需求的不完备性和不一致性需求的不完备性和不一致性o不同的用户提出不同的需求,可能存在矛盾和冲不同的用户

34、提出不同的需求,可能存在矛盾和冲突突o管理者可能出于增加影响力的原因而提出特别的管理者可能出于增加影响力的原因而提出特别的需求需求4.由于经济和业务环境的动态性,需求易变由于经济和业务环境的动态性,需求易变54软件需求的基本概念软件需求的基本概念o高质量软件需求的特征高质量软件需求的特征n无二义性o不同的人员对需求的理解应该是一致的。一般情况下,描述需求都使用自然语言,因此容易引起需求理解的二义性。n完整性o不能遗漏任何必要的需求o每一项需求要完成的任务必须要描述清楚,以便开发人员明白实现这项需求的所有信息,用户能够审查这项需求描述的正确性55软件需求的基本概念软件需求的基本概念o高质量软件需

35、求的特征高质量软件需求的特征n正确性o每项需求都必须准确地反映用户要完成的任务n可行性o每一个成功的软件系统其解决方案都应该是可行的,可行性体现在技术、经济、操作可行性n必要性o每项需求都应该是客户所需要的,开发人员不要自作主张添加需求56软件需求的基本概念软件需求的基本概念o高质量软件需求的特征高质量软件需求的特征n划分优先级o为每项需求按重要程度分配一个优先级,有助于项目管理者解决冲突、安排阶段性交付,在必要时作出功能取舍,以最小的费用获得产品最大的功能。n可验证性o指定非功能需求的度量o理论上,非功能需求能够量化,从而使其验证更为可观。但在实际过程中,对需求描述的量化通常是很困难的57需

36、求分析的方法需求分析的方法o不同的开发方法,需求分析的方法也不同的开发方法,需求分析的方法也有所不同,常见的有所不同,常见的分析方法分析方法有:有:n面向数据流的结构化分析方法面向数据流的结构化分析方法 (SA)(SA)n面向数据结构的面向数据结构的JacksonJackson方法方法 (JSD)(JSD)n面向数据结构的结构化数据系统开发方面向数据结构的结构化数据系统开发方法法 (DSSD)(DSSD)n面向对象的分析方法面向对象的分析方法 (OOA)(OOA)58结构化需求分析结构化需求分析o结构化分析方法概述结构化分析方法概述n发展历史发展历史o提出:提出:2020世纪世纪6060年代末

37、到年代末到7070年代初年代初o成熟:成熟:2020世纪世纪7070年代末到年代末到8080年代中期年代中期59结构化需求分析结构化需求分析n主要思想主要思想 抽象抽象与自顶向下的逐层与自顶向下的逐层分解分解(控制复杂性的两个基本手段控制复杂性的两个基本手段)o抽象抽象:在每个:在每个抽象层次上忽略问题的抽象层次上忽略问题的内部复杂性内部复杂性,只关注整个问题与外界,只关注整个问题与外界的联系的联系o分解分解:将问题不断分解为较小的问题,:将问题不断分解为较小的问题,直到每个最底层的问题都足够简单为直到每个最底层的问题都足够简单为止止60其它分析方法与图形工具其它分析方法与图形工具(1)1 1

38、结构化自然语言结构化自然语言 结结构构化化自自然然语语言言的的语语法法通通常常分分为为内内外外两两层层,外外层层语语法法描描述述操操作作的的控控制制结结构构,如如顺顺序序、选选择择、循循环环等等,这这些些控控制制结结构构将将加加工工中中的的各各个个操操作作连连接接起起来来。内内层层语语法法一一般般没没有有什什么么限限制制,就用自然语言描述。就用自然语言描述。61其它分析方法与图形工具其它分析方法与图形工具(2)2 2层次方框图层次方框图 层层次次方方框框图图用用树树形形结结构构的的一一系系列列多多层层次次的的矩矩形形框框描描绘绘数数据据的的层层次次结结构构。树树形形结结构构的的顶顶层层是是一一

39、个个单单独独的的矩矩形形框框,它它代代表表完完整整的的数数据据结结构构,下下面面的的各各层层矩矩形形框框代代表表这这个个数数据据的的子子集集,最最底底层层的的各各个个框框代代表表组组成成这这个个数数据据的的实实际际数数据元素(不能再分割的元素)。据元素(不能再分割的元素)。62其它分析方法与图形工具其它分析方法与图形工具(3)3 3Warnier图图 用用Warnier图可以表明信息的逻辑组织图可以表明信息的逻辑组织软件产品软件产品系统软件系统软件应用软件应用软件操作系统(操作系统(P1)编译程序(编译程序(P2)软件工具软件工具编译程序(编译程序(P3)测试驱动程序(测试驱动程序(P4)设计

40、辅助工具(设计辅助工具(P5)63其它分析方法与图形工具其它分析方法与图形工具(4)4IPO图图 IPO图是输入处理输出图的简称图是输入处理输出图的简称,它的它的基本形式是在左边的框中列出有关的输入数基本形式是在左边的框中列出有关的输入数据,在中间的框内列出主要的处理,在右边据,在中间的框内列出主要的处理,在右边的框内列出产生的输出数据。的框内列出产生的输出数据。64其它分析方法与图形工具其它分析方法与图形工具(5)5判定表判定表 判定表常用来描述一些不易用语言表达清楚判定表常用来描述一些不易用语言表达清楚或需要很大篇幅才能用语言表达清楚的加工。或需要很大篇幅才能用语言表达清楚的加工。旅游旅游

41、时间时间79,12月月l6,10,11月月定票量定票量202020202020折扣量折扣量5%15%20%30%表4.2 旅游价格表 65需求获取需求获取o需求获取需要解决的三个问题需求获取需要解决的三个问题n需求的来源(需求的来源(where)n需求获取的方法(需求获取的方法(how?)n需求获取的内容(需求获取的内容(what?)66需求获取需求获取o1.需求的来源(需求的来源(where)n客户或用户n标准n政策或法律n系统或过程文档n当前手工管理的文件、表格、记录等n相关领域的专家67需求获取需求获取o讨论讨论n如果要开发以下系统,请问可以从哪如果要开发以下系统,请问可以从哪里获得信息

42、里获得信息o 学籍管理系统o 图书管理系统o 证券交易系统o 科研管理系统o 选课系统68需求获取需求获取2.需求获取的方法与策略(需求获取的方法与策略(How)n建立顺畅的通信途径n访谈与调查n观察用户操作流程n组成联合小组n用况(Use Case)69需求获取需求获取n(1)建立顺畅的通信途径o建立分析所需要的通信途径,以保证能顺利地对问题进行分析。70需求获取需求获取n(2)访谈与调查o分析人员应该在调研前做充分的准备,针对具体项目的特点设计一些问题和表格。o在实际项目中应该根据项目的规模、涉及的业务领域,有针对性的设计一些特别的问题。|下面给出一组比较通用的调研问题供参考下面给出一组比

43、较通用的调研问题供参考71需求获取需求获取n调研的基本问题1.部门的名称、人员数量和结构2.部门发展或变化简单介绍3.部门的主要任务4.业务处理流程5.业务处理流程中涉及那些专业领域的知识6.工作需要的审批流程是什么?7.主要算法描述8.哪些业务需要实时处理9.哪些业务需要交互操作10.部门各岗位的职责72需求获取需求获取n调研的基本问题11.部门接收哪些部门或外界的信息?信息内 容和格式要求是什么?12.部门产生哪些信息?13.部门产生的信息送到哪些其他部门?格式 要求是什么?14.对信息的输入和输出方式有要求吗?输入 输出设备是什么?73需求获取需求获取n调研的基本问题15.数据要求实时备

44、份吗?备份的设备是什 么?时间策略?16.业务处理有高峰期吗?高峰时间是什么时 候?业务量有多少?17.信息内容和格式要求是什么?18.现有的哪些设备要继续使用?19.对产品的运行环境有要求吗?20.对界面风格和操作方式有要求吗?74需求获取需求获取n调研的基本问题21.在系统运行过程中允许停机吗?22.操作方式要根据操作环境和使用人员素质 分类吗?23.需要的操作权限有哪些?24.需要记录系统操作运行日志吗?25.用户有能力进行系统维护吗?26.需要分布式处理吗?75需求获取需求获取n(3)观察用户操作流程o到用户的实际工作环境中对用户的工作流程进行观察,了解用户实际的操作环境、操作过程和操

45、作要求,对照用户提交的问题陈述,对用户需求可以有更全面、更细致的认识。76需求获取需求获取n(4)组成联合小组o便利的应用规约技术(Facilitated Application Specification Techniques,FAST)是一种面向团队的需求收集方法,o即由开发人员和共同利益者的团队共同完成如下任务:n确认问题n为解决方案的要素提供建议n协商不同的方法n说明初步的解决方案需求集合77需求获取需求获取n(5)用况o当需求作为非正式会议、Fast的一部分而收集起来之后,分析员就可以创建一组标识一串待建造系统的使用场景。o创建用况模型的主要步骤如下:确定谁会直接使用该系统,即参与者

46、(Actor)选取其中一个参与者78需求获取需求获取定义该参与者希望系统做什么,参与者希望系统作的每件事将成为一个用况对每件事来说,何时参与者会使用系统,通常会发生什么,这就是用况的基本过程79需求规格说明需求规格说明o需求规格说明书需求规格说明书n需求工程最大的成果是得到需求规格说明书。n需求规格说明书是软件产品开发过程中唯一与用户共同协商、共同起草的一个文件,它包含了用户方和开发方两方面的意见。80需求规格说明需求规格说明o需求规格说明的地位和作用需求规格说明的地位和作用n需求规格说明书作为系统开发各方的共识,是对系统进行设计、实现、测试和验收的基本依据n项目经理根据它制定开发计划n设计人

47、员根据它进行系统设计n测试人员根据它编写测试计划、设计测试用例n维护人员根据它理解系统及其中的各个部分间的关系n用户根据它进行系统的验收,检查系统是否符合要求81需求规格说明需求规格说明o需求规格说明的编写原则需求规格说明的编写原则 原则1:只描述“做什么”而无须描述“怎么做”原则2:必须说明运行环境原则3:考虑用户、分析员和实现者的交流n对形式化和自然语言之间作出恰当的选择n明确的理解最重要,不存在十全十美的软件规格说明书82需求规格说明需求规格说明o需求规格说明的编写原则需求规格说明的编写原则原则4:力求寻找到恰如其分的需求详细程度n一个有益的原则就是编写单个的可测试需求文档n建议将可测试

48、的需求作为衡量软件产品规模大小的尺度 原则5:文档段落不宜太长n简短:n记住:不要在需求说明中使用“和/或”、“等等”之类的词83需求规格说明需求规格说明o需求规格说明的编写原则需求规格说明的编写原则原则6:避免使用模糊的、主观的术语n如用户友好、容易、简单、迅速、有效、许多、最新技术、优越的、可接受的、最大化、最小化、提高等n不可验证84如何完成任务需求规格说明书需求规格说明书.引言引言 A.系系统统参考文献参考文献B.整体描述整体描述C.软软件件项项目目约约束束.信息描述信息描述 A.信息内容表示信息内容表示B.信息流表示:信息流表示:数据流数据流 控制流控制流.功能描述功能描述 A.功能

49、划分功能划分 B.功能描述:功能描述:处处理理说说明明 限制限制局限局限 性能需求性能需求 设计约设计约束束 支撑支撑图图 C.控制描述控制描述 控制控制规约规约 设计设计约约束束.行行为为描述描述 A.系系统统状状态态 B.事件和响事件和响应应.检验标检验标准准 A.性能范性能范围围B.测试测试种种类类C.期望的期望的软软件响件响应应D.特殊的考特殊的考虑虑.参考参考书书目目.附附录录85o引言:陈述软件目标,在基于计算机的系统语境内进引言:陈述软件目标,在基于计算机的系统语境内进行描述。行描述。o信息描述:给出软件必须解决问题的详细描述,记录信息描述:给出软件必须解决问题的详细描述,记录信

50、息内容和关系、流和结构。信息内容和关系、流和结构。o功能描述:描述解决问题所需的每个功能。其中包括,功能描述:描述解决问题所需的每个功能。其中包括,为每个功能说明一个处理过程;叙述设计约束;叙述为每个功能说明一个处理过程;叙述设计约束;叙述性能特征;用一个或多个图形来形象地表示软件的整性能特征;用一个或多个图形来形象地表示软件的整体结构和软件功能与其他系统元素间的相互影响。体结构和软件功能与其他系统元素间的相互影响。o行为描述:描述作为外部事件和内部产生的控制特征行为描述:描述作为外部事件和内部产生的控制特征的软件操作。的软件操作。o检验标准:描述检验系统成功的标志。即对系统进行检验标准:描述

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 项目管理

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁