项目3 软件项目的定义_第1页
项目3 软件项目的定义_第2页
项目3 软件项目的定义_第3页
项目3 软件项目的定义_第4页
项目3 软件项目的定义_第5页
已阅读5页,还剩31页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学习内容3.1项目的可行性分析

3.2系统流程图3.3项目的需求分析3.4结构化分析方法3.5案例分析——网上购书系统的可行性分析报告及需求分析报告软件项目的定义项目三软件项目的定义项目三本章要点理解可行性分析的任务;了解成本/效益分析;熟悉需求分析的步骤;理解结构化分析法的基本思想;掌握E-R图、数据流图和数据字典的使用。3.1项目的可行性分析项目三在对软件项目进行开发之前,我们必须明确该软件项目开发的任务、以及完成任务的价值,以此制定出完成任务的计划,从而避免软件开发中可能出现的时间、人力、资源和经费的浪费。因此,对软件项目进行可行性分析是软件开发前的必要步骤。软件生存周期的第一个时期是软件定义时期,它包括问题的定义和可行性分析两个阶段。其工作流程见图3-1所示。3.1项目的可行性分析项目三图3-1软件定义时期的工作流程3.1项目的可行性分析项目三问题定义是软件定义时期的第一个阶段,其目的是要弄清楚用户需要计算机解决什么样的问题,以及实现该软件项目所需的资源和经费。该阶段的主要任务是在向用户调查的基础上,形成问题定义报告,该报告被用户认可后,即可作为下一步工作的依据。问题定义的内容包括:问题的背景,开发系统的现状,开发系统的条件和理由,总体要求,环境要求等。问题定义报告应描述的简洁易懂,通常包括以下几项内容:项目名称、问题描述、项目目标(解决现行系统存在的问题)、项目范围和可行性分析。3.1.1问题定义3.1项目的可行性分析项目三问题定义结束后,就进入了软件定义时期的第二个阶段,可行性分析。可行性分析的目的在于用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发。一般情况下,主要从四个方面论证系统开发的可行性。3.1.2可行性分析的任务3.1项目的可行性分析项目三1. 技术可行性技术可行性即分析技术方面的各种因素,分析现有技术是否能够实现该系统的各项功能,能否解决系统中的各种难题;分析相关技术的发展是否支持该系统;现有的技术人员是否能胜任;开发所需要的软件与硬件资源是否具备;开发的风险,在给定的时间、功能、技术性能和经费的约束范围内,能否设计并实现系统的功能和性能。3.1.2可行性分析的任务3.1项目的可行性分析项目三2. 经济可行性所谓经济可行性,是指分析开发该软件项目有没有合理的经济效益,多久能收回成本,因此要对经济的合理性进行评价。3. 运行可行性运行可行性是指为新系统规定的运行方案是否可行。如果新系统是建立在原来已担负其它计算机系统上的,就不能要求它在实时在线状态下运行,以免与原来的任务相矛盾;软件能否被有效的使用;开发过程中能否得到用户方的必要支持;软件使用所带来的影响用户是否能接受。3.1.2可行性分析的任务3.1项目的可行性分析项目三4. 法律可行性法律可行性主要分析包括该软件项目是否存在侵权、妨碍等责任问题,该软件项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质和操作方式是否可行等。3.1.2可行性分析的任务3.1项目的可行性分析项目三可行性分析一般可按照以下步骤进行:1.确定项目规模和目标2.分析目前使用的系统3.建立新系统的高层逻辑模型4.导出和评价各种方案5.推荐可行的方案6.编写可行性分析报告3.1.3可行性分析的步骤3.1项目的可行性分析项目三1. 成本分析软件开发的过程中,会不断的产生成本。若成本估算错误,会导致实际成本远远超出预算,从而导致软件项目开发失败。(1)人员成本①代码行法([例题3.2])软件成本=每行代码的平均成本×代码行数②任务分解法([例题3.3])成本/单独任务=完成该项任务所需人力(人月)×每人每月平均工资③自动估计成本法采用自动估计成本的软件工具,以大量历史数据为基础,估计出比较客观的结果。(2)资源成本(3)其他成本3.1.4成本/效益分析3.1项目的可行性分析项目三2. 效益分析(1)货币的时间价值设年利率为i,现已存入P元,则n年后可得到货币为F=P(1+i)n即为P元钱在n年后的价值。反之,若n年后收入F元,则现在投资的货币为P=F/(1+i)n(2)投资回收期(3)纯收入纯收入=总收入折现值-总成本折现值3.1.4成本/效益分析3.2系统流程图项目三3.2.1系统流程图的作用系统流程图是描述物理系统的工具。所谓物理系统,就是一个具体实现的系统,也就是描述一个单位、组织的信息处理的具体实现的系统。在可行性分析中,可以通过画出系统流程图来了解要开发的项目的大概处理流程、范围和功能等。系统流程图不仅能用于可行性分析,还能用于需求分析阶段。系统流程图用图形符号以黑盒子形式描绘系统里面的每个部件。系统流程图表达的是信息在系统各部件之间流动的情况,而不是对信息进行加工处理的控制过程。3.2系统流程图项目三3.2.2系统流程图的符号3.2系统流程图项目三3.2.2系统流程图的符号3.2系统流程图项目三3.2.3系统流程图示例例3.4某校教务处的教师排课和学生选课的系统流程图如图3-2所示,教师先根据课程信息排课,学生根据选课信息进行选课,课程信息经过教务处审核后生成选课信息表,学生、辅导员可以通过选课查询来确认选课结果。3.3项目的需求分析项目三软件需求分析就是分析该软件用户的需求是什么,完全理解用户对软件需求的完整功能,确认用户软件功能需求,建立可确认的、可验证的一个基本依据。软件需求分析的主要实现目标:1.对实现软件的功能做全面的描述,帮助用户判断实现功能的正确性、一致性和完整性,促使用户在软件设计启动之前尽可能周密、全面的思考软件需求。2.了解和描述软件实现所需的全部信息,为软件设计、确认和验证提供一个基准。3.为软件管理人员进行软件成本计价和编制软件开发计划书提供依据。3.3.1需求分析的概念3.3项目的需求分析项目三需求分析的基本任务是准确的回答“系统必须做什么”这个问题,也就是对目标系统提出完整、准确、清晰、具体的要求。在需求分析阶段结束之前,系统分析员应写出软件需求规格说明书,以书面的形式准确的描述软件需求。需求分析的具体内容可以归纳为六个方面:软件的功能需求,软件与硬件或其他外部系统接口,软件的非功能性需求,软件的反向需求,软件设计和实现上的限制,阅读支持信息。3.3.2需求分析的任务3.3项目的需求分析项目三3.3.3需求分析的步骤3.3项目的需求分析项目三3.3.3需求分析的步骤1.获取需求需求获取是在问题及其最终解决方案之间架设桥梁的第一步。获取需求的一个必不可少的结果是对项目中描述的客户需求的普遍理解。一旦理解了需求,分析人员、开发人员和客户就能探索出描述这些需求的多种解决方案。(1)与用户进行交流。(2)现有产品或竞争产品的描述文档。(3)当前系统的问题报告和改进要求。(4)市场调查和用户问卷调查。(5)观察用户如何工作。3.3项目的需求分析项目三3.3.3需求分析的步骤2.分析需求,建立模型系统分析员对获取到的需求进行分析和综合,建立系统的逻辑模型。逻辑模型通常由数据流图、E-R图表示,使我们更清楚的认识用户的需求。3.编写需求规格说明书将已经过分析的需求清晰、全面、系统、准确地描述成为正式的文档,这一步定义需求的工作就是编写需求规格说明书。为用户、设计人员的交流提供方便,还可作为控制软件开发进程的依据。4.需求评审、验证为了确保已定义的需求(需求规格说明)准确无误,并能为客户(或用户)理解和接受,需要对其进行严格的评审和验证,以保证其正确性、一致性、完备性、准确性和清晰性。3.4结构化分析方法项目三结构化分析(StructuredAnalysis,简称SA法)是面向数据流进行需求分析的方法,采用自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。3.4.1结构化分析概述3.4结构化分析方法项目三3.4.2结构化分析步骤3.4结构化分析方法项目三E-R图也称实体-联系图(EntityRelationshipDiagram),提供了表示实体类型、属性和联系的方法,是描述现实世界概念结构模型的有效方法。构成E-R图的基本要素是实体型、属性和联系。作基本E-R图的步骤:(1)确定所有的实体集合。(2)选择实体集包含的属性。(3)确定实体集之间的关系。(4)确定实体集的关键字,用下划线在属性上标明关键字的属性组合。(5)确定联系的类型,在用线将表示联系的菱形框连接到实体集时,在线旁注明是1或N来表示联系的类型。3.4.3E-R图3.4结构化分析方法项目三数据流图(DataFlowDiagram,简称DFD)是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图包括:数据流、加工、数据存储和外部实体。3.4.4数据流图图3-6网上购书系统--顶层DFD图3.4结构化分析方法项目三数据流图的设计方法:(1)顶层数据流图。顶层数据流图只包含一个数据加工来表示整个系统。整个系统的输入数据流和输出数据流,在于表明被开发系统的范围以及它和周围环境的数据交换关系。(2)第0层数据流图。对顶层数据流图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层数据流图的输入数据经过若干加工处理后,变成顶层数据流图的输出数据流。3.4.4数据流图3.4结构化分析方法项目三数据流图的设计方法:(3)数据加工的内部把每个加工看作一个子系统,把加工的输入数据流、输出数据流看成子系统的输入输出流。于是可以把加工再细化,形成子DFD图。(4)原子加工的分解图对第三步分解出来的DFD图中的每个加工,重复第三步的分解过程,直到图中尚未分解的加工都是足够简单的(即不能再分解),至此,可以设计出一整套分层数据流图。3.4.4数据流图3.4结构化分析方法项目三数据字典(DataDictionary,DD)的作用就是对数据流图上的每个成分加以定义和说明。数据字典描述的主要内容包括数据流、数据元素、数据存储、处理过程等,其中数据元素是组成数据流的基本成分。数据字典中有六类条目,分别是数据元素、数据结构、数据流、数据存储、处理过程、外部实体。3.4.5数据字典

