软件工程需求分析问答
- 格式:doc
- 大小:26.00 KB
- 文档页数:1
软件工程问答题答案(仅供参考)(精品)软件工程问答题答案(仅供参考)(精品)软件工程是指通过计算机科学与工程学的原理、方法和工具来开发和维护软件的一门学科。
在软件工程领域,存在着许多关键问题和常见的问答题。
本文将为你提供一些常见软件工程问答题的答案,希望能够帮助你更好地理解和应用软件工程的知识。
1. 什么是软件需求工程?软件需求工程是软件工程中的一个重要领域,它关注的是对用户需求进行分析、规范和管理,以便于软件系统的开发和交付。
软件需求工程包括可行性研究、需求获取、需求分析、需求规格说明和需求验证等过程。
2. 请解释软件配置管理是什么?软件配置管理是指通过管理软件系统中的各种配置项和配置变更,以确保软件系统的正确、完整和可追踪。
它包括配置项识别、变更控制、版本控制、配置库管理等活动,旨在提高软件开发和维护过程的可控性和可靠性。
3. 请介绍软件测试的目的和重要性。
软件测试的目的是发现软件系统中的错误、缺陷和潜在问题,以便在软件交付之前进行修复和改进。
软件测试的重要性在于可以提高软件系统的质量和可靠性,降低软件使用过程中的风险和损失。
4. 什么是软件架构?软件架构是指软件系统的基本结构和组织方式。
它描述了软件系统中各个组件之间的关系和交互,以及软件系统的总体设计原则和理念。
软件架构可以帮助团队成员理解和沟通软件系统的设计和实现。
5. 请解释敏捷开发方法。
敏捷开发方法是一种以迭代、循环和适应性为核心的软件开发方法。
它强调团队合作、快速反馈和不断改进,在不断变化的需求环境下能够更加灵活地开发和交付高质量的软件系统。
6. 请介绍软件项目管理的过程和技术。
软件项目管理包括项目计划、项目组织、项目监控和项目交付等过程。
它涉及到时间管理、成本管理、风险管理、质量管理等技术和工具,以确保软件项目能够按时、按量和按质完成。
7. 请解释软件工程中的代码重构。
代码重构是指在不改变软件系统外部行为的前提下,通过对代码的重新组织和调整来改进软件系统的内部质量和可理解性。
软件工程(软件需求)习题与答案软件工程(软件需求)习题与答案1. 引言在软件工程领域,软件需求是项目成功的关键之一。
对于开发者来说,了解和熟悉软件需求的基本概念和流程是至关重要的。
本文将针对软件工程中的软件需求进行习题和答案的探讨,帮助读者更好地理解和应用相关知识。
2. 习题集2.1 习题一:什么是软件需求?为什么软件需求很重要?答案:软件需求是指软件开发过程中,对于所要开发的软件系统的功能、性能以及其他特点的描述和规定。
软件需求的编写和理解对于项目的成败具有决定性的作用。
准确的软件需求能够指导开发团队进行开发工作,并确保最终的软件产品符合用户的期望。
2.2 习题二:软件需求的分类是什么?答案:软件需求可以分为功能需求和非功能需求两类。
功能需求描述了软件系统应具备的功能和行为,非功能需求则描述了软件系统的性能、可靠性、安全性等方面的需求。
2.3 习题三:请列举几个软件需求的常见问题。
答案:常见的软件需求问题包括:- 不完整的需求描述:缺少必要的细节和规范,导致开发团队无法准确理解用户需求。
- 冲突的需求:不同的用户提出了矛盾的要求,导致开发过程复杂化。
- 模糊的需求:需求描述含糊不清,无法量化和验证。
- 可测量性问题:需求无法被准确地测量和评估。
- 可行性问题:需求不符合项目的可行性要求,无法被合理地实施。
3. 答案解析3.1 习题一解析软件需求是对软件系统功能、性能和其他特点的描述和规定。
软件需求的重要性在于它能够指导开发团队进行开发工作,并确保最终产品符合用户期望。
缺乏准确的软件需求往往导致项目失败或产品无法满足用户需求。
3.2 习题二解析软件需求可以分为功能需求和非功能需求两类。
功能需求描述了软件系统应具备的功能和行为,如注册、登录等;非功能需求描述了软件系统的性能、可靠性、安全性等方面的需求,如响应时间、可扩展性等。
3.3 习题三解析常见的软件需求问题包括需求描述不完整、冲突的需求、模糊的需求、可测量性问题以及可行性问题。
软件工程的100道问答题软件工程的100道问答题软件工程的100道问答题1、什么是软件危机?产生软件危机的原因?怎样消除?2、什么是软件工程?包括哪些内容?3、软件生存周期包含哪些内容?4、软件开发模型有几种?各有什么特点?7、在软件开发的早期阶段,为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性?8、一个软件开发系统的可行性研究报告应如何编写?9、数据流图有哪几种基本符号?10、画数据流图原则是什么?11、数据流图在软件分析中的作用是什么?12、数据字典的作用?13、什么是数据字典?有几个定义?各自特点是什么?14、有几种效益的分析方法?15、需求分析的任务是什么?16、需求分析通常采用哪些分析技术?17、什么是结构化分析?他的结构化体现在哪里?18、简述面向对象分析技术的主要步骤?19、原型开发技术的目的,特点是什么?20、简述总体设计的一般过程?21、什么叫软件结构?什么叫软件工程?二者之间关系?22、解释深度、宽度、扇出、扇入对软件的影响。
23、什么叫模块化?m代表的含义是什么?24、模块化的三个重要特征是什么?阐明各自的作用。
25、举例说明各种耦合情况和各种内聚情况。
26、简述设计准则的内容。
27、简述层次方框图与软件结构图的异同点。
28、事物型软件结构图有什么特点?原因是什么?29、详细设计的任务是什么?30、什么是结构化程序设计?用n-s图表示三种基本结构。
31、简述jackson程序设计方法的主要内容。
32、简述wariner程序设计方法的主要内容。
35、c语言属于第几代语言?第四代语言特点是什么?36、简述高级语言的应用特点和内在特点。
37、试分析程序设计语言特点及软件可*性、可理解性、可修改性、可测试性及成本的关系。
38、选择一种语言的实用标准是什么?39、简述开发环境、计算机体系结构、软件设计方法、软件开发过程与程序设计语言之间的促进和制约作用。
40、程序的编码风格主要体现在哪几个方面?41、软件测试的基本任务是什么?测试与调试区别是什么?42、软件测试的目标是什么?43、软件测试分几个步骤进行?每个步骤解决什么问题?44、软件测试有几种方法?每种方法的特点是什么?45、软件出错有几种类型?验证其程序正确性有几种方法?46、什么是单元测试和集成测试?他们各有什么特点?47、简述渐增式测试方法与非渐增式测试方法的优劣。
软件工程六十题1﹑软件产品的特性是什么?产品特性:⑴是一种逻辑产品,与物质产品有很大的区别。
⑵软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品。
⑶软件产品不会用坏,不存在磨损,消耗。
⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的⑸开发软件的费用不断增加,致使生产成本相当昂贵。
2﹑软件生产有几个阶段?各有何特征?⑴程序设计时代:这个阶段生产方式是个体劳动,使用的生产工具是机器语言,汇编语言。
⑵程序系统时代:这个阶段生产方式是小集团合作生产,使用的生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。
⑶软件工程时代:这个阶段生产方式是工程化的生产,使用数据库﹑开发工具﹑开发环境﹑网络﹑分布式﹑面向对象技术来开发软件。
3﹑什么是软件危机?产生原因是什么?软件开发技术的进步未能满足发展的要求。
在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。
产生原因:⑴软件规模越来越大,结构越来越复杂。
⑵软件开发管理困难而复杂。
⑶软件包开发费用不断增加。
⑷软件开发技术落后。
⑸生产方式落后,仍采用手工方式。
⑹开发工具落后,生产率提高缓慢。
4﹑什么是软件工程?它目标和内容是什么?软件工程就是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。
软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
软件工程内容:研究内容包括开发技术和开发管理两个方面。
开发技术主要研究:软件开发方法,开发过程,开发工具和环境。
开发管理主要研究:软件管理学,软件经济学,软件心理学。
5﹑软件工程面临的问题是什么?软件工程需要解决的问题:软件的费用,可靠性,可维护性,软件生产率和软件的重用。
6﹑什么是软件生存周期?它有哪几个活动?软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。
软件⼯程导论简答题三、简答题1.什么是需求分析?需求分析阶段的基本任务是什么?答:需求分析是当前软件⼯程中的关键问题,需求分析阶段的任务是:在可⾏性分析的基础上,进⼀步了解、确定⽤户需求。
准确地回答“系统必须做什么?”的问题。
获得需求规格说明书。
还涉及到软件系统的⽬标、软件系统提供的服务、软件系统的约束和软件系统运⾏的环境。
它还涉及到这些因素和系统的精确规格说明,以及系统进化之间的关系。
需求分析的基本任务包括:(1)抽取需求分析现⾏系统存在需要解决的问题。
获取⾜够多的问题领域的知识,需求抽取的⽅法⼀般有问卷法、⾯谈法、数据采集法、⽤例法、情景实例法以及基于⽬标的⽅法等;还有知识⼯程⽅法,例如,场记分析法、卡⽚分类法、分类表格技术和基于模型的知识获取等。
(2)模拟和分析需求需求分析和模拟⼜包含三个层次的⼯作。
⾸先是需求建模。
需求模型的表现形式有⾃然语⾔、半形式化(如图、表、结构化英语等)和形式化表⽰等三种。
需求概念模型的要求包括实现的独⽴性:不模拟数据的表⽰和内部组织等;需求模拟技术⼜分为企业模拟、功能需求模拟和⾮功能需求模拟等。
(3)传递需求传递需求的主要任务是书写软件需求规格说明。
(4)认可需求就是对需求规格说明达成⼀致,其主要任务是冲突求解,包括定义冲突和冲突求解两⽅⾯。
常⽤的冲突求解⽅法有:协商、竞争、仲裁、强制、教育等,其中有些只能⽤⼈的因素去控制。
(5)进化需求客户的需要总是不断(连续)地增长,但是⼀般的软件开发⼜总是落后于客户需求的增长,如何管理需求的进化(变化)就成为软件进化的⾸要问题。
对于传统的变化管理过程来说,其基本成分包括软件配置、软件基线和变化审查⼩组。
当前的发展是软件家族法,即产品线⽅法。
多视点⽅法也是管理需求变化的⼀种新⽅法,它可以⽤于管理不⼀致性,并进⾏关于变化的推理。
2.等价分类法的基本思想是什么?答:根据程序的输⼊特性,将程序的定义域划分为有限个等价区段——“等价类”,从等价类中选择出的⽤例具有“代表性”,即测试某个等价类的代表值就等价于对这⼀类其他值的测试。
数据流图例题:1、某图书出版公司希望每月定期向固定客户邮寄最近一个月的图书分类目录。
客户可在其收到的目录上圈定自己要买的书。
出版公司按照客户的反馈信息邮寄图书。
要求为出版公司设计软件,以实现以下功能:(1)自动生成图书分类目录;(2)自动处理客户反馈信息。
试用面向数据流的方法给出系统的数据流图2、根据下列描述,画出学生申请IC借书卡管理系统的数据流图。
学生入学后到图书馆申请IC借书卡,图书馆管理人员根据IC借书卡库存情况分析是否需要购买新的IC借书卡,如需购买,则向IC借书卡提供商购买。
各种资金往来通过学校的会计科办理。
判定表例题请用结构化语言、判定表和判定树表示下面描述的耗电记费系统中电费的计算方法:1、耗电记费系统可以采用固定价格收费和浮动价格收费两种方式。
若采用固定价格方式收费,对每月耗电100KW•h以下的用户只征收最低标准费,超过100KW•h的用户按价格表A收费;若采用浮动价格方式收费,则每月耗电100KW•h以下的用户按价格表A收费,超过100KW•h的用户按价格表B收费。
2、某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄在20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。
请用结构化语言、判定表和判定树描述上述问题。
数据流图答案判定表答案:THEN IF 文化程度=初中THEN 脱产学习ELSE 工作为电工ENDIFELSE IF 年龄≤40THEN IF (文化程度=大学)THEN 工作为技术员ELSE IF 性别=男性THEN 工作为钳工ELSE 工作为钳工ENDIFENDIFELSE IF (文化程度=大学)THEN 工作为技术员ELSE 工作为材料员ENDIFENDIFENDIF。
软件需求分析复习题一、判断题1、使用实例方法可以使用户更清楚地认识到新系统允许他做什么,那么我们就应该试图把每一个需求及一个使用实例相联系,尽可能多的使用实例。
〔F〕2、在状态图中定义的状态主要有:初态(即初始状态),终态(即最终状态)与中间状态,在一张状态图中只能有一个初态,而终态那么可以有0至多个。
〔T 〕3、构造化分析方法适合于数据处理类型软件的需求分析。
〔T〕4、数据流图中每个加工至少有一个输入数据流,但可以没有输出数据流。
〔F〕5、DFD及数据流程图的区别是程序流程图用于表示程序的过程设计,DFD用作描述软件的逻辑功能,不能表示程序的控制构造。
〔T〕6、属性是指实体某一方面的特征,一个实体通常有多个属性。
联系也可以有属性。
〔T〕7、软件需求描述的是“如何做〞,而不是“做什么〞。
〔F〕8、软件成功的标准是用户在用,并且可以很容易做完要做的事。
〔T〕9、业务规那么包括企业方针、政府条例、工业标准、会计准那么与计算方法等。
业务规划本身就是软件需求。
〔F〕10、软件需求的层次包括业务需求、用户需求、功能需求。
〔T〕二、选择题1.需求分析最终结果是产生〔C 〕A.工程开发方案B.可行性分析报告C.需求规格说明书D.设计说明书2.需求分析中,开发人员要从用户那里解决的最重要的问题是〔A 〕A.让软件做什么B.要给软件提供哪些信息C.需求软件工作效率怎样D.让软件具有何种构造3.需求规格说明书的内容不应包括对〔B 〕的描述。
A.主要功能B.算法的详细过程C.用户界面的运行环境D.软件性能4.需求规格说明书的作用不应包括〔D 〕A.软件设计的依据B.用户及开发人员对软件要做什么的共同理解C.软件验收的依据D.软件可行性研究的依据5.下面关于面向对象方法中消息的表达,不正确的选项是〔B 〕A.键盘,鼠标,通信端口、网络等设备——有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C.应用程序之间可以相互发送消息D.发送及接收消息的通信机制及传统的子程序调用机制不同6.面向对象技术中,对象是类的实例。
一、单项选择题1. 以下哪一项不是软件危机的表现( B)A.开发的软件可维护性差 B.软件极易被盗版C.经费预算经常被突破 D.开发的软件不能满足用户需求2.下面不属于软件工程的三个要素是( B )。
A 过程B 环境C 方法D 工具3. 需求分析阶段的任务是确定( D )。
A 软件开发方法B 软件开发工具C 软件开发费用D 软件开发功能4. 下列不属..于.需求分析工具的是( D )。
A。
数据流图 B.用例图 C。
状态图D。
程序流程图5.关于软件测试的目的,下面观点错误的是( C )A.为了发现错误而执行程序的过程B.一个好的测试用例能够发现至今尚未发现的错误C。
证明程序是正确、没有错误的D。
一个成功的测试用例是发现了至今尚未发现的错误的测试6。
软件详细设计阶段的任务是( A)。
A.算法与数据结构设计B.功能设计C.调用关系设计 D。
输入/输出设计7. 下列属于静态测试方法的是( A )A.人工检测 B.路径覆盖C.黑盒测试 D.白盒测试8.汽车是一种交通工具,汽车类和交通工具类之间的关系是( C)A.组合聚集关系 B。
共享聚集关系C.一般-具体关系 D。
整体-部分关系9.结构化程序设计的风格,主要强调的是( C ).A.程序的执行效率B.模块的内聚C.程序的可理解性 D.模块的耦合10.在整个软件维护阶段所花费的全部工作中,所占比例最大的是( D)。
A.校正性维护 B.适应性维护C.预防性维护 D.完善性维护11。
“软件工程的概念是为解决软件危机而提出的”这句话的意思是( C )A。
强调软件工程成功解决了软件危机的问题B。
说明软件危机的存在总是使软件开发不像传统工程项目那样容易管理C.说明软件工程这门学科的形成是软件发展的需要D。
说明软件工程的概念,即:工程的原则、思想、方法可解决当时软件开发和维护存在的问题12。
在软件工程的需求分析阶段,不属于问题识别内容的是( A )A。
输入/输出需求 B。
(完整)软件工程简答题必考软件工程简答题必考软件工程是一门研究如何通过系统化的、规范化的、可度量的方法来构建和维护软件的学科。
它的目标是通过合理地应用工程的原理、方法和工具,控制软件开发的各个环节,保证软件的质量和进度,并提高开发效率和可维护性。
下面我们来探究一些软件工程的常见简答题,加深对该领域的理解。
1. 请解释什么是软件过程?软件过程是指在软件开发的整个生命周期中,按照一定的流程和方法进行的活动集合。
它包括需求分析、设计、编码、测试、发布和维护等阶段,并通过规范化的文档和工具来管理和支持这些活动。
通过软件过程,开发团队可以更加有效地组织和协调工作,确保软件开发按时、按质量地完成。
2. 请解释软件生命周期模型,并举例说明。
软件生命周期模型描述了软件开发和维护的不同阶段。
常见的软件生命周期模型包括瀑布模型、迭代模型、螺旋模型等。
例如,瀑布模型将软件开发划分为需求分析、设计、编码、测试和维护等阶段,每个阶段顺序进行,并且每个阶段结束后都有相应的文档。
这种模型适用于需求明确、变动较少的项目。
3. 请解释什么是软件需求工程?软件需求工程是指对软件需求进行系统化和规范化的管理过程。
它包括需求获取、需求分析与建模、需求验证与确认等活动。
软件需求工程旨在确保对用户需求的全面理解和准确描述,并将其转化为开发团队可以理解和实现的形式,以此为软件开发提供准确的目标和方向。
4. 请解释什么是软件设计原则,并举例说明。
软件设计原则是指为了提高软件系统的设计质量,而从实践中总结出来的一些指导原则。
常见的软件设计原则包括开闭原则、单一职责原则、里氏替换原则等。
例如,开闭原则要求软件系统对扩展开放,对修改关闭,通过模块化的设计,可以方便地添加新功能而不影响已有功能的正常运行。
5. 请解释什么是软件测试?软件测试是指对已经开发完成的软件系统进行验证和评估的过程。
它旨在发现软件系统中的错误和缺陷,以提高系统的质量和可靠性。
软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的级别和类型,针对不同的需求和目标进行。
软件需求分析与设计复习题一.判断1、( × ) 程序设计语言种类很多,在进行软件开发时可以随便选择一种语言进行编码。
2. ( x ) 软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。
3、(× ) 在软件开发的各个阶段进行过程中,增加人员肯定会对整个项目提前完成有好处。
4.( x ) 好的测试用例应能证明软件是正确的。
5.( x ) 软件功能测试的测试用例主要是由需求阶段的功能说明部分转化而来。
6、( x ) CoCoMo模型可以用来估算系统的工作量和软件开发所需时间。
7.( x ) 有时为了测试的方便,而可以局部地修改软件系统。
8、( v ) OOA方法的核心思想是利用面向对象的概念和方法为软件需求建造模型,大致步骤是识别对象(属性和方法),识别类及其结构,定义对象之间的消息传递等。
9.( x ) 面向对象方法更适合于软件重用的根本原因在于它是软部件唯一的合成技术。
10、( v ) 系统需求分析员应该具有开发软、硬件系统的经验并且了解用户领域的知识。
11.( x ) 在软件的生命周期中,工作量最大的一个阶段就是编写程序。
12、( x )软件运行正确,可见软件中没有缺陷(fault)。
13.( x ) RUP(Rational Unified Process:统一软件过程)本质上是轻量级的软件过程规范。
14、( v )软件失败(failure)在系统交付之前和交付之后都可能被发现。
15.( x ) 基准测试(benchmark test)是非正式的用户确认和验收测试。
16、( x )开发人员和客户对软件质量因素的认可是完全一致的。
17.( x ) UML语言支持面向对象的主要概念,并与具体的开发过程相关。
18、( v )里程碑(milestone)就是开发过程中的某个活动(activity)。
19.( v ) 好的软件测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。
软件需求分析习题⼤全软件需求分析习题⼤全 Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】习题集⼀、单项选择题1、需求分析最终结果是产⽣()。
A.项⽬开发计划 B.可⾏性分析报告 C.需求规格说明书 D.设计说明书答案:C2、需求分析中,开发⼈员要从⽤户那⾥解决的最重要的问题是()。
A.让软件做什么 B.要给软件提供哪些信息C.要求软件⼯作效率怎样 D.让软件具有何种结构答案:A3、需求规格说明书的内容不应包括对()的描述。
A.主要功能 B.算法的详细过程 C.⽤户界⾯和运⾏环境 D.软件性能答案:B4、需求规格说明书的作⽤不应包括()。
A.软件设计的依据 B.⽤户与开发⼈员对软件要做什么的共同理解C.软件验收的依据 D.软件可⾏性研究的依据答案:D5、下⾯关于⾯向对象⽅法中消息的叙述,不正确的是()。
A.键盘、⿏标、通信端⼝、⽹络等设备⼀有变化,就会产⽣消息B.操作系统不断向应⽤程序发送消息,但应⽤程序不能向操作系统发送消息C. 应⽤程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的⼦程序调⽤机制不同答案:B6、⾯向对象技术中,对象是类的实例。
对象有三种成份:()、属性和⽅法(或操作)。
A. 标识B. 规则C. 封装D. 消息答案:A7、软件需求分析阶段的⼯作,可以分成以下四个⽅⾯:对问题的识别、分析与综合、制定规格说明以及()。
A.总结 B.实践性报告C.需求分析评审 D.以上答案都不正确答案:C8、软件需求规格说明书的内容不应包括对()的描述。
A.主要功能 B.算法的详细过程C.⽤户界⾯及运⾏环境 D.软件的性能答案:B9、产品特性可以称为质量属性,在众多质量属性中,对于开发⼈员来说重要的属性有哪些(B )A 有效性、效率、灵活性、互操作性B 可维护性、可移植性、可重⽤性、可测试性C 完整性、可靠性、健壮性、可⽤性D 容错性、易⽤性、简洁性、正确性10、需求包括11个⽅⾯的内容,其中⽹络和操作系统的要求属于(B ),如何隔离⽤户之间的数据属于(C),执⾏速度、相应时间及吞吐量属于(D ),规定系统平均出错时间属于(A )。
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 需求分析图形工具。
/*****************************简答题********************************************/1. 什么是软件工程?软件工程的目标是什么?答:软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。
目标:1合理预算开发成本,付出较低的开发费用。
2实现预期的软件功能,达到较好的软件性能,满足用户的需求。
3 提高软件的可维护性,降低维护费用。
4 提高软件开发生产率,及时交付使用2. 指出瀑布模型中下列任务的顺序:验收测试,项目计划,单元测试,需求评审,成本估计,概要设计,详细设计,系统测试,设计评审,编码,需求规格说明书。
答:项目计划,成本估计,需求规格说明书,需求评审,概要设计,详细设计,设计评审,编码,单元测试,系统测试,验收测试3. 可行性研究报告的主要内容是什么?答:可行性研究主要包括以下几个部分:(1)概述(2)技术可行性(3)项目成熟程度(4)市场需求情况和风险分析(5)投资估算及资金筹措(6)经济与社会效益(7)综合实力和产业基础(8)项目实施进度计划(9)其它尚需要说明的必要的方面(10)结论4. 什么是需求分析?需求分析阶段的基本任务是什么?答:所谓"需求分析",是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。
可以说,"需求分析"就是确定要计算机"做什么"。
任务:确定软件项目的目标和范围。
调查使用者的要求,分析软件必须做什么,编写需求规格说明书等它相关文档,并进行必要的需求审查。
除此之外,还包括需求变更控制,需求风险控制,需求版本控制等对需求的管理工作5. 什么是结构化分析方法?该方法使用什么描述工具?答:结构化的分析方法是面向数据流的方法,因此,此方法研究的核心是数据的组成和数据流向和对数据的加工处理。
软件需求分析师面试题及答案(1) 需求分析工程师在整个项目管理过程中,扮演怎样的角色?如何与团队的其他成员开展工作?需求分析工程师在项目管理的过程中,扮演着项目成败关键人物或是项目先行者的角色。
在与团队的其他成员(指该项目需求组其他成员),应符合“总-分-总”的交流方式来开展整个项目组的需求调研工作。
①组长与客户负责人进行有效沟通,了解软件使用机构、参与调研的客户部门人员、客户的层次关系(主管/助理)等。
②组长将客户的各项情况通过会议的方式,传达到所有需求分析师。
③组长依据客户基本情况,对需求分析师进行两人分组(调研/协助),并分配至不同的业务和人员。
④调研后,小组成员与相应成员进行沟通,并形成该部分的需求,并及时与客户进行反馈。
⑤小组之间进行沟通,协调需求中的各项名词,并制定整份需求文档。
⑥再次将整本需求反馈给用户,进行协调确认不明确需求。
⑦确定需求后,暂时留守一位需求分析师跟进需求分析过程,快速做出需求变更反馈。
(2) 项目整个计划已经落后,怎样在短时间内追进项目需求进度?项目整个计划已经落后,着急和加班加点并不是很好的解决方式。
虽然加班可以通过工作的时间来增加工作的效果,但是并没有提高效益。
本人觉得以下五条或许能够更好的解决这个问题:①自我暗示:相信自己能够在短时间内完成,其次还得注意到这份压力。
②积极学习:积极去学习业务的专业知识,尽量缩短客户的交流时间。
③有效沟通:要和客户进行有效的沟通,从客户那确定自己学习是否理解正确,减轻客户的交流信息,同时能够提高交流的效率。
④适当加班:项目已经落后,加班是在所难免,但是毕竟要控制这个量。
人不是机器,只有休息好才能隔日有饱满的精神工作。
⑤放手拼搏:到这个关头,除了自我暗示信心外,更重要的是脚踏实地的实践。
(3) 需求分析工作包括哪些?需求分析过程中,包括的工作较多,主要是通过与客户进行直接交流和自己的学习来进行获知。
其主要包括:角色分析、业务流程分析、核心功能分析、关键需求点分析、用例分析、数据流图分析、核心功能点的时序分析、需求文档编写、调研记录和需求变更记录等。
软件工程的问答题软件工程是一门研究如何用系统化、规范化、可度量的方法来开发、运行和维护软件的学科。
在软件工程的领域中,有许多值得探讨的问题。
首先,让我们来谈谈软件开发过程中的需求分析。
需求分析是软件开发的第一步,也是至关重要的一步。
它就像是建筑的蓝图,如果蓝图有问题,那么整个建筑就可能会倒塌。
那么,如何才能做好需求分析呢?这需要开发团队与客户进行深入的沟通,了解客户的真正需求。
但在实际操作中,客户往往并不能清晰地表达自己的需求,或者他们的需求在开发过程中会发生变化。
这就需要开发人员具备敏锐的洞察力和良好的沟通技巧,能够引导客户明确需求,并在需求变更时进行有效的管理。
接下来是软件设计。
好的软件设计应该具有高内聚、低耦合的特点。
什么是高内聚呢?简单来说,就是一个模块内部的各个元素之间联系紧密,共同完成一个明确的功能。
低耦合则是指不同模块之间的依赖关系尽量少,这样当一个模块发生变化时,对其他模块的影响最小。
但在实际的软件设计中,要达到这样的理想状态并不容易。
有时候为了满足功能需求,可能会导致模块之间的耦合度增加,这就给后期的维护和扩展带来了困难。
再说说软件测试。
软件测试是保证软件质量的重要手段,但它往往被忽视或者在项目后期才被重视。
有效的软件测试应该贯穿整个开发过程,从需求分析开始,到设计、编码,每个阶段都应该有相应的测试活动。
但在实际项目中,由于时间和资源的限制,测试可能不够充分,导致软件上线后出现各种问题。
而且,测试用例的设计也很有讲究,要覆盖各种可能的情况,包括正常情况和异常情况。
但如何确定哪些情况是需要覆盖的,哪些是可以忽略的,这也是一个难题。
然后是软件项目管理。
项目管理涉及到进度管理、成本管理、质量管理、人力资源管理等多个方面。
在进度管理方面,如何制定合理的项目计划,并在项目执行过程中进行有效的监控和调整,是项目经理需要面对的挑战。
成本管理也是一个关键问题,如何在保证项目质量的前提下,控制好开发成本,避免资源的浪费。
1、进行软件需求分析时,采用的方法有哪些?答:(1)、访谈。
(2)、面向数据流自顶向下求精。
(3)、简易的应用规格说明技术。
(4)、快速建立软件原型。
2、需求分析中,有8个任务,最重要的任务是什么?为什么?(需求分析”在软件生命期中的地位和作用。
)答:需求分析中最重要的任务是约束。
设计约束或实现约束描述在设计或实现应用系统时应遵守的限制条件。
因为:完整的约束述对于项目经理进行后期的数据库设计、系统详细设计等工作的时候都能起到良好的帮助作用。
需求多思考一分钟,对于后期工作的工作效率提高的远远不是这么一点点时间了。
同时完整的约描述对于程序开发人员而言作用也是相当大的,也就是把所有的问题在前期提出来。
3、软件需求分析不当的表现有哪些?答:(1):创意和求实,需求不是空中楼阁,是实实在在的一砖一瓦。
(2):解剖的快感,分解是必需的,但最终的目的是为了更好的组合,而不是为了分解。
(3):角度和思维,没有任何需求是不对的,不对的只是你的需求分析。
试着站在用户的思维角度想想,你的需求分析就会更加的贴近用户,更加的合理。
软件应该是以人为本的。
(4):程序员逻辑,需求分析和程序设计不尽相同,合理、可行是才是重要的。
4、请简述一下,你如何避免因软件需求分析不恰当而导致项目失败的事项发生。
答:有的是开发者本身不重视原因、有的是技术原因、有的是人员组织原因、有的是沟通原因、有的是机制原因。
(1)在初期的需求开发阶段需求人员不能准确全面的获取项目相关需求。
抓住用户决策者最迫切和最关心的问题,引起重视。
.建立良好的沟通环境和氛围。
(2)认为客户的需求总在不断的变。
最好的应对方式:摆正心态,积极应对。
需要有效控制需求变更,既不能一概拒绝客户的变更要求,也不能一味地迁就客户,所以实施需求变更之前必须做好控制。
这就要求我们在项目初期就明确合同约束,规定何种情况的变更可以接受、拒绝或部分接受,还可以规定发生需求变更时必须执行变更管理流程;建立需求基线,明确和树立需求基线是需求变更的依据,在开发过程中,需求确定并经过评审后(客户参与评审),建立第一个需求基线。
How do software characteristics differ from hardware characteristics?1软件是设计开发的,而不是传统意义上生产制造的。
2软件不会“磨损”。
3虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据实际的顾客需求定制的。
What is equivalence partitioning as it applies to software testing? What is scenario-based testing?等价划分是一种黑盒测试方法,它将程序的输入划分为若干的数据类,从中生成测试用例。
理想的测试用例是可以单独的发现一类错误,否者在观察到一般错误之前需要进行许多测试用例,等价划分试图定义一个测试用例以发现一类错误,由此减少所需测试用例的总数。
基于场景的测试:它关心的是用户做什么,而不是产品做什么,捕获用户完成的任务,然后在测试时候使用它们及其变体。
场景用来发现交互错误。
这种测试倾向于用单一测试检查多个子系统。
Describe the differences between software construction and software deployment.软件的构造包括了编码和测试任务,从而为向客户和最终用户交付可运行软件做好准备。
部署则包括了三个动作:交付,支持和反馈。
用于现代软件工程本质上是演变的,因此部署并不是只发生一次。
两者都是软件工程的通用框架活动,但是构件肯定是发生在部署之前,部署是构件的下一个活动。
What are the six steps for requirements engineering?需求工程的六个步骤是:起始,导出,精化,协商,规格说明,确认和管理Which UML (unified modeling language) diagrams are useful in object-oriented analysis modeling?静态图:用例图,类图,对象图,构件图,部署图。
需求工程简答题--复习资料四、名词解释题1、需求工程:需求工程是软件工程的一个分支,它关注于软件系统所应予实现的现实世界目标、软件系统的功能和软件系统应当遵守的约束,同时它也关注以上因素和准确的软件行为规格说明之间的联系,关注以上因素与其随时间或跨产品族而演化之后的相关因素之间的联系。
2.需求:需求是用户对问题域中的实体状态或事件的期望描述。
2、需求:IEEE对需求的定义为:①用户为了解决问题或达到某些目标所需要的条件或能力。
②系统或系统部件为了满足合同、标准、规范或其他正式文档所规定的要求而需要具备的条件或能力。
③对①或②中的一个条件或一种能力的一种文档化表述。
3、需求分析:需求分析是利用建模与分析技术对获取笔录的内容进行明确、整理、汇总,建立一个综合考虑问题域特性和需求的系统模型,然后根据系统模型将用户需求转化为系统需求的需求工程活动。
4、前景(Vision):前景描述了产品的作用以及最终的功能,它将所有涉众都统一到一个方向上。
5、范围(scope):范围指出当前项目是要解决产品长远规划中的哪一部分,范围声明它为项目划定了需求的界线。
7、硬数据:表格和文档资料是用户对实际业务进行加工和抽象之后的结果,是一种精化过的知识。
这些文档资料被称为硬数据。
硬数据分为定量硬数据和定性硬数据两种类型。
8、结构化面谈:结构化面谈指在面谈的过程中,会见者会完全按照事先的问题和结构来控制面谈。
结构化面谈通常被用来获取一些比较确定或者选择空间比较有限的信息,一些统计性倾向信息的获取也可以使用结构化面谈。
9、半结构化面谈:半结构化面谈指在面谈的过程中,事先需要根据面谈内容准备面谈的问题和面谈结构。
但在面谈过程中,会见者可以根据实际情况采取一些灵活的策略。
半结构化面谈是在需求获取中应用最多的一种面谈类型,能够处理大部分的需求获取任务。
10、非结构化面谈:在非结构化面谈的过程中,没有事先预定的议程安排。
在比较极端的情况下,会见者甚至会在没有太多事前准备的情况下就直接到访被会见者的工作地,就某个主题开展会谈。
1.需求工作涉及到哪些内容首先需求包括了产品需求,用户需求,软件需求。
产品需求关注的是产品的标准化和通用化,会对收集到的用户需求进行分类和优化,结合业界标准系统模型进行抽象并通用化。
用户需求反映的是用户面临的问题域,根据问题域用户期望的能够达到的解决效果;而对于软件需求则是用软件工程的语言结构化和文档化的对用户需求和产品需求的描述。
需求工作涉及到需求开发和需求管理。
需求开发涉及到需求调研,需求收集,需求分析,需求开发等工作,其中的重点有业务流程,数据字典,业务规则,界面原型。
对于基于面向对象的开发方法则涉及到业务用例,系统用例(涉众,基本流,扩展流,业务规则,界面,操作)等诸多内容。
需求管理工作涉及到需求的状态管理,变更管理,需求的跟踪,需求的验证和确认等重要内容。
在我们需求分析和开发中,最容易忽视的主要有两点,一个就是缺乏需求分析和开发的过程,把用户需求直接作为了软件需求,没有需求建模和抽象的过程。
另外一点就是对于性能,安全,易用性,可维护性和扩展性等非功能性需求没有考虑,导致开发出来的系统是一个不好用的半成品。
CMMI把需求管理放到2级,需求开发放到3级,实际上真正的提高需求人员的需求分析和开发能力才是解决需求问题之道。
需求分析开发做不好,需求变更或追踪管的再好也没有用处,在这点上一定不能本末倒置。
2.做好需求分析需要具备哪些知识需求分析岗位主要承担的是系统分析员的工作,做需求分析的人员要有软件工程基础知识的积累,而且最好有一定的软件开发经验积累。
自己做过设计开发工作的才能够体会到如何才能够把系统做好,如何更好的把软件需求和后续实现更好的衔接起来。
有一本《软件需求》的书讲的很系统,从事需求工作的都值得仔细阅读。
对于采用面向对象的需求开发和分析方法的,一定要熟悉RUP统一过程和用例分析和建模。
对于管理软件都离不开其涉及到的业务领域,因此要做好需求分析工作必须要熟悉管理软件所涉及到的业务领域,对业务领域相关的标准模型进行分析和研究,对业界的一些标准和最佳实践进行熟悉。
1、进行软件需求分析时,采用的方法有哪些?
答:(1)、访谈。
(2)、面向数据流自顶向下求精。
(3)、简易的应用规格说明技术。
(4)、快速建立软件原型。
2、需求分析中,有8个任务,最重要的任务是什么?为什么?(需求分析”在软件生命期中的地位和作用。
)
答:需求分析中最重要的任务是约束。
设计约束或实现约束描述在设计或实现应用系统时应遵守的限制条件。
因为:完整的约束述对于项目经理进行后期的数据库设计、系统详细设计等工作的时候都能起到良好的帮助作用。
需求多思考一分钟,对于后期工作的工作效率提高的远远不是这么一点点时间了。
同时完整的约描述对于程序开发人员而言作用也是相当大的,也就是把所有的问题在前期提出来。
3、软件需求分析不当的表现有哪些?
答:(1):创意和求实,需求不是空中楼阁,是实实在在的一砖一瓦。
(2):解剖的快感,分解是必需的,但最终的目的是为了更好的组合,而不是为了分解。
(3):角度和思维,没有任何需求是不对的,不对的只是你的需求分析。
试着站在用户的思维角度想想,你的需求分析就会更加的贴近用户,更加的合理。
软件应该是以人为本的。
(4):程序员逻辑,需求分析和程序设计不尽相同,合理、可行是才是重要的。
4、请简述一下,你如何避免因软件需求分析不恰当而导致项目失败的事项发生。
答:有的是开发者本身不重视原因、有的是技术原因、有的是人员组织原因、有的是沟通原因、有的是机制原因。
(1)在初期的需求开发阶段需求人员不能准确全面的获取项目相关需求。
抓住用户决策者最迫切和最关心的问题,引起重视。
.建立良好的沟通环境和氛围。
(2)认为客户的需求总在不断的变。
最好的应对方式:摆正心态,积极应对。
需要有效控制需求变更,既不能一概拒绝客户的变更要求,也不能一味地迁就客户,所以实施需求变更之前必须做好控制。
这就要求我们在项目初期就明确合同约束,规定何种情况的变更可以接受、拒绝或部分接受,还可以规定发生需求变更时必须执行变更管理流程;建立需求基线,明确和树立需求基线是需求变更的依据,在开发过程中,需求确定并经过评审后(客户参与评审),建立第一个需求基线。
此后每次变更并经过评审后,都要重新确定新的需求基线;建立变更审批流程,明确需求变更审批环节、审批人员、审批事项、审批流程;还有最重要的一点是确认客户是否接受变更的代价,要让客户认识到变更都是有代价的,要和客户一起判断需求变更是否依然进行
5、请简单叙述一下,你所了解的可以进行软件需求分析和项目控制的软件。
答:Word、PowerPoint、Visio、Excel等Office工具
Project Server Photoshop等这些工具。