软件工程软件需求分析的基本概念和相关知识

(1)软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程;

(2)IEEE对软件工程的定义是:将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。

提高软件生产率、提高软件质量、降低软件成本。

(1)软件工程方法:是指完成软件工程项目的技术手段,它支持整个软件生命周期;

(2)软件工程工具:是人们在开发软件的活动中智力和体力的扩展与延伸,它自动或半自动地支持软件的开发和管理,支持各种软件文档的生成;

(3)软件工程过程:软件工程中的过程贯穿于软件开发的各个环节,管理人员在软件工程过程中,要对软件开发的质量、进度、成本进行评估、管理和控制,包括人员组织、计划跟踪与控制、成本估算、质量保证和配置管理等。

(1)软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望;

(2)IEEE对软件需求的定义是:用户解决问题或达到目标所需的条件或能力,是系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力,以及反映这些条件或能力的文档说明。

软件需求是多层次的,包括业务需求、用户需求和系统需求

(1)业务需求:业务需求是指反映企业或客户对系统高层次的目标要求,通常来自项目投资人、购买产品的客户、客户单位的管理人员、市场营销部门或产品策划部门等。通过业务需求可以确定项目视图和范围,项目视图和范围文档把业务需求集中在一个简单、紧凑的文档中,该文档为以后的开发工作奠定了基础;

(2)用户需求:用户需求是指用户的具体目标或用户要求系统必须能完成的任务。用户需求描述了用户能使用系统来做些什么。通常采取用户访谈和问卷调查等方式,对用户使用的场景(scenarios)进行整理,从而建立用户需求;

质量功能部署(QualityFunctionDeployment,QFD)是一种将用户要求转化成软件需求的技术,其目的是最大限度地提升软件工程过程中用户的满意度。为了达到这个目际,OFD将软件需求分为三类,分别是常规需求、期望需求和意外需求。

(1)常规需求:用户认为系统应该做到的功能或性能,实现越多用户会越满意;

(2)期望需求:用户想当然认为系统应具备的功能或性能,但并不能正确描述自己想要得到的这些功能或性能需求。如果期望需求没有得到实现,会让用户感到不满意;

(3)意外需求:意外需求也称为兴奋需求,是用户要求范围外的功能或性能(但通常是软件开发人员很乐意赋予系统的技术特性),实现这些需求用户会更高兴,但不实现也不影响其购买的决策。意外需求是控制在开发人员手中的,开发人员可以选择实现更多的意外需求,以便得到高满意、高忠诚度的用户,也可以(出于成本或项目周期的考虑)选择不实现任何意外需求。

需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。常见的需求获取方法包括用户访谈、问卷调查、采样、情节串联板、联合需求计划等。

需求分析是指提炼、分析和审查已获取到的需求,确保所有项目干系人都明白其含义并找出其中的错误、遗漏或其他不足的地方。需求分析的关键在于对问题域的研究与理解。为了便于理解问题域,现代软件工程方法所推荐的做法是对问题域进行抽象,将其分解为若干个基本元素,然后对元素之间的关系进行建模。

(1)SA方法:使用SA方法进行需求分析,其建立的模型的核心是数据字典,围绕这个核心,有三个层次的模型,分别是数据模型、功能模型和行为模型(也称为状态模型)。在实际工作中,一般使用实体联系图(E-R图)表示数据模型,使用数据流图(DataFlowDiagram,DFD)表示功能模型,使用状态转换终(StateTransformDiagram,STD)表示行为模型。E-R图主要描述实体、属性以及实体之间的关系;DFD从数据传递和加工的角度,利用图形符号通过逐层细分描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功能;STD通过描述系统的状态和引起系统状态转换的事件,来表示系统的行为,指出作为特定事件的结果将执行哪些动作(例如,处理数据等);

