《软件工程第2章软件计划.pptx》由会员分享,可在线阅读,更多相关《软件工程第2章软件计划.pptx(82页珍藏版)》请在优知文库上搜索。
1、C o n t e n t s目录软件问题定义及可行性研究01需求分析02需求分析图形工具03数据字典04数据字典0501软件问题定义及可行性研究软件问题定义可行性研究指定项目开发计划44 1.1 软件问题的定义 在软件工程项目开始时,往往要先进行系统定义,确定系统硬件、软件的功能和接口。系统定义涉及的问题不完全属于软件工程范畴,它为系统提供总体概貌,根据对需求的初步理解,把系统功能分配给硬件、软件及系统的其他部分。01 充分理解所涉及的问题,对问题的解决办法进行论证。03 表达解决方案,以便进行复审。02 评价问题解决办法的不同实现方案。1.1.1 软件问题定义的任务55 1.1 软件问题定
2、义1.1.2 明确系统的目标,规模和基本要求基本要求1 包括软件的功能、性能、输入(数据的来源、类型、数量,数据的组织以及提供的频度)、输出(如报告、文件或数据,说明其用途、产生频度、接口及分发对象)、处理流程和数据流程、安全和保密方面的要求、同本系统相连接的其他系统等。系统目标2 例如,人力与设备费用的减少;处理速度的提高;控制精度或生产能力的提高;管理信息服务的改进;人员利用率的改进等。系统开发条件,假定和限制3 例如,系统运行寿命的最小值;经费、投资的来源和限制;法律和政策的限制;硬件、软件、运行环境和开发环境的条件及限制;可利用的信息和资源;完成期限等。66 1.1 软件问题定义1.1
3、.2 明确系统的目标,规模和基本要求 可采用调查、加权、确定模型、建立基准点或仿真等方法进行可行性研究。 例如,经费的多少,各项功能的优先次序,开发时间的长短及使用的难易程度等。可行性研究方法4评价尺度577 1.1 软件问题定义1.1.3 设计新系统可能的解决方案 系统分析员在分析现有系统的基础上,针对新系统的开发目标,设计出新系统的若干种高层次的可能解法。可以用高层数据流图和数据字典来描述系统的基本功能和处理流程。先从技术的角度出发提出不同的解决方案,再从经济可行性和操作可行性进行考虑,优化和推荐方案。最后,要将上述分析设计结果整理成文档,供用户方的决策者选择。 现在尚未进入需求分析阶段,
4、对系统的描述不是完整的、详细的,只是概括的、高层的。88 1.2 可行性研究1.2.1 技术可行性考虑方面技术可行性定义1技术可行性是指对设备条件、技术解决方案的实用性和技术资源的可用性的度量。在决定采用何种开发方法和工具时,必须考虑设备条件,通常选择实用的、开发人员掌握较好的一类;用户使用和操作可行性2用户使用可行性是指使用软件对用户内部组织管理制度的影响程度;用户操作可行性是指软件系统所采用的操作方式对用户来说是否可行。99 1.2 可行性研究1.2.2 经济可行性考虑方面经济可行性定义1投资和效益分析2经济可行性是指希望以最小的成本开发出具有最佳的经济效益的软件产品。(1)支出。说明所需
5、的费用,包括基本建设投资,移动设备和固定设备购置费用,操作系统、应用软件、网络软件和数据库管理软件费用,其他一次性支出及非一次性支出费用。(2)收益。(3)收益/投资比。(4)投资回收周期(一般假定为5年)。(5)敏感度分析。1010 1.2 可行性研究1.2.3 社会因素方面的可行性考虑方面社会因素可行性定义1社会因素方面的可行性主要从法律、用户等方面分析可行性;法律方面的可行性是指要开发的项目是否存在任何侵权、妨碍等责任问题;用户方面的可行性是指对用户内部组织管理制度的影响程度,用户操作方式是否可行等。1111 1.2 可行性研究1.2.4 可行性分析结论(3)不能进行或不必进行开发(例如
6、所需技术不成熟、经济上不划算等)。(2)需要等待某些条件(例如资金、人力、设备等)落实之后才能开发;或需要对开发目标进行某些修改之后才能开发。(1)可以进行开发。ACB1212 1.2 可行性研究1.2.5 可行性研究总结 可行性研究阶段不要急于着手解决问题,其主要目的是得到系统确实可行的结论,或及时中止不可行的项目。应避免在项目进行了较长时间后,才发现项目根本不可行,以致造成浪费。可行性报告要得到用户单位决策者的认可,所提出的结论要有具体、充分的理由。由用户单位的决策者根据可行性报告,选择决定所采用的具体解决方案。可行的项目才能进入下一步即制订项目的开发计划和实施阶段。1313 1.3 制订
7、项目开发计划项目开发计划项目开发计划14需求分析需求分析方法需求分析步骤021515 2.1 需求分析方法需求分析方法需求分析 通常把将要建立的系统称为“目标系统”。需求分析(Requirements Analysis)是研究用户要求,以得到目标系统的需求定义的过程。 需求分析的基本任务是软件人员和用户一起完全弄清用户对系统的确切要求。需求分析的结果是否正确,关系到软件开发的成败,正确的需求分析是整个系统开发的基础。因此,需求分析过程要进行调查研究,分析和描述系统的逻辑模型,并进行复审。 需求分析是理解、分析和表达“系统必须做什么”的过程。需求分析阶段并不需要马上进行具体的系统设计和需求实现,
8、而是反复多次地对用户提出的要求进行细化,以便充分理解用户的需求。通过分析得出对系统完整、准确、清晰、具体的要求。表达是通过建立模型(简称建模)、规格说明和复审,说明“系统必须做什么”的过程。1616 2.1 需求分析方法 建立模型就是描述用户需求,可使用的工具有实体关系图、数据流图、状态转换图、数据字典、层次图、Warnier图、IPO图等。建立模型 复审是指需求分析的结果要经过严格的审查,以确保软件产品的质量。 软件需求是进行软件质量度量的基础,与需求不符就是软件质量不高。复审 软件需求分析阶段要求用需求规格说明表达用户对系统的要求。软件需求规格说明一般含有以下内容:软件的目标,系统的数据描
9、述、功能描述和行为描述,软件确认标准,资料目录,附录等。规格说明可用文字方式表示,也可用图形表示。规格说明2.1.1 需求分析表达方式1717 2.1 需求分析方法2.1.2 如何进行调查研究1访谈 访谈有正式访谈和非正式访谈。正式访谈,事先准备好具体问题,询问用户;非正式访谈,鼓励被访问人员表达想法。3开会 可采用“开会讨论确认”的方法进行调查。开会之前,要让每位与会者做好充分的准备。开会时,用户和开发者共同合作,标识问题,提出解决方案的要素,商讨不同的方法,最后确定软件的基本需求。2分发调查问卷 调查表中列出需要的内容,让用户书面回答问题。书面回答经过仔细思考,可能回答得更准确。但是调查表
10、的回收率往往不是很高。在需要做大量调查研究时,才采用分发调查表的方法。1818 2.1 需求分析方法2.1.3 确定系统需求1系统的运行环境要求 系统的运行环境要求包括硬件环境要求和软件环境要求两方面。 硬件环境要求是指对外存储器种类、数据输入方式、数据通信接口等的要求。 软件环境要求是指对操作系统、网络软件、数据库管理系统、中间件、多媒体信息处理软件等的要求。 系统的性能要求,是指系统所需的存储容量、安全性、可靠性、期望的响应时间等。2系统的性能要求3系统功能 确定目标系统必须具备的所有功能,系统功能的限制条件和设计约束。4接口需求 接口需求描述系统与其环境的通信的格式。常见的接口需求有用户
11、接口需求、硬件接口需求、软件接口需求、通信接口需求等。例如,嵌入式系统与仪器、仪表、传感器等的接口需求。1919 2.1 需求分析方法案例对某高校医疗费管理系统进行需求分析例 2-1 某高校医疗费分为校内门诊费、校外门诊费、住院费和子女医疗费4种。系统要求在数据库中存放每个职工的职工号、姓名、所属部门。职工报销医疗费时填写所属部门、职工号、姓名、日期、医疗费类别和金额。该校规定,每年每个职工的医疗费有一个限额(如1 000元),限额在年初时确定。每个职工一年内报销的医疗费,不超过限额时可全部报销;超过限额时,超出部分只可报销90%,其余10%由职工个人承担。职工子女的医疗费也有限额(如240元
12、),超出部分只可报销50%。 医疗费管理系统每天记录当天报销的若干职工或职工子女的医疗费的类别和金额。在当天下班前,让系统自动结账、统计当天报销的医疗费总额,供出纳员核对。每笔账要保存备查,每天所报销的费用要和各个职工已报销的金额累计起来,以便检查哪些职工已超额;系统要配有适当的查询功能。年终结算后,下一年度开始时,要对数据库文件进行初始化,每位职工当年的医疗费余额作为历年账户的余额,新年度的医疗费限额作为新年度的余额。职工调离本单位、调入本单位或在本单位各部门间调动,数据库文件要及时修改。2020 2.1 需求分析方法某高校医疗费管理系统需求分析(1)系统的运行环境要求。 该系统的规模不太大
13、,可以和用户单位的财务管理系统使用相同的计算机硬件设备、操作系统和数据库管理系统。在使用数据库管理系统建立数据库结构时,如果用英文来定义字段名,则应在数据字典中说明各字段名所对应的中文含义。(2)系统的性能要求。 由于医疗费管理系统涉及会计经费问题,数据不能随意更改,但数据输入时又难免会出错。因而在每输入一位职工的医疗费后,系统屏幕应提示“数据有误吗?”,若有误可及时更改,避免输入数据出错。每天报销工作结束时,应让出纳员核对一下经费总额。若有数据有误。这时可让计算机显示出每笔报销账目,供相关人员仔细核对,此时计算机系统可提示再允许修改一次。正式登记账目后,输入的数据就不允许修改了,由此来保证财
14、务制度的严格性,并保证数据的安全性。例2-12121 2.1 需求分析方法某高校医疗费管理系统需求分析(3)系统功能。 为方便用户使用,可设计表格形式的屏幕输入格式,让用户像填表那样输入相应的数据。输入若干行后,若数据表格填满,则可以清除屏幕上表格中的数据,供用户继续输入数据。 分析系统的数据流程如下:职工或职工子女医疗费报销时,输入职工报销的日期、职工号、姓名、部门、医疗费类别和金额。 上述数据输入以后要多次使用: 报销当天要算出医疗费分类总额和各类总金额,以便核对出纳员支出的金额总数; 每笔账要保存在医疗费明细账上,供统计全校医疗费支出总账和输出个人医疗费明细账用; 每笔账要累加到对应的职
15、工或职工子女的医疗费累计账上去,以便及时了解该职工或职工子女的医疗费是否超额。例2-12222 2.2 需求分析步骤1建立系统模型2写出需求规格说明4制定初步的测试计划45编写初步的用户手册3修正开发计划36编写数据要求说明书7复审2.2 需求分析七步骤2323 2.2 需求分析步骤2.2.1 建立系统模型 建模功能模型为了定义软件的功能,建立功能模型;用数据流图来描述数据在系统中移动时如何变换以及描绘变换数据流的功能和子功能。数据模型为了理解和表示问题的信息域,建立数据模型;用实体关系图来描述实体之间的关系。行为模型为了表示软件的行为,建立行为模型;用状态转换图来描绘系统的各种行为模式(状态
16、)和不同状态间的转换。 模型是为了理解事物而模型是为了理解事物而对事物作出的一种抽象,是对事物作出的一种抽象,是对事物的一种无歧义的书面对事物的一种无歧义的书面描述。模型由一组图形符号描述。模型由一组图形符号和组成图形的规则组成。和组成图形的规则组成。2424 2.2 需求分析步骤需求规格说明2.2.2 软件需求规格说明的框架2525 2.2 需求分析步骤 通过需求分析,可对目标系统有更深入、更具体的了解,因而可以更准确地估计系统的开发成本和进度,修正前阶段制订的开发计划。修正开发计划2.2.3 修正开发计划2626 2.2 需求分析步骤 为了验证系统是否满足用户需求,必须对系统功能进行测试。在系统开发早期就制订测试计划,有利于明确设计目标,保证设计的正确性。 软件测试计划描述测试策略,以及测试活动的范围、方法、资源和进度。它规定了被测试的项、特性,应完成的测试任务,承担各项工作的人员职责及与本计划有关的风险等。 软件确认交付时,依据预先制订的软件测试计划进行验收,因而测试计划要得到用户方决策者的批准。测试计划2.2.4 制定初步的测试计划2727 2.2 需求分析步骤2.2.5 编写