3.5案例分析——网上购书系统的可行性分析报告及需求分析报告项目三以本书的案例——网上购书系统,举例说明项目的可行性分析和需求分析的部分内容,网上购书系统的可行性分析报告、项目开发计划及需求分析报告详细请参考附录2。某书店业务一直采用手工管理。手工信息管理存在工作量大、工作效率低等情况。该书店为了提高工作效率、拓展图书和其他新业务,也为了满足网上购书读者的需求,希望软件公司能为其开发一个网上购书系统,软件公司经过一周的调查研究,提出了关于网上购书系统的问题定义报告,具体内容见表3-1所示。3.5案例分析——网上购书系统的可行性分析报告及需求分析报告项目三3.5案例分析——网上购书系统的可行性分析报告及需求分析报告项目三网上购书系统的数据流程和处理流程见下图所示:3.5案例分析——网上购书系统的可行性分析报告及需求分析报告项目三网上购书系统顶层数据流图--顶层DFD图3.5案例分析——网上购书系统的可行性分析报告及需求分析报告项目三网上购书系统第0层数据流图一、目的与任务目的:学会对软件项目进行需求分析,利用结构化分析方法和UML建模的理念,对人事管理系统进行建模,并且学会正确编写软件工程各个阶段的对应文档。任务:基于人事管理系统的需求进行分析,逐步分解各功能模块,对系统进行建模,并完成人事管理系统的可行性分析报告、项目开发计划和需求规格分析等实训报告。二、内容、要求与安排方式1、实验内容与要求:实验一人事管理系统建模上机练习(2课时)实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论