(2)OOA方法:OOA的基本任务是运用OO方法,对问题域进行分析和理解,正确认识其中的事物及它们之间的关系,找出描述问题域和系统功能所需的类和对象,定义它们的属性和职责,以及它们之间所形成的各种联系。最终产生一个符合用户需求,并能直接反映问题域和系统功能的OOA模型及其详细说明。OOA模型包括用例模型和分析模型:用例是一种描述系统需求的方法,使用用例的方法来描述系统需求的过程就是用例建模;分析模型描述系统的基本逻辑结构,展示对象和类如何组成系统(静态模型),以及它们如何保持通信,实现系统行为(动态模型)。

软件需求规格说明书(SoftwareRequirementSpecification,SRS)是需求开发活动的产物,编制该文档的目的是使项目干系人与开发团队对系统的初始规定有一个共同的理解,使之成为整个开发工作的基础。SRS是软件开发过程中最重要的文档之一,对于任何规模和性质的软件项目都不应该缺少。SRS内容包括:范围、引用文件、需求、合规性规定、需求可追踪性、尚未解决的问题、注解、附录等。

需求验证也称为需求确认,主要确认以下方面内容:

(1)SRS正确地描述了预期的、满足项目干系人需求的系统行为和特征;

(3)需求是完整的和高质量的;

(4)需求的表示在所有地方都是一致的;

(5)需求为继续进行系统设计、实现和测试提供了足够的基础。

