第3章需求分析._第1页
第3章需求分析._第2页
第3章需求分析._第3页
第3章需求分析._第4页
第3章需求分析._第5页
已阅读5页,还剩128页未读, 继续免费阅读

下载本文档

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

文档简介

1、LOGO1软件工程第第2章章 课程回顾课程回顾v知识点回顾:知识点回顾: 系统流程图描绘物理系统的一种传统工具,它的基本思想是用图形符号以黑盒子形式描绘系统里面的每一个部件(程序、文件、数据库、表格、人工过程等) 数据流图(Data Flow Diagram,DFD)描绘系统的一种逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况2第第2章课程回顾章课程回顾 数据字典(Data Dictionary, DD)对于数据流图中所出现的所有被命名的图形元素为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释 可行性研究的主要内容 一般来说,至少要从以下三个方面展开研

2、究: (1)技术可行性:使用现有的技术能实现这个系统吗? (2)经济可行性:这个系统的经济效益能超过它的开发成本吗?3第第2章课程回顾章课程回顾 (3)操作可行性:系统的操作方式在这个用户组织内行得通吗? 此外,还应从法律、社会效益等更广泛的方面研究每种解法的可行性。v可行性研究的一般步骤:可行性研究的一般步骤: (1)复查系统规模和目标 (2)研究目前正在使用的系统 (3)导出新系统的高层逻辑模型 (4)进一步定义问题4第第2章课程回顾章课程回顾 (5)导出和评价供选择的解法 (6)推荐行动方针 (7)草拟开发计划 (8)书写文档提交检查v数据流图的组成、画法数据流图的组成、画法 数据流图一

3、般由正方形图(代表源点或终点),圆角矩形图(代表处理),开口矩形(代表数据存储)和箭头(代表数据流动方向)组成5第第2章课程回顾章课程回顾 数据流图画法: (1)确定系统的输入输出 (2)由外向里画系统的顶层数据流图 (3)自顶向下逐层分解,绘出分层数据流图 绘制数据流图的注意事项 (1)合理细化 (2)分层细化时必须保持信息的连续性 (3)注意处理的编号和适当地命名 (4)画数据流而不是控制流6第第2章课程回顾章课程回顾 (5)先考虑稳定状态 (6)忽略琐碎的枝节 (7)随时准备重画 (8)注意程序流程图和数据流图的区别。数据流图描绘所有可能,而不应该描绘出现某个数据流的条件 (9)数据流图

