3 需求分析
- 格式:ppt
- 大小:494.50 KB
- 文档页数:61
第3章需求分析一、填空题(30小题)1、需求分析的困难主要体现在4个方面:问题的复杂性、( )、( )、需求易变性。
答案:交流障碍、不完备性和不一致性2、由于数据流是流动中的数据,所以必须有( )。
除了与( )之间的数据流不用命名外,数据流应该用名词或名词短语命名。
答案:流向、数据存储3、需求分析是指,开发人员要准确理解( ),进行细致的( ),将用户非形式的需求陈述转化为( ),再由( )转换到相应的形式功能规约(需求规格说明)的过程。
答案:用户的要求、调查分析、完整的需求定义、需求定义4、建立数据字典一般的两种形式是( )和( )。
答案:手工建立、利用计算机辅助建立并维护5、在进行可行性研究和软件计划以后,如果确认开发一个新的软件系统是必要的而且是可能的,那么就进入( )阶段。
答案:需求分析6、结构化语言是介于自然语言(英语和汉语)和形式化语言之间的一种半形式语言。
它的结构可分成外层和内层两层,外层用来描述( ),采用( )、( )、( )三种基本结构。
答案:控制结构、顺序、选择、重复7、在SA的需求描述工具中,( )描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等。
( )定义了数据流图中每一个图形元素。
结构化语言、判定表和判定树则详细描述数据流图中不能被再分解的( )。
答案:数据流图、数据字典、每一个加工8、IDEF方法分为以下三部分。
IDEF0:用来描述系统的( ),建立系统的( )。
IDEF1:用来描述系统的( ),建立系统的( )。
IDEF2:用来进行系统的( ),建立系统的( )。
答案:功能活动及联系、功能模型、信息及其联系、信息模型、模拟、动态模型9、三种描述加工逻辑的工具各有优缺点,对于顺序执行和循环执行的动作,用( )描述。
对于存在多个条件复杂组合的判断问题,用( )和( )。
答案:结构化语言、判定表、判定树10、经过需求分析,开发人员已经基本上理解了用户的要求,确定了目标系统的功能,定义了系统的数据,描述了处理这些数据的基本策略。
第3章需求分析1.为什么要进行需求分析?通常对软件系统有哪些需求?答:(1)需求分析的原因为了开发真正满足用户需求的软件产品,需求分析是软件开发工作获得成功的前提条件,不能满足用户需求的程序只会令用户失望,给开发者带来烦恼。
(2)对软件系统的需求功能需求、性能需求、可靠性和可用性需求、出错处理、借口需求、约束、逆向需求、将来可能提出的要求。
2.怎样与用户有效地沟通以获取用户的真实需求?答:访谈是最早开始使用的获取用户需求的技术,也是目前广泛使用的需求分析技术,访谈有两种形式,分别是正式的和非正式的访谈。
正式访谈时,系统分析员将提出一些事先准备好的具体问题。
在非正式访谈中,分析员将提出一些用户可以自由回答的开放性问题,以鼓励被访问人员说出自己的想法。
其中情景分析技术往往非常有效。
3.银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。
用数据流图描绘系统中的数据对象,并用实体联系图描绘系统中的数据对象。
答:(1)数据流图,如图3-9所示。
图3-9银行计算机储蓄系统数据流图(2)E-R模型如图3-10所示。
本题中共有两类实体,分别是“储户”和“储蓄所”,在它们之间存在“存取款”关系。
因为一位储户可以在多家储蓄所存取款,一家储蓄所拥有多位储户,所以“存取款”是多对多(M:N)关系。
储户的属性主要有姓名、住址、电话号码和身份证号码,储蓄所的属性主要是名称、地址和电话号码,而数额、类型、到期日期、利率和密码则是关系类型存取款的属性。
图3-10银行计算机储蓄系E-R图4.分析习题2第3题所述的机票预订系统。
试用实体一联系图描绘本系统中的数据对象并用数据流图描绘本系统的功能。
软件工程3要素
软件工程的三个要素是:需求分析、设计和编码、测试与维护。
1. 需求分析:需求分析是软件工程的第一步,它涉及到了对用户需求的分析和理解。
在这个阶段,软件工程师与用户或客户进行交流,确定软件需要实现的功能和目标,并将这些需求转化为明确的、可执行的规范。
需求分析的目标是确定软件的功能和性能需求,为后续的设计和编码提供基础。
2. 设计和编码:设计和编码是软件工程的核心环节,它涉及到了如何将需求转化为具体的软件系统。
在设计阶段,软件工程师使用各种设计方法和工具来定义软件的结构、组织和行为,并确定合适的算法和数据结构。
在编码阶段,软件工程师将设计好的系统转化为计算机可执行的代码,使用编程语言来实现软件功能。
设计和编码的目标是按照需求规范,开发高质量、可维护、可扩展的软件系统。
3. 测试与维护:测试与维护是软件工程的最后一个阶段,它涉及到对已开发的软件系统进行测试和修复错误,以确保其质量和可靠性。
在测试阶段,软件工程师使用各种测试方法和工具对软件系统进行验收测试、功能测试、性能测试等,并修复测试中发现的问题。
在维护阶段,软件工程师监听用户的反馈和需求变化,对软件系统进行更新和修复,确保软件系统一直处于可运行和可用的状态。
测试与维护的目标是确保软件系统满足用户需求,并能持续运行和发展。
需求分析的3个层次马斯洛需求层级理论也好,Y方法论、Z方法也好,归根到底都是一些思考框架和方法,如何把握需求、提炼需求,还是需要我们在真实的环境中多聊、多看、多做。
无论是市场营销还是产品设计,“需求”这个词,是最频繁被提及的词汇。
在市场营销领域,无论是新的产品的研发设计,还是制定推广活动方案,我们需要做的是“消费者洞察”。
所以市面上有大量的调查公司,帮助品牌通过问卷、焦点小组访谈等方式,收集用户反馈,以求获得insight。
近些年,随着互联网行业兴起和产品经理岗位的火热,“需求”一词有反复被提及,需求分析成为产品经济的必备技能之一;在“人人都是产品经理”上搜索8,226条结果。
马斯洛需求层级理论也好,Y方法论、Z方法也好,归根到底都是一些思考框架和方法,如何把握需求、提炼需求,还是需要我们在真实的环境中多聊、多看、多做。
需求的第一个层次:需求的忠实记录者腾讯推崇产品文化,其有一个著名的「10/100/1000法则」:即每位产品经理每个月必须做 10 个用户调查,关注 100 个用户博客,收集反馈 1000 个用户体验。
于是,很多产品经理,特别是刚刚进入产品领域的新手,每天将“用户需求”、“使用场景”这些词挂在嘴边,并践行腾讯的「10/100/1000法则」,每天都在记录用户的反馈和槽点。
能坚持倾听用户反馈并记录用户需求,固然不错,然而这还不够。
举一个小例子。
早些年,针对B端广告主制作视频素材的需求,做了一个小工具,小白用户选定模板之后按规定上传图片或者视频,就可以渲染出一支质量还凑合的视频,并且可以直接推送到投放后台。
然而,很多广告主在后台留言,希望能开放下载功能。
这个时候,我们就面临着一个选择:是否需要开放下载?需求的第二个层次:需求的挖掘机多问一句Why,发掘需求背后的动因。
通常情况下,用户通过语言或者文字表达出来的,只是最直接的功能指向。
每一个功能指向背后,都暗藏着一个刺激因素,这个刺激因素才是用户真正希望解决的问题。
第三章需求分析
3.1 需求分析的任务和步骤
——需求分析的任务
……确定对系统的综合要求
……分析系统的数据要求
……建立软件的逻辑模型
——确定对系统的综合要求
……功能性需求
……非功能性需求:可用性,可靠性……
——分析系统的数据要求
……数据字典——定义数据
……层次方框图——定义数据结构
——建立软件的逻辑模型:数据流图、数据字典、实体-联系图、主要算法
——编写软件需求规格说明书
——需求分析评审
3.2 需求获取的常用方法(5个)
——访谈
——问卷调查
——观察用户工作流程
——建立联合分析小组
——快速原型法
3.3 需求分析的方法(4个)
——功能分解法:软件需求当做一棵倒置的功能树
——结构化开发方法:结构化分析、结构化设计和结构化程序设计
——信息建模方法:实体-联系图
——面向对象的分析
3.4 结构化分析技术
——思路:基于数据流图自顶向下逐层分解
3.5 需求分析图形工具
——实体-联系图(Entity-Relationship Diagram)
……实体定义:对软件必须理解的复合信息的抽象
……属性定义:数据对象的性质
……联系定义:数据对象彼此之间相互连接的方式
——数据字典
……定义:数据字典是关于数据的信息的集合,也就是对数据流图中包含的
所有元素的定义的集合。
……四类元素:数据流,数据流分量(即数据元素),数据存储,处理——层次方框图
……定义:用树型结构的一系列多层次的矩形框描绘数据的层次结构。
——IPO图(Input Process Output)。
3.1 需求分析的任务和步骤1.需求分析阶段产生的文档是软件需求规格说明书。
2.需求分析的任务是要建立软件的逻辑模型。
3.分析系统的数据要求是软件需求分析阶段的一个重要的任务。
4.需求分析的任务不包括(B)。
A.问题分析B.系统设计C.需求描述D.需求评审5.需求规格说明书是在计划时期可行性研究阶段产生的文档。
(×)6.需求分析阶段的成果主要是需求规格说明,但该成果与软件设计、编码、测试直至维护关系不大。
(×)7.软件需求是指用户对目标软件系统在功能、性能、行为、设计约束等方面的期望。
(√ )8.需求分析中的性能要求是指系统的技术性能指标,包括:存储量、响应时间、精确度和安全保密等方面。
(√ )3.2 需求分析获取的常用方法3.3 需求分析的方法3.4 结构化分析技术1.要将一个复杂的系统分析清楚,常用方法的结构化分析方法就是( A )A.面向数据流自顶向下逐步求精的方法B.由内向外进行分析的方法C.先局部后整体的分析方法D.使用IPO图形工具分析的方法2.结构化程序设计的一种基本方法是( D )。
A.筛选法B.递归法C.归纳法D.逐步求精法3.结构化程序设计主要强调的是( A )。
A.程序易读性B.程序的效率C.程序的规模D.程序设计语言的先进性4.下列各种叙述中,哪一个不是结构化方法的特征?( C )A.严格定义需求B.划分开发阶段C.提供运行模型D.制定规范文档5.通常所说的结构化设计(SD)是属于基于( B )的设计方法。
A.数据结构B.数据流C.对象D.以上均可6.通常所说的结构化设计方法就是基于数据流的设计方法。
7.结构化程序设计强调模块采用自上而下逐步求精设计方法,单入口、单出口。
(√ )3.5 需求分析图形工具。