THE END
1.2.1系统需求分析收银系统需求分析报告书 1.需求概述 1.1项目背景 随着全国各大企业的蓬勃发展越来越多的企业需要拥有一套自己的收银系统,本系统主要是迎合一些小规模的超市企业的收银需求系统,充分考虑了用户的使用习惯和思考方式,使用户能够直观,简单,快速的学会使用系统,是同行中使用性,操作性等的一款收银管理系统,本系统具有收银、https://www.jianshu.com/p/04124136d95d
2.系统分析与需求分析:概念解析与区别系统分析不完全是需求分析;需求分析属于系统分析。 在我印象中,系统分析和需求分析是同一件事,说法不同而已,平时也是混合使用,不加区分。但事实上,二者还是有所区别。教程里,系统分析和需求分析分别位于不同的章节,其中系统分析自成一章,而需求分析则放在需求工程章节里。 从书本表述看,系统分析与需求分析用的技术https://blog.csdn.net/leftfist/article/details/122469280
3.系统需求分析(精选十篇)该方法主要使用一种形式语言进行公式推理,并通过证明得出结构可行性的结论,得到网站信息系统的需求规格说明书,规范开发过程,保障系统性能。 5 网站信息系统需求分析 需求分析阶段的参与人员包括客户、网站信息系统分析员、网站设计开发人员和网站项目管理人员,如图4所示。 网站项目管理人员(通常是项目经理)负责处理项目所有https://www.360wenmi.com/f/cnkeyl8vyix5.html
4.系统需求分析报告.docx全文免费报告/分析 商业贸易系统需求分析报告.docx 8页VIP内容提供方:118books 大小:129.99 KB 字数:约3.25千字 发布时间:2019-09-21发布于上海 浏览人气:319 下载次数:仅上传者可见 收藏次数:1 需要金币:*** 金币 (10金币=人民币1元)系统需求分析报告.docx 关闭预览 想预览更多内容,点击免费在线预览全文https://max.book118.com/html/2019/0919/8006102004002051.shtm
5.系统需求分析和软件需求分析在软件开发过程中,系统需求分析和软件需求分析是两个至关重要的环节。它们不仅为项目的顺利实施提供了明确的方向,而且是项目成功的基石。本文将深入探讨这两个分析过程及其在软件开发中的重要性。 一、系统需求分析 系统需求分析是软件开发前期的关键活动,它涉及对整个系统的功能、性能、安全性等方面的全面考量。这一阶https://blog.51cto.com/u_15273385/11470018
6.系统需求分析报告书(模板).docwdwdwd***经济林管理信息系统需求分析报告***二〇一三年十二月目录TOC\o"1-2"\h\z\u引言31工程概述41.1工程目标分析41.2工程背景及意义41.3工程建设的必要性51.4工程建设的可行性52工程数据分析72.1经济林根基地理信息72.2经济林调查数据及处理73功能需求分析103.1功能构造图103.2功能说明114运行环https://m.renrendoc.com/paper/293311591.html
7.需求分析包括哪些方面系统需求分析则关系到软件产品的技术层面,包括了硬件设备、操作系统、网络架构、第三方集成等要求。它确保技术层面能够支撑功能和非功能需求的实现。 在进行需求分析时,每一个方面都至关重要;它们相互依赖,共同塑造出最终的软件产品。对于复杂的软件项目,一个细致全面的需求分析不仅能够确保产品符合预期,还能有效控制项目https://www.zoho.com.cn/crm/articles/demand535.html
8.业务系统软件需求分析怎么写步骤五:形成需求规划,为软件开发提供清晰的指导。以上操作指南可帮助软件开发团队进行业务系统软件需求分析。 在进行业务系统软件需求分析时,首先需要明确需求分析的目的和意义。业务系统软件需求分析是指对用户需求进行深入研究和分析,以便最终确定符合用户需求的软件系统功能和性能特征。通过需求分析,可以帮助开发团队更好地https://h.chanjet.com/ask/73ede819f759b.html
9.系统分析师教程知识点精讲之系统分析与需求分析区别摘要:软考系统分析师在2017上半年开考,希赛小编为大家整理了一些系统分析师教程知识点精讲,以下是有关需求分析的讲解,希望对准备参加考试的你有所帮助。 >>>点击了解系统分析师网络班 >>>点击了解系统分析师面授班 软考系统分析师在2017上半年开考,希赛小编为大家整理了一些系统分析师教程知识点精讲,以下是有关https://www.educity.cn/rk/1783727.html
10.软件需求分析报告(精选5篇)通过充分理解用户需求,确保最终开发的软件系统能够真正满足用户的实际需求和期望,这是软件开发的首要任务。以下是小编为大家整理的软件需求分析报告(精选5篇),欢迎大家分享。 软件需求分析报告1 随着信息技术的飞速发展,企业数字化转型已成为提升竞争力的关键。为开发一款高效、易用的企业资源管理系统,以帮助企业实现业务https://www.ruiwen.com/word/ruanjianxuqiufenxibaogao.html
11.如何系统性分析需求?(方法论+案例+清单)人人都是产品经理编辑导语:你有没有遇到过这样的情况:当你与他人沟通需求时,常常被他人所带歪,又或者是在分析需求时,需求分析不够系统以及透彻。作者梳理了一套系统性分析需求的方法,希望对你有所帮助。 不知你是否有过这样的困惑? 当你跟需求方沟通需求时,容易被对方的思路带偏,导致需求沟通不完整,反复多次沟通才弄清楚,感觉自https://www.woshipm.com/zhichang/5551466.html
12.内部系统开发怎么做需求分析?内部系统开发是为了满足组织或企业内部需求而创建的软件应用程序。在内部系统开发中,需求分析是关键的一步,因为它有助于明确项目的范围、功能和目标,确保开发团队和利益相关者在同一页面上。以下是关于如何进行内部系统开发的需求分析的一些建议: 明确项目背景和目标: http://www.apppark.cn/t-48988.html
13.老年认知障碍多维度评估系统1 系统需求分析与总体设计1.1 需求分析 随着大数据时代的到来, 患者图表数据和图片数据日益增加, 尤其是医生们需要留底的表单图片和患者的语音等非结构化数据, 通过一台主机去存储这些数据, 必定会导致用户访问数据库数据效率低, 数据的安全性和稳定性也无法得到保证, 想要去备份数据库里的数据也会十分困难. 为了解决https://c-s-a.org.cn/html/2023/3/9006.html