4、基本要点是要回答“做什么”,而不是“怎样做” (10)注意各图形元素的命名:直接影响到数据流图的可理解性7第第2章课程回顾章课程回顾 数据字典的主要内容 图形元素的名字、别名或编号、分类、描述、定义、位置等 字典与数据流图之间关系 数据流图描述了系统的“分解” 依靠“字典”来说明各个成分的含义 数据流图种所有名字的定义就构成一本字典 数据流图和字典结合在一起构成了“需求说明书” 可行性研究报告的一般格式:GB8567-888可行性报告(可行性报告(GB8567-88)v1 引言引言 1.1 编写目的 说明编写本可行性研究报告的目的,指出预期的读者 1.2 背景: 说明: 所建议开发的软件系统的

5、名称: 本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络 该软件系统通其他系统或其他机构的基本往来关系9 1.3定义 列出本文件中用到的专门术语的定义和外文首字母组词的原词组 1.4参考资料 列出用得着的参考资料,如: 本项目的经核准的计划任务书或合同、上级机关的批文 术语本项目的其他已发表的文件 本文件中各处引用的文件、资料,包括所需用到的软件开发标准 列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文献资料的来源10可行性研究报告(可行性研究报告(GB8567-88)v2. 可行性研究的前提可行性研究的前提 说明对所建议的开发项目进行可行性研究的前提

6、,如要求、目标、假定、限制等 2.1 要求 说明对所建议开发的软件的基本要求,如: 功能 性能 输出如报告、文件或数据,对每项输出要说明其特征,如用途、广告频度、接口以及开发对象11可行性研究报告(可行性研究报告(GB8567-88) 输入说明系统的输入,包括数据的来源、类型、数量、数据的组织以及提供的频度 处理流程和数据流程用图表的方式表示出最基本的数据流程和处理流程,并辅之以叙述 在安全与保密方面的要求 同本系统相连接的其他系统 完成期限12可行性研究报告(可行性研究报告(GB8567-88) 2.2 目标 说明所建议系统的主要开发目标,如: 人力与设备费用的减少 处理速度的提高 控制精度

7、或生产能力的提高 管理信息服务的改进 自动决策系统的改进 人员利用率的改进13可行性研究报告(可行性研究报告(GB8567-88) 2.3 条件、假定和限制 说明对这项开发中给出的条件、假定和所受到的限制,如: 所建议系统的运行寿命的最小值 进行系统方案选择比较的时间 经费、投资方面的来源和限制 法律和政策方面的限制 硬件、软件、运行环境和开发环境方面的条件和限制 可利用的信息和资源 系统投入使用的最晚时间14可行性研究报告(可行性研究报告(GB8567-88) 2.4 进行可行性研究的方法 说明这项可行性研究将是如何进行的,所建议的系统将是如何评价的。摘要说明所使用的基本方法和策略,如调查、

8、加权、确定墨西哥、建立基准点或仿真等 2.5 评价尺度 说明对系统进行评价时所使用的主要尺度,如费用的多少、各项功能的优先次序、开发时间的长短及使用中的难易程度15可行性研究报告(可行性研究报告(GB8567-88)v3 对现有系统的分析对现有系统的分析 这里的现有系统是指当前实际使用的系统,这个系统可能是计算机系统,也可能是一个机械系统甚至是一个人工系统 分析现有系统的目的是为了进一步阐明建议中的开发新系统或修改现有系统的必要性 3.1 处理流程和数据流程 说明现有系统的基本的处理流程和数据流程。此流程可用图表即流程图的形式表示,并加以叙述16可行性研究报告(可行性研究报告(GB8567-8

9、8) 3.2 工作负荷 列出现有系统所承担的工作及工作量 3.3 费用开支 列出由于运行现有系统所引起的费用开支,如人力、设备、空间、支持性服务、材料等项开支以及开支总额 3.4 人员 列出为了现有系统的运行和维护所需要的人员的专业技术类别和数量17可行性研究报告(可行性研究报告(GB8567-88) 3.5 设备 列出现有系统所使用的各种设备 3.6 局限性 列出本系统的主要的局限性,例如处理时间赶不上需要,响应不及时,数据存储能力不足,处理功能不够等。并且要说明,为什么对现有系统的改进性维护已经不能解决问题v4 所建议的系统所建议的系统 本章将用来说明所建议系统的目标和要求将如何被满足18

10、可行性研究报告(可行性研究报告(GB8567-88) 4.1 对所建议系统的说明 概括地说明所建议系统,并说明在第2章中所列出的那些要求将如何得到满足,说明所使用的基本方法及理论根据 4.2 处理流程和数据流程 给出所建议系统的处理流程和数据流程 4.3 改进之处 按2.2条中列出的目标,逐项说明所建议系统相对于现存系统具有的改进19可行性研究报告(可行性研究报告(GB8567-88) 4.4 影响 说明在建立所建议系统时,预期将带来的影响,包括:4.4.1 对设备的影响说明新提出的设备要求及对现存系统中尚可使用的设备作出的修改4.4.2对软件的影响说明为了使现存的应用软件和支持软件能够同所建

11、议系统相适应。而需要对这些软件所进行的修改和补充。20可行性研究报告(可行性研究报告(GB8567-88)4.4.3 对用户单位机构的影响说明为了建立和运行所建议的系统,对用户单位机构、人员的数量和技术水平等方面的全部要求4.4.4 对系统运行过程的影响说明所建议系统读运行过程的影响,如:用户的操作规程运行中心的操作规程运行中心与用户之间的关系源数据的处理数据进入系统的过程对数据保存的要求,对数据存储、恢复的处理21可行性研究报告(可行性研究报告(GB8567-88)输出报告的处理过程、存储媒体和调度方法系统失效的后果及恢复的处理办法 4.4.5 对开发的影响说明对开发的影响,如:为了支持所建

12、议系统的开发,用户需进行的工作为了建立一个数据库所要求的数据资源为了开发和测验所建议系统而需要的计算机资源所涉及的保密与安全问题22可行性研究报告(可行性研究报告(GB8567-88)4.4.6 对地点和设施的影响说明读建筑物改造的要求及对环境设施的要求4.4.7 对经费开支的影响扼要说明为了所建议系统的开发,涉及和维持运行而需要的各项经费开支 4.5 局限性 说明所建议系统尚存在的局限性以及这些问题未能消除的原因23可行性研究报告(可行性研究报告(GB8567-88) 4.6 技术条件方面的可行性 本节应说明技术条件方面的可行性,如: 在当前的限制条件下,该系统的功能目标能否达到 利用现有的

13、技术,该系统的功能能否实现 对开发人员的数量和质量的要求并说明这些要求能否满足 在规定的期限内,本系统的开发能否完成24可行性研究报告(可行性研究报告(GB8567-88)v5 可选择的其他系统方案可选择的其他系统方案 扼要说明曾经考虑过的每一种可选择的系统方案,扼要说明曾经考虑过的每一种可选择的系统方案, 包括需要开发的和可从国内国外直接购买的,如果包括需要开发的和可从国内国外直接购买的,如果没有供选择的系统方案可考虑,则说明这一点没有供选择的系统方案可考虑,则说明这一点 5.1 可选择的系统方案1 参照第4章的提纲,说明可选择的系统方案1,并说明它未被选中的理由 5.2 可选择的系统方案2

14、 按类似5.1条的方式说明第2各乃至第n个可选择的系统方案25可行性研究报告(可行性研究报告(GB8567-88)v6 投资及效益分析投资及效益分析 6.1 支出 对于所选择的方案,说明所需的费用。如果已有一个现存系统,则包括该系统继续运行期间所需的费用 6.1.1 基本建设投资 包括采购、开发和安装下列各项所需的费用,如:房屋和设施ADP设备数据通讯设备环境保护设备26可行性研究报告(可行性研究报告(GB8567-88)安全与保密设备ADP操作系统的和应用的软件数据库管理软件 6.1.2 其他一次性支出包括下列各项所需的费用,如:研究(需求的研究和设计的研究)开发计划与测量基准的研究数据库的

15、建立ADP软件的转换检查费用和技术管理性费用培训费、差旅费以及开发安装人员所需要的一次性支出人员的退休及调动费用等27可行性研究报告(可行性研究报告(GB8567-88) 6.1.3 非一次性支出 列出在该系统生命期内按月或按季或按年支出的用于运行和维护的费用,包括设备的租金和维护费用软件的租金和维护费用数据通讯方面的租金和维护费用人员的工资、奖金房屋、空间的使用开支公用设施方面的开支保密安全方面的开支其他经常性的支出等28可行性研究报告(可行性研究报告(GB8567-88) 6.2 收益 对于所选择的方案,说明能够带来的收益,这里所说的收益,表现未开支费用的减少或避免、差错的减少、灵活性的增

16、加、动作速度的提高和管理计划方面的改进等,包括: 6.2.1 一次性收益 说明能够用人民币数目表示的一次性收益,可按数据处理、用户、管理和支持等项分类叙述 开支的缩减包括改进了的系统的运行所引起的开支缩减,如资源要求的减少,运行效率的改进,数据引入、存储和恢复技术的改进,系统性能的可监控,软件的转换和优化,数据压缩技术的采用,处理的集中化分布化等。29可行性研究报告(可行性研究报告(GB8567-88) 价值的增升包括由于一个应用系统的使用价值的增升所引起的收益,如资源利用的改进、管理和运行效率的改进以及出错率的减少等 其他如从多余设备出售回收的收入等 6.2.2 非一次性收益 说明在整个系统

17、生命期内由于运行所建议系统而导致的按月的、按年的能用人民币数目表示的收益,包括开支的减少和避免 6.2.3 不可定量的收益 逐项列出无法直接用人民币表示的收益,如服务的改进,由操作失误引起的风险的减少,信息掌握情况的改进,组织机构给外界形象的改善等。有些不可琢磨的收益只能大概估计或进行极值估计(按最小和最差情况估计)30可行性研究报告(可行性研究报告(GB8567-88) 6.3 收益投资比 求出整个系统生命期的收益投资比值 6.4 投资回收周期 求出收益的累计数开始超过支出的累计数的时间 6.5 敏感性分析 所谓敏感性分析是指一些关键性因素如系统声明期长度、系统的工作负荷量、工作负荷的类型与

18、这些不同类型之间的合理搭配、处理速度要求、设备和软件的配置等变化时,对开支和收益的影响最灵敏的范围的估计。在敏感性分析的基础尚作出的选择当然会比单一选择的结果要好一些31可行性研究报告(可行性研究报告(GB8567-88)v7 社会因素方面的可行性社会因素方面的可行性v本章用来说明对社会因素方面的可行性分析的结本章用来说明对社会因素方面的可行性分析的结果,包括:果,包括: 7.1 法律方面的可行性 法律方面的可行性问题很多,如合同责任、侵犯专利权、侵犯版权等方面的陷阱,软件人员通常是不熟悉的,有可能陷入,务必要注意研究 7.2 使用方面的可行性32可行性研究报告(可行性研究报告(GB8567-

19、88)v例如从用户单位的行政管理、工作制度等方面来例如从用户单位的行政管理、工作制度等方面来看,是否能够使用该软件系统;从用户单位的工看,是否能够使用该软件系统;从用户单位的工作人员的素质看,是否能满足使用该软件系统的作人员的素质看,是否能满足使用该软件系统的要求等,都是要考虑的要求等,都是要考虑的v8 结论:在进行可行性分析研究报告的编制时,结论:在进行可行性分析研究报告的编制时,必须有一个研究的结论。结论可以是:必须有一个研究的结论。结论可以是: 可以立即开始进行 需要推迟到某些条件落实之后才能开始进行 需要对开发目标进行某些修改之后才能开始进行 不能进行或不必进行(因技术不成熟、经济不合

20、算等)33第第2章课程回顾章课程回顾 数据字典的主要内容 图形元素的名字、别名或编号、分类、描述、定义、位置等 字典与数据流图之间关系 数据流图描述了系统的“分解” 依靠“字典”来说明各个成分的含义 数据流图种所有名字的定义就构成一本字典 数据流图和字典结合在一起构成了“需求说明书” 可行性研究报告的一般格式:GB8567-8834第第3章章 需求分析需求分析v3.1 需求分析的任务需求分析的任务v3.2 获取需求的方法获取需求的方法v3.3 需求分析的一般过程与建模需求分析的一般过程与建模v3.4 结构化分析方法结构化分析方法v3.5 实体联系图实体联系图v3.6 数据规范化数据规范化v3.

21、7 状态转换图状态转换图v3.8 其他图形工具其他图形工具v3.9 需求分析报告的书写需求分析报告的书写v3.10 实例讲评:考务处理系统实例讲评:考务处理系统35第第3章需求分析章需求分析v为什么需要需求分析为什么需要需求分析 开发人员往往急于求成 希望对开发过程进行指导 希望开发人员对用户的要求有准确的理解 希望用户理解开发人员 测试部门有理可 依36第第3章需求分析章需求分析v软件定义软件定义的最后一个阶段的最后一个阶段v准确地准确地回答回答“系统系统必须做什么必须做什么?”这个问题这个问题v通过通过系统分析员系统分析员与与用户用户一起商定一起商定v清晰、准确、具体地描述软件产品必须清晰

22、、准确、具体地描述软件产品必须具有的具有的功功能、性能、运行规格能、性能、运行规格等要求等要求373.1需求分析的任务需求分析的任务v软件需求分析阶段的目的是软件需求分析阶段的目的是澄清澄清用户的要求用户的要求v并把并把双方共同双方共同的理解明确地表达成一份的理解明确地表达成一份书面文档书面文档软件需求规格说明书软件需求规格说明书v结果:结果:完整、准确、清晰和具体的完整、准确、清晰和具体的要求!要求!v准确地定义未来系统的目标,确定为了满足用户准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么。用的需求系统必须做什么。用需求规格说明书需求规格说明书规范的形式准确地表达用户的需求规

23、范的形式准确地表达用户的需求383.1需求需求分析的任务分析的任务v谁是客户谁是客户 客户是指直接或间接地从产品中获得利益的个人或组织 软件客户包括提出要求、支付款项、选择、具体说明或使用软件产品的项目风险承担者(stakeholder)或是获得产品所产生的结果的人v客户与开发人员之间的合作关系客户与开发人员之间的合作关系 高质量的需求来源于客户与开发人员之间有效的交流与合作393.1需求分析的任务需求分析的任务 通常,开发人员与客户或客户代理人成为一种对立关系v软件客户需求软件客户需求权力书权力书 1. 要求分析人员使用符合客户语言习惯的表达 2. 要求分析人员了解客户系统的业务及目标 3.

24、 要求分析人员组织需求获得期间所介绍的信息,并编写软件需求规格说明 4. 要求开发人员对需求过程中所产生的工作结果进行解释说明403.1需求分析的任务需求分析的任务 5. 要求开发人员在整个交流过程中保持和维护一种合作的职业态度 6. 要求开发人员对产品的实现及需求都要提供建议,拿出主意 7. 描述产品使其具有易用、好用的特性 8. 可以调整需求,允许重用已有的软件组件 9. 当需要对需求进行变更时,对成本、影响、得失(tradeoff)有个真实可信的评估413.1需求分析的任务需求分析的任务 10. 获得满足客户功能和质量要求的系统,并且这些要求时开发人员同意的v软件客户需求软件客户需求义务

25、书义务书(客户义务)(客户义务) 1. 给分析人员讲解业务及说明业务方面的术语等专业问题 2. 抽出时间清楚地说明需求并不断完善 3. 当说明系统需求时,力求准确详细 4. 需要时要及时对需求做出决策423.1需求分析的任务需求分析的任务 5. 要尊重开发人员的成本估算和对需求的可行性分析 6. 对单项需求、系统特性或使用实例划分优先级 7. 评审需求文档和原型 8. 一旦知道要对项目需求进行变更,要马上与开发人员联系 9. 在要求需求变更时,应遵照开发组织确定的工作过程来处理433.1需求分析的任务需求分析的任务 10. 尊重需求工程重开发人员采用的流程(过程)v高质量的需求过程带来的好处高

26、质量的需求过程带来的好处 开发后期和整个维护阶段的重做的工作大大减少 强调需求质量并不能引起某些人的重视,他们错误地认为在需求尚消耗多少时间就会导致产品开发推迟多少时间。实际上是保证了开发时间 将选定系统的需求明确地分配到各软件子系统,强调采用产品工程的系统方法443.1需求分析的任务需求分析的任务v各种需求分析方法所应遵循各种需求分析方法所应遵循的准则的准则 必须理解并描述问题的信息域,建立数据模型 必须定义软件应完成的功能,建立功能模型 必须描述为外部事件结果的软件行为,建立行为模型 必须对描述信息、功能和行为的模型进行分解,用层次的方式展开细节453.1需求需求分析的任务分析的任务v需求

27、分析的具体任务包括需求分析的具体任务包括1. 确定软件系统的综合需求2. 分析系统的数据要求数据模型信息模型ER层次方框图3. 导出软件系统的逻辑模型数据流图ER图状态转换图数据字典算法4. 修正系统开发计划5. 验证软件需求分析的正确性6. 编写软件需说明书463.1需求分析的任务需求分析的任务v软软件的综合要求件的综合要求一般包括以下内容一般包括以下内容 (1)功能需求:系统必须提供的服务 系统做什么? 系统何时做什么? 系统何时及如何修改或升级? (2)性能需求:系统必须满足的定时约束或容量约束等 软件开发的技术性指标,例如:存储容量限制;执行速度、响应事件:吞吐量等473.1需求分析的

28、任务需求分析的任务 (3)可靠性和可用性需求 系统的可靠性要求? 系统必须监测和隔离错误吗? 规定系统平均出错时间? 出错后,重启系统允许的时间? 系统变化如何反映到设计中等?483.1需求分析的任务需求分析的任务 (4)出错处理需求:系统对环境错误应怎样响应 (5)接口需求:系统与它的环境通信格式要求: 用户接口需求 硬件接口需求 软件接口需求 通信接口需求等493.1需求分析的任务需求分析的任务 (6)约束:设计约束或实现约束描述在设计或实现应用系统时应遵守的限制条件:精度工具语言设计标准平台等 环境约束:硬件设备:机型、外设、接口、地点、分布、温度、湿度、磁场干扰等软件环境:操作系统、网

29、络、数据库503.1需求分析的任务需求分析的任务 界面约束有来自其他系统的输入吗?有到其他系统的输出吗?对数据格式有规定吗?对数据存储介质有规定吗? 用户或人的因素约束:用户类型?各种用户熟练程度?需受何种训练?用户理解、使用系统的难度?513.1需求分析的任务需求分析的任务 文档约束需哪些文档?文档针对哪些读者? 数据约束输入输出数据的格式?接收、发送数据的频率?数据的准确性和精度?数据流量?数据需保持的时间?523.1需求分析的任务需求分析的任务 资源约束:软件运行时所需要的数据、软件、内存空间等资源软件开发、维护所需的人力、支撑软件、开发设备等 安全保密要求约束:需对访问系统或系统信息加

30、以控制吗?如何隔离用户之间的数据?用户程序如何与其他程序和操作系统隔离?用户错误操作系统的可能性系统备份要求?533.1需求分析的任务需求分析的任务软件成本消耗与开发进度需求约束开发有规定的时间表吗?软硬件投资有无限制? (7)逆向需求:说明软件系统不应该做什么 (8)将来可能提出的要求543.1需求分析的任务需求分析的任务v优秀需求分析具有的特性优秀需求分析具有的特性1. 完整性2. 正确性3. 可行性4. 必要性5. 划分优先级6. 无二义性7. 可验证性553.2 获取需求的方法获取需求的方法v需求获取面临的挑战需求获取面临的挑战 客户说不清楚需求 需求易变性 问题的复杂性和对问题空间理

31、解的不完备性与不一致性563.2 获取需求的方法获取需求的方法v需求获取的常用方法需求获取的常用方法 访谈: 基本方式:正式非正式访谈 需大量调查时:调查表是有效做法 领域专家,主角:系统分析员;导演 情景分析技术:对用户将来使用目标系统解决某个具体问题的方法和结果进行分析 情景分析技术的用途在于:上演目标系统的行为,便于用户理解,使用户扮演一个积极主动的角色573.2 获取需求的方法获取需求的方法v实例讲评:某出版社系统调查表实例讲评:某出版社系统调查表583.2 获取需求的方法获取需求的方法593.2 获取需求的方法获取需求的方法v需求获取的常用方法需求获取的常用方法 面向数据流自顶向下求

32、精 结构化分析方法 从系统的高层数据流图的输出出发,往输入端回溯 对不清楚的地方与用户交流 利用数据流图、数据字典和IPO图向用户解释系统 添加数据字典和IPO图 细化数据流图603.2 获取需求的方法获取需求的方法v需求获取的常用方法需求获取的常用方法 简易的应用规格说明技术: 提倡用户与开发者密切合作 一种新的主流技术 典型过程初步访谈开发者和用户分别写“产品需求”组织会议,会前审阅产品需求白板式会议讨论,禁止批评与争论创建一张意见一致的列表小组制定小型规格说明,供大家讨论613.2 获取需求的方法获取需求的方法v实例讲评:实例讲评:口算高手口算高手软件的需求分析软件的需求分析 (1)口算

33、高手软件功能: 自动出题,且出题的数量可以设定 两位数以内加、减法运算,且结果大于零 三位数以内的加、减法运算,且结果大于零 答案提示选择 判断输入答案的正确性623.2 获取需求的方法获取需求的方法 (2)口算高手软件性能 输入计算结果数据不能大于3位数,不能为负数,不能是小数,否则要提示,并要求重新输入 输入数据不能为非数字,否则要提示,并要求重新输入 要能够制定一次练习的数量,最大数量为50道题 数字显示字号为3号或4号,要清晰 计算结果正确与否要给出不同的声音提示等等633.2 获取需求的方法获取需求的方法 存储容量的限制、执行速度、响应时间、吞吐量等无特殊要求 (3)口算高手软件开发

34、和使用环境约束: 软件开发支撑环境:visual c,delphi,c+ builder,c+ 软件开发操作系统环境:windows 2000/xp/2003linux,unix 软件对网络、数据库等无特殊要求 软件开发硬件环境平台:机型、外设、接口、地点、分布、温度、湿度、磁场干扰等无特殊要求643.2 获取需求的方法获取需求的方法 (4)口算高手软件界面约束 图形界面? Yes Dos界面? No 从键盘输入? Yes 输出到显示器? Yes 输出到打印机 No 对数据格式有规定吗? No 对数据存储介质有规定吗? No653.2 获取需求的方法获取需求的方法 (5)口算高手软件用户约束

35、用户类型:小学1-2年级学生 各种用户熟练程度:不熟练 需受何种训练:仅仅知道最基本的计算机知识 用户理解、使用系统的难度:容易 用户错误操作系统的可能性:大 (6)口算高手软件文档约束: 需提供文档:软件设计相关文档,为软件维护者使用663.2 获取需求的方法获取需求的方法 (7)口算高手软件数据约束 输入数据必须为正整数 输入数据的位数小于等于3位 无其他要求 (8)口算高手软件资源约束: 软件运行时数据、软件、内存空间等资源无特殊要求 软件开发、维护所需的人力:1人,7天,1台pc机等673.2 获取需求的方法获取需求的方法 (9)口算高手软件安全保密约束:无 (10)口算高手软件成本消

36、耗与开发进度约束: 开发规定的时间表:7天 软硬件投资:1人,1台pc机 (11)口算高手软件质量保证 无特殊要求683.2 获取需求的方法获取需求的方法v实例讲评:网络化远程路灯照明系统实例讲评:网络化远程路灯照明系统693.2 获取需求的方法获取需求的方法 (1)系统软件功能需求:703.2 获取需求的方法获取需求的方法713.2 获取需求的方法获取需求的方法 当软件不支持新推出的操作系统或新软件时,系统需修改或升级 (2)系统软件性能要求: 数据精确度 时间特性:10s 适应性:本系统与windows98/me2000/xp均能很好兼容,对用户提出的新要求,留有扩展空间,而且将根据用户以

37、后在应用中发现的新问题进行改进、升级,具有较好的适应性 723.2 获取需求的方法获取需求的方法 (3)系统软件环境需求 硬件设备:机型:PIII以上CPU、DRAM 1GB,120GB硬盘,硬串口,投影仪,打印机等 标准机房 软件:Delphi7.0开发,支持Windows2000/XP2003操作系统,采用Delphi7.0内带数据库 地理信息系统GIS平台:Leading GIS3.5 补充:理正GIS3.5(LEADING GIS):北京理正支持格式比较多,主要有mif,shap(中间格式)美国MAPX(mif),加拿大ERSN(shap):很贵733.2 获取需求的方法获取需求的方法

38、 (4)系统软件界面需求 基于GIS的图形用户界面 地图上直接完成各种操作 图形可缩放 系统状态图形动态显示743.2 获取需求的方法获取需求的方法753.2 获取需求的方法获取需求的方法 用户界面 本系统用户界面主要由欢迎界面、登录界面、主界面和一系列完成相关功能的窗体界面构成 封面主要用于显示系统名称和一些系统相关信息。界面风格与本套系统主题相符 登录界面用于对系统管理者或操作员进行登录验证 主界面主要包括以下几部分:主菜单、快捷工具栏、标准地图显示区、缩略地图显示区和状态栏组成763.2 获取需求的方法获取需求的方法 其他一些主要功能模块界面同主界面风格保持一致 故障处理 为保障用户数据

39、安全,避免数据库因意外情况受损,本系统提供数据备份恢复及数据库修复功能 对于串口通信故障,系统提供串口打开、关闭以及复位处理以解决软件问题导致的串口通信故障773.2 获取需求的方法获取需求的方法 (5)系统软件用户对象因素分析 用户为城市路灯管理处一般工作人员,文化程度不高,对计算机基本不熟悉 需受使用前的一定时间的训练 用户很可能错误地操作系统,容错性要高 (6)系统软件文档需求 需两类文档。一类为设计文档,为后期软件维护和升级时参考使用;另一类为操作手册和使用说明,为直接使用本系统的工作人员使用783.2 获取需求的方法获取需求的方法 (7)系统软件需求:数据流图793.2 获取需求的方

40、法获取需求的方法 静态数据:一个信息系统中可以永久保存的数据,即不随着程序的退出而消失的数据,例如一些GIS中的数据库 动态数据:一个信息系统中伴随着某些指令而产生的数据,这些数据随着程序的退出而消失803.2 获取需求的方法获取需求的方法 (7)系统软件数据需求:数据字典813.2 获取需求的方法获取需求的方法 (8)系统软件资源需求 软件运行时所需的数据、软件、内存空间等资源;每一条路灯信息的容量大小(字节数)、系统最大路灯数量、系统历史数据保存最长时间等因素决定了软件对内存、硬盘以及安全备份方式 软件开发、维护所需的人力:5大模块,每个模块需1名程序员独立完成;项目经理1名:系统分析师1

41、名;其他服务人员1名 支撑软件、开发设备等823.2 获取需求的获取需求的方法方法 (9)系统软件安全保密要求 对于数据库安全性的需求:分级别登录和操作 对于控制指令数据安全性的需求:同上 数据异机备份:本机定时备份:每天定时备份工作日至和重要数据库仅采用网络异机定期备份:每月备份全部数据库不采用远程网络备份(100km) 数据加密算法 833.2 获取需求的方法获取需求的方法 (10)系统软件成本消耗与开发进度需求 开发时间表:10个月 人工费用:18万元 主要设备资源占用:8台计算机,1台打印机,1台投影仪 (11)其他要求 易用性的需求等843.3 需求分析的一般过程与建模需求分析的一般

42、过程与建模v需求分析一般过程可分为需求分析一般过程可分为四个阶段四个阶段:调查研究、:调查研究、分析与综合、书写需求分析的文档和评审分析与综合、书写需求分析的文档和评审 (1)调查研究。系统分析员协同程序员向用户做需求调查,阅读软件计划中的可行性报告和项目开发计划报告,访问系统现场,并由此确定当前系统必须做什么,并获得当前系统的具体模型,用数据流图或IPO图表示出来。补充数据字典(数据)、修改IPO图(算法)853.3 需求分析的一般过程与建模需求分析的一般过程与建模 (2)分析与综合。分析员需从数据流和数据结构出发,逐步细化所有的软件功能,找出系统中各元素之间的联系、接口特征和设计上的限制,

43、分析它们能否满足功能要求,是否合理。依据功能需求、性能需求、运行环境需求等,剔除其中不合理的部分,增加其需要的部分。最终综合成系统的解决方案后,给出目标系统的详细逻辑模型。系统分析员和用户追踪数据流图、复查系统逻辑模型。863.3 需求分析的一般过程与建模需求分析的一般过程与建模 (3)书写需求分析的文档。把分析的结果用正式的文档纪录下来,作为最终软件配置的一个组成成分。应该完成下述四份文档资料:系统规格说明、数据需求、用户系统描述、修正的开发计划。系统规格、数据要求、用户系统描述等文档。 (4)需求分析评审。作为需求分析阶段的复查手段,在需求分析的最后一步,应该对功能的正确性、完整性和清晰性

44、,以及其他需求给予评价。评审结果873.3 需求分析的一般过程与建模需求分析的一般过程与建模883.3 需求分析的一般过程与建模需求分析的一般过程与建模v需求分析的步骤需求分析的步骤893.3 需求分析的一般过程与建模需求分析的一般过程与建模v逻辑模型和物理模型逻辑模型和物理模型 所谓模型就是为了理解事物而对事物作出的一种抽象。是对对象系统的形式化的特征抽象,概括性或近似地表示 构造模型的过程是一个抽象、分析的过程 模型构造的过程903.3 需求分析的一般过程与建模需求分析的一般过程与建模913.3 需求分析的一般过程与建模需求分析的一般过程与建模v需求分析阶段中需求分析阶段中常用的模型常用的

45、模型(逻辑模型)(逻辑模型) 数据流图(DFD):用于建立功能模型 实体联系图(ERD):用于建立数据模型 类图:用于建立结构模型 时序图:用于建立行为模型 状态图:用于建立行为模型 协作图:用于建立行为模型923.4 结构化分析方法结构化分析方法v结构化分析方方法结构化分析方方法(Structured Analysis, 简简称称SA方法方法)是是70年代中期提出的一种面向数据年代中期提出的一种面向数据流、自顶向下、逐步求精进行流、自顶向下、逐步求精进行需求分析的方法需求分析的方法v结构化分析方法适用于分析结构化分析方法适用于分析大型大型的数据处理系统,的数据处理系统,特别适用于特别适用于企

46、事业管理系统企事业管理系统v结构化分析方法通常与设计阶段的结构化分析方法通常与设计阶段的结构化设计方结构化设计方法法(Structured Designed,简称简称SD方法)方法)衔接起来使用衔接起来使用933.4 结构化分析方法结构化分析方法v结构化分析方法中结构化分析方法中使用的建模工具使用的建模工具主要包括:主要包括:数数据流图、数据字典、据流图、数据字典、结构化语结构化语言言、判定表和判定判定表和判定树树 数据流图用以表达系统内数据的运动情况 数据字典用以定义系统中的数据 结构化语言、判定表和判定树都是用以描述数据流的加工的工具943.5 实体联系图实体联系图v概念模型概念模型 概念

47、性数据模型:也称信息模型,是面向问题的数据模型,是按照用户的观点来对数据和信息建模 最常用的概念性数据模型方法:实体联系方法(ERA,Entity-Relationship Approach)或实体联系图(ERD, Entity-Relationship Diagram) ERD描绘系统的数据关系953.5 实体联系图实体联系图 分析实体联系图有助于对业务或系统数据组成的理解和交互,并暗示产品将有必要包含一个数据库。vER模型三要素模型三要素:数据对象数据对象 数据对象:存在且可区分的事物矩形框表示 数据对象是指具有一系列不同性质或属性的事物,仅具有单个值的事物不是数据对象 数据对象可以是:外

48、部实体事物行为事件角色单位地点结构(例如文件)等963.5 实体联系图实体联系图 数据对象之间是有关联的vER模型模型三要素三要素:属性属性 属性:定义了实体或联系所具有的性质。用圆角矩形椭圆形表示vER模型三要素模型三要素:联系联系 联系:数据对象彼此之间相互连接的方式 联系可以是一对一一对多多对多菱形框表示 联系也可以有属性973.5 实体联系图实体联系图v实例讲评:实例讲评:“化学制品跟踪系统化学制品跟踪系统”的实体联系图的实体联系图983.5 实体联系图实体联系图v实例讲评:酒店管理系统的局部实体联系图实例讲评:酒店管理系统的局部实体联系图993.5 实体联系图实体联系图v实例讲评:教

49、学管理实体联系实例讲评:教学管理实体联系ER图图1003.6 数据规范化数据规范化v数据规范化目的:数据规范化目的: 减少数据冗余 避免出现插入异常或删除异常 简化修改数据的过程v范式(范式(normal forms) 范式定义消除数据冗余的程度 范式分为1NF5NF,1NF冗余程度最大,5NF冗余程度最小1013.6 数据规范化数据规范化 第一范式 数据冗余程度最大 每个属性值必须是原子值,即仅仅是一个简单值而不含内部结构 第二范式 满足第一范式条件 每个非关键字属性都由整个关键字决定 第三范式 满足第二范式条件 每个非关键字属性都仅由关键字决定,而且非关键字属性不能仅仅是对另一个非关键字属

50、性的进一步描述1023.7 状态转换图状态转换图v状态转换图状态转换图 简称状态图 通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为v状态状态 任何可以被观察到的系统行为模式 一个状态代表系统的一个行为模式 状态规定了系统对事件的响应方式1033.7 状态转换图状态转换图v主要状态主要状态 初态初始状态:仅1个 终态最终状态:0-N个 中间状态:v状态图可以表示系统循环运行过程:不关心如何状态图可以表示系统循环运行过程:不关心如何启动启动v状态图可以表示系统单程生命期:需表明初始状状态图可以表示系统单程生命期:需表明初始状态和最终状态态和最终状态1043.7 状态转换图状态转换图v

51、事件事件 某个特定时刻发生的事情 引起系统作动作或从一个状态转换到另一个状态 是引起系统作动作或和转换状态的控制信息v符号符号 初态:实心圆 终态:一对同心圆(内圆为实心圆) 中间态:圆角矩形1053.7 状态转换图状态转换图106图图3.3 状态图中使用的主要符号状态图中使用的主要符号3.7 状态转换图状态转换图v实例讲评实例讲评1073.7 状态转换图状态转换图v实例讲评:描述客房状态的状态图实例讲评:描述客房状态的状态图1083.7 状态转换图状态转换图v实例讲实例讲评:描评:描述电话述电话系统状系统状态的状态的状态图态图1093.8 其他图形工具其他图形工具v层次方框图层次方框图 用属

52、性结构的一系列多层次的矩形框描述数据的层级结构1103.8 其他图形工具其他图形工具vIPO图图 输入、处理、输出图的简称 IBM公司发展完善的一种图形工具1113.9 需求分析报告书写需求分析报告书写v作报告时要作报告时要先从宏观上先从宏观上讲一、二、三、四、五,讲一、二、三、四、五,再从细节上再从细节上讲讲A、B、C、D、E。应该先了解宏。应该先了解宏观的问题,再了解细节的问题观的问题,再了解细节的问题 SD1,D2,D3,, Dn Di=P1, P2, P3, , Pm Pj=F1, F2, F3, , Fk1123.9 需求分析报告书写需求分析报告书写113软件需求说明书(软件需求说明

53、书(GB856T88)的一般格式)的一般格式软件需求说明书的编写提示(软件需求说明书的编写提示(GB856T88)v1 引言引言 1.1 编写目的 说明编写这份软件需求说明书的目的,指出预期的读者 1.2 背景 说明: 待开发的软件系统的名称 本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络 该软件系统同其他系统或其他机构的基本的相互来往关系114软件需求说明书的编写提示(软件需求说明书的编写提示(GB856T88) 1.3 定义 列出本文件中用到的专门术语的定义和外文首字母组词的原词组 1.4 参考资料 列出用得着的参考资料,如:本项目的经核准的计划任务书或合同、上级机关的

54、批文属于本项目的其他已发表的文件本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够用得到这些文件资料的来源115软件需求说明书的编写提示(软件需求说明书的编写提示(GB856T88)v2 任务概述任务概述 2.1 目标 叙述该软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料 解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图

55、来说明该系统的组成和本产品同其他各部分的联系和接口116软件需求说明书的编写提示(软件需求说明书的编写提示(GB856T88) 2.2 用户的特点 列出本软件的最终用户的特点 充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使用频度 这些是软件设计工作的重要约束 2.3 假定和约束 列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等117软件需求说明书的编写提示(软件需求说明书的编写提示(GB856T88)v3 需求规定需求规定 3.1 对功能的规定 用列表的方式(例如IPO表即输入、处理、输出表的形式),逐项定量和定性地叙述对软件所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明软件应支持的终端数和应支持的并行操作的用户数 3.2 对性能的规定 3.2.1 精

温馨提示

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

评论

0/150

提交评论