软件需求工程课后作业答案
软件工程导论(第六版)部分课后习题-答案

软件工程导论(第六版)部分课后习题-答案软件工程导论(第六版)部分课后习题-答案一、选择题1. 答案:B解析:选择题解析2. 答案:A解析:选择题解析二、判断题1. 答案:对解析:判断题解析2. 答案:错解析:判断题解析三、填空题1. 答案:软件工程解析:填空题解析2. 答案:开发、维护解析:填空题解析四、简答题1. 答案:软件需求分析是软件工程的第一步,它主要是通过对用户需求的调查和分析,确定软件系统需要具备的功能和性能以及相关约束条件。
解析:简答题解析2. 答案:软件开发过程中的质量保证主要包括软件测试和代码评审两个方面。
软件测试是通过运行和验证软件系统的过程,以确定其是否满足预期的需求和标准。
代码评审则是对软件代码进行审查和评估,在开发过程中发现和修复潜在的问题和错误。
解析:简答题解析五、计算题1. 答案:20解析:计算题解析2. 答案:1000解析:计算题解析六、案例分析题1. 答案:软件项目管理是指对软件项目进行规划、组织、分配和控制的过程。
它包括项目范围管理、时间管理、成本管理、质量管理、风险管理等方面。
在一个项目中,软件项目经理负责整体的项目管理工作,包括资源的分配、进度的控制、风险的管理等。
解析:案例分析题解析2. 答案:敏捷开发是一种迭代、逐步增量的软件开发方法。
它强调快速、灵活地响应用户需求的变化,通过频繁的迭代和持续的反馈来逐步完善软件系统。
敏捷开发方法注重团队合作、交流和高效的沟通,通过直接面对面的沟通取代冗长的文档和繁琐的流程,提高软件开发的效率和质量。
解析:案例分析题解析总结:本文主要针对《软件工程导论(第六版)》部分课后习题提供了答案和解析。
其中包括选择题、判断题、填空题、简答题、计算题和案例分析题等多个题型。
通过解答这些习题,读者可以进一步加深对软件工程的理解和掌握。
希望本文对读者有所帮助,谢谢阅读。
《软件工程》各章课后习题答案

《软件工程》各章课后习题答案软件工程是计算机科学与技术的一门重要学科,旨在研究和应用工程原则和方法来开发高质量的软件系统。
课程中的习题对于加深学生对软件工程理论和实践的理解至关重要。
下面是对《软件工程》各章课后习题的答案,希望能够帮助你更好地掌握软件工程的知识。
第一章:软件工程导论1. 软件工程的定义:答:软件工程是通过应用系统化、规范化和可量化的方法进行软件开发、运行和维护的学科。
2. 软件工程的目标:答:软件工程的目标是提高软件开发的质量、效率和可靠性,使得软件能够满足用户的需求和期望。
3. 软件生命周期模型:答:常见的软件生命周期模型包括瀑布模型、迭代模型、敏捷模型等。
每个模型都有其独特的特点和适用场景。
4. 软件过程模型:答:软件过程模型描述了软件开发过程中的一系列活动和阶段,常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。
5. 软件工程的基本原则:答:常见的软件工程基本原则包括分阶段、逐步求精、持续集成、迭代开发、需求优先等。
第二章:软件项目管理1. 软件项目管理的定义:答:软件项目管理是指对软件开发过程中的资源、进度、质量等进行有效管理,以确保软件项目能够按时、按质地完成。
2. 软件项目管理的内容:答:软件项目管理包括项目计划、需求管理、项目进度管理、资源管理、风险管理等方面。
3. 软件项目管理的方法:答:常见的软件项目管理方法包括敏捷项目管理、水平项目管理、里程碑项目管理等。
4. 软件项目管理的工具:答:常用的软件项目管理工具包括甘特图、PERT/CPM网络图、项目管理软件等。
第三章:软件需求分析与规格说明1. 软件需求的定义:答:软件需求是指用户对软件系统的要求和期望,包括功能需求、性能需求、接口需求等方面。
2. 软件需求分析的方法:答:常用的软件需求分析方法包括面向对象分析法、数据流图法、用例分析法等。
3. 软件需求规格说明的格式:答:常见的软件需求规格说明的格式包括自然语言描述、结构化描述、图形描述等。
软件需求分析1-12章作业及部分答案

《软件需求分析》作业第一章需求工程概述1.将下列描述与其相符的术语匹配。
1)问题所存在的现实世界中的那个部分。
2)关注问题域与解系统之间交互的需求工程任务。
3)客户希望在问题域内产生的效果。
4)条理化技术在开发复杂的有用人工制品中的应用。
5)关注解系统内部运作实现的任务。
6)对问题域及需求作调查研究和描述,设计将满足那些需求的解系统的特性并用文档说明。
7)关于解系统所要求的应用范围的知识。
8)在问题域内用以产生想要的效果的系统。
9)关注问题域和存在于其中的问题的需求工程任务。
10)用来处理有关问题域的信息查询的解系统。
●()分析--------------------------------9)●()设计--------------------------------5)●()工程--------------------------------4)●()需求--------------------------------3)●()信息系统--------------------------10)●()需求工程---------------------------2)●()规格说明---------------------------6)●()问题域知识------------------------7)●()问题域(或应用领域)---------1)●()解系统(或应用,机器)------8)以下有许多描述,每一条陈述或者是对问题域的描述,或者指定了一条需求,请按照表1-1确定其类别。
1)当用户选择“修改赛艇详细资料”选项时,系统将提示它们输入赛艇的名字。
(一般需求)2)系统必须用三个主要模块来实现,即检测、记录和统计模块,每个模块各自实现一个主要功能。
(设计约束)3)当电梯在传感器额定位置的垂直方向(之上或之下)20cm范围内,传感器发出一个hi 信号,否则发出一个lo信号。
(问题域描述)4)对于每一艘赛艇,其实际用时定义为比赛开始时间与完成时间之差(以s为单位)。
软件工程 课后习题答案

软件工程课后习题答案软件工程课后习题答案软件工程是一门关于设计、开发和维护软件系统的学科。
在学习软件工程的过程中,课后习题是非常重要的一部分。
通过解答习题,我们可以巩固所学的知识,加深对软件工程的理解。
下面是一些常见的软件工程习题及其答案,供大家参考。
习题一:什么是软件生命周期?它包括哪些阶段?答案:软件生命周期是指软件从开始开发到最终废弃的整个过程。
它包括以下几个阶段:1. 需求分析阶段:确定软件系统的需求,包括功能需求、性能需求、安全需求等。
2. 设计阶段:根据需求分析的结果,设计软件系统的结构和功能。
3. 编码阶段:根据设计阶段的结果,编写代码实现软件系统的功能。
4. 测试阶段:对编写的代码进行测试,确保软件系统的正确性和稳定性。
5. 部署阶段:将测试通过的软件系统部署到生产环境中,供用户使用。
6. 维护阶段:对已经部署的软件系统进行修复漏洞、更新功能等维护工作。
习题二:什么是软件需求?软件需求可以分为哪几类?答案:软件需求是指对软件系统功能和性能的描述。
软件需求可以分为以下几类:1. 功能需求:描述软件系统应该具备的功能,比如用户登录、数据查询等。
2. 性能需求:描述软件系统在运行过程中的性能要求,比如响应时间、并发处理能力等。
3. 安全需求:描述软件系统对数据和系统的安全保护要求,比如用户权限控制、数据加密等。
4. 可靠性需求:描述软件系统的可靠性要求,比如系统的可用性、容错性等。
习题三:什么是软件设计模式?列举几个常见的软件设计模式。
答案:软件设计模式是指在软件设计过程中经常出现的一些问题的解决方案。
常见的软件设计模式包括:1. 单例模式:确保一个类只有一个实例,并提供一个全局访问点。
2. 工厂模式:将对象的创建和使用分离,通过工厂类来创建对象。
3. 观察者模式:定义了一种一对多的依赖关系,当一个对象状态发生改变时,所有依赖它的对象都会收到通知并自动更新。
4. 适配器模式:将一个类的接口转换成客户希望的另一个接口,使得原本由于接口不兼容而不能在一起工作的类可以一起工作。
软件工程---课后习题答案.doc

软件工程---课后习题答案.doc第一章1.1什么是计算机软件?软件的特点是什么?计算机软件是指计算机系统中的程序及其文档软件的特点:●软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算。
●软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大。
●软件的使用没有硬件那样的机械磨损和老化问题。
1.2简述软件的分类,并举例说明1.系统软件系统软件居于计算机系统中最接近硬件的一层,其他软件一般都通过系统软件发挥作用。
例如:编译软件、操作系统。
2.支撑软件支撑软件是支撑软件的开发和维护的软件。
例如:数据库管理系统、网络软件、软件工具、软件开发环境。
3.应用软件应用软件是特定应用领域专用的软件。
例如:工程/科学计算机软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。
1.3简述软件语言的分类,并举例说明。
1.需求定义语言是用于书写软件需求定义的语言。
例如:PSL/PSA。
2.功能性语言是用于书写软件功能规约的语言,通常又称为功能规约语言。
例如:广谱语言、Z语言。
3.设计性语言是用于书写软件设计规约的语言。
例如:PDL。
4.实现性语言也称为程序设计语言,是用于书写计算机程序的语言。
例如:C、java、PROLOG、FORTRAN、COBOL、Modula。
5.文档语言是用于书写软件文档的语言。
通常用自然语言或半形式化语言书写。
1.4什么是软件工程?软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。
软件工程借鉴传统工程的原则、方法,以提高质量、降低成本为目的。
1.5简述软件工程的基本原则。
软件工程原则包括围绕工程设计、工程支持和工程管理所提出的以下4条基本原则。
1.选取适宜的开发模型必须认识需求定义的易变性,采用适宜的开发模型,保证软件产品满足用户的要求。
2.采用合适的设计方法合适的设计方法有助于这些特征的实现,以达到软件工程的目标。
软件工程课后习题答案

软件工程课后习题答案1. 什么是软件工程?软件工程是一种应用工程原理和方法的学科,目的是开发高质量的软件。
软件工程包括以下几个方面:•需求分析:确定用户的需求,并将其转化为可执行的软件功能。
•设计:设计软件的架构和模块,并确定各个模块的功能和关系。
•编码:实现软件的设计,将设计的模块通过编程语言编写成可执行的代码。
•测试:通过不同的测试方法和技术对软件进行验证,确保软件的质量和可靠性。
•维护:对软件进行改进和修复,以适应用户需求的变化和修复软件中的错误。
2. 软件工程的目标是什么?软件工程的目标是开发高质量的软件,以满足用户的需求。
具体目标包括:•可靠性:软件应该能够正常运行并处理各种输入情况,不会崩溃或导致系统故障。
•可维护性:软件应该易于理解和修改,以适应用户需求的变化和修复软件中的错误。
•可扩展性:软件应该能够在不改变其基本架构的情况下,方便地添加新的功能模块。
•可重用性:软件应该能够被多个项目和团队复用,以提高开发效率。
•可测试性:软件应该易于测试,以确保其功能和性能符合预期。
3. 软件开发生命周期有哪几个阶段?软件开发生命周期通常包括以下几个阶段:1.需求分析和定义阶段:在这个阶段,软件工程师与用户沟通,了解用户的需求和期望。
然后,设计师将这些需求转化为软件规格说明。
2.软件设计阶段:在这个阶段,设计师根据需求规格说明书设计软件的架构和模块,并确定模块之间的关系和功能。
3.编码阶段:在这个阶段,开发人员根据设计文档编写代码,实现软件的功能。
4.测试阶段:在这个阶段,测试人员使用不同的测试方法和技术对软件进行验证,以确保软件的质量和可靠性。
5.部署和维护阶段:在这个阶段,软件工程师将软件部署到实际的运行环境中,并根据用户的反馈进行改进和修复。
4. 什么是软件需求?软件需求是对系统或软件功能和性能的描述,它描述了用户的需求和期望。
软件需求通常包括以下几个方面:•功能需求:描述软件应该具有的功能,以及这些功能如何满足用户的需求。
软件需求课后答案

第一部分绪论第1章需求工程导论思考题1.如何理解下述的“软件”概念定义:a)软件=程序+文档+数据b)软件是知识的载体c)软件是对现实的模拟解答:a) 软体是指计算机系统中的程序及其文档。
程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。
程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。
b) 软件是反映真实世界的。
c) 软件的模拟特性来源于其知识载体的特性:软件在运行中表现出来的特性、行为应该和应用的现实情况保持一致,这样,人们通过观察软件的表现就可以得出相应现实问题的答案,即软件“模拟”了现实。
第2章需求基础思考题1.你认为计算机系统能够改变现实世界的能力和潜力有多大?说明理由。
解答:软件开发的任务是构建软件系统,并将它们部署到现实世界当中,通过软件系统与其周围环境的交互,解决人们对现实世界遇到的问题。
当现实世界的状况与人们期望的状况产生差距时,就产生了问题,继而产生了问题域。
软件系统通过分析问题域,产生了解系统,软件系统通过接系统影响现实世界。
所以当现实世界有问题发生,而且软件系统又能模拟这些问题,软件系统就有能力解决这些问题,进而影响和改变现实世界。
所以,我认为计算机系统能够改变现实世界的能力和潜力非常大。
案例题1.从下面的事件当中,你可以替Jeannine总结出哪些教训?投资经理Jeannine对一个新的投资跟踪系统具有强烈的需求。
她需要做出快速决策来考虑可能进行的投资和撤销投资,耽误一个小时就可能给公司造成几千美元的损失。
最后她放弃了使用公司的信息系统,因为公司的信息系统没有给予她的请求足够高的服务优先级。
她找到软件开发商,购买了一套看似可以满足她要求的软件。
但高层管理人员不同意使用,而且还遇到了其他一些问题。
首先,财务审计员重新评估了公司的投资策略和投资政策。
Jeannine并不知道这一点,于是新的系统没有计入正在被考虑的新政策。
她自己的职员抵制这个系统产生的有关投资和撤销投资的建议。
软件工程课后习题(含答案)

第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。
2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。
二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。
可靠性是衡量软件质量的一个重要目标。
2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。
三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。
(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。
2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。
(2)软件开发简单,易学、易上手。
(3)专业或非专业人员都能参与软件开发活动。
第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。
2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。
3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。
4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。
二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。
2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。
3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章1.需求分析与系统设计之间的界限是什么?何时从分析阶段进入设计阶段?需求分析关注系统“做什么”,系统设计关注“如何做”。
当分析阶段完成后才能进入到设计阶段2.需求处理要注意哪些非技术因素?为什么?要注意的非技术因素:组织机构文化、社会背景、商业目标、利益协商等。
因为利用建模与分析技术构建的解决方案一定要和具体的应用环境相关,不存在不依赖具体应用环境的解决方案,因此,在利用建模分析技术进行要求处理是不能忽视具体应用环境的相关因素3.需求分析与需求工程之间的关系那就是需求工程含义更广,包括需求获取、需求分析、需求定义第二章1.解释名词:问题域,解系统和共享现象,并结合他们的含义说明软件系统如何与现实世界形成互动的问题域:现实的状况与人们期望的状况产生差异就产生问题。
解系统:软件系统通过影响问题域,能够帮助人们解决问题称为解系统通过共存现象仅仅是问题域和姐系统的一个部分。
而不是他们的全部。
软件系统仅仅是现实世界的一种抽象。
所以问题除了共享现象之外。
还有很多在进行模型抽象时忽略的其他现实因素。
2.解释下列名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么?需求是用户对问题域中的实体状态或事件的期望描述规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。
问题域的特性:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。
需求工程的主要任务:1.需求工程必须说明软件系统将应用的环境及目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。
2需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。
3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。
第三章1.需求工程过程的工作基础(即输入)存在哪些?他的工作成果(即输出)有哪些?答:需求过程的工作基础是获取用户面临的业务问题,用户期望系统表现出来的各种行为,即需求获取工作成果:产生一个能够在用户环境下解决用户业务问题的系统方案,并将其文档化为明确的规格说明。
2.描述需求工程的各个活动,说明他们各自的工作基础,工作目标和工作成果1.需求获取:工作基础:1.收集背景资料 2.定义项目前景和范围 3.选择信息的来源4.选择获取方法,执行获取5.记录获取结果工作目标:获取用户需求,了解用户在完成任务的时候遇到的问题与期望工作成果:业务需求,项目的前景和范围,用户需求以及问题域的特征2.需求分析:工作基础:1背景分析 2.确定系统边界3.需求建模4.需求细化5.确定优先权6.需求协商工作目标:1.通过建模整合各种信息,是人们更好地理解问题2.定义一个需求集合,能够为问题界定一个游戏的解决方案工作成果:产生一个需求的基线集,它指定了系统或当前版本的系统开发需完成的任务3.需求规格说明:工作基础1.定制文档模板 2.编写文档工作目标:为了系统涉众之间交流需求信息工作成果:需求规格文档说明4.需求验证工作基础1.执行验证 2问题修改工作目标:为了尽量不给设计实现测试后续开发活动带来不必要的影响。
需求规格说明文档定义必须正确准确地反映用户的意图工作成果:验证之后,问题得以修正需求管理:工作基础:1.建立和维护需求基线集2.建立需求跟踪信息 3进行变更控制工作目标:保证需求作用的持续稳定和有效发挥工作成果:需求管理会进变更控制和实现合理的变更请求拒绝不合理的变更请求,控制变更的成本和影响范围4.需求工程师需求具备的技能专业技能,分析技能,交流技能,观察技能,建模技能,写作技能,创新技能,协调技能第五章1.为什么要定义项目的前景和范围?答、业务需求、高层解决方案和系统特性都应该被记录下来,定义为项目的前景与范围文档,前景描述了产品的作用和最终的功能,它将所有的涉众都统一到一个方向上范围指出了当前项目是要解决产品长远规划的那一部分,它为项目规定了需求的界限案例题:1. 你被任命为替换学生财务资助项目的项目经理。
你想开发一个工作陈述来定义范围并降低范围蔓延的风险。
财务资助部门的主管坚持要你15个月、600 000美元的预算内替换他现有的系统就可以了。
他说这就是你需要知道的全部,不需要浪费时间开发一个工作陈述了。
省略工作陈述的风险是什么?你将如何说服主管?解答:省略工作陈述的风险是不能明确项目的前景和范围。
如果省略了工作陈述的话,我们就不能和用户进行很好的沟通与交流,这样,项目的问题也就不能明确,开发人员无法与涉众对问题达成共识;无法明确问题,也就无法发现正确的业务需求,无法定义良好的解决方案及系统特性,继而无法明确项目的前景和范围,这样就会造成项目的不稳定甚至失败!第六章1.什么是涉众?涉众分析?软件系统中常见的涉众?涉众是与要建设的业务系统相关的一切人和事.涉众分析就是为软件系统寻找并理解关键涉众的过程常见的涉众:管理着:用户、客户、开发人员、管理者、领域专家、政府力量和市场力量等领域专家:在问题域中具有丰富知识的专家*关注软件中的知识政府力量:法律法规、长远规划、政策意向*起约束和指导作用市场力量:组织中的市场部门人员,关注用户的想法*关注用户想法用户:最终使用和操作产品的人*关注软件功能客户:为软件系统开发付费的人*关注经济的成本、收益开发者:负责实现软件系统的人*关注技术上的成本和利益第七章2.列出面谈的5个步骤面谈准备的主要工作包括:1、阅读背景资料2、确定面谈的主题和目标3、选择被会见者4、准备会见被会见者5、确定问题和类型第8章1.原型的定义原型是一个系统,他内化了一个更迟系统的本质特征。
2.说明原型在需求获取中的作用和试用情景因为原型是在最终系统产生之前的一个局部真实表现,所以原型方法可以让人们在系统的开发过程中,就能对一些具体问题进行基于事物有效沟通,从而帮助人们今早解决软件开发过程中存在的各种不确定性。
场景:产品以前从未存在过,而且难以可视化,这些产品属于创新产品,他们的基本需求是潜在的,有很大的不确定性产品的用户对相关类别的产品没有经验,而且对将要采用的技术也没有经验。
此时用户无法明确工作的具体细节,产品的细节需求存在着不确定性用户进行自己的工作已经有一段时间了,但在完成工作的方式上依然存在障碍。
用户清晰说明他们的需求方面存在困难。
在澄清和理解之前,这些需求存在着不确定性需求的可行性值的怀疑,即具体需求的可满足性存在着不确定性三、案例题“我有一个绝妙的主意!”Bea Kwicke宣布,他是系统团队的一位新来的需求工程师,“让我们跳过所有的SDLC垃圾,直接为一切设计原型。
我们的项目会进展的更快,还可以节省时间和金钱,并且所有的用户会感到我们似乎很在意他们,而不是连续几个月不与他们交谈。
”a)列出你(作为与Bea同一个团队的成员)用来劝阻她不要试图放弃SDLC,而直接为所有项目设计原型的原因。
b)Bea对你所说的话很失望。
为了鼓励她,用一段话向她说明,你认为适用于原型化方法的情(1)主要原因:原型仅仅是开发当中使用的一种手段,它利用得当可以加速开发的进程,但不能代替软件开发中的所有工作。
(2)情形见下表,尤其是其中红色的部分第九章1.为什么需要观方法?观察方法的适用情景是什么?答:很多时候用户无法完成主动的信息告知,或者说用户和需求工程师之间的语言交流无法产生有效的结果,这时就有必要采用观察的方法。
采样观察:根据明确的目的选取特定的时间段或者特定的事件进行观察。
民族志:观察者深入到用户中,花费较长的时间(一般为几个月)来观察用户的活动。
话语分析:它通过观察和分析用户交谈中的交互方式或者特定的话语形式的内部结构来发现和获取相关信息。
协议分析:对用户任务的观察。
它要求观察对象一边执行任务,一边大声地解释他们在执行任务时产生的各种想法。
任务分析:专门针对人机交互行为的观察。
它引入了相关的模型方法来观察、记录和分析用户与软件系统的交互行为案例题1.Ceci Awill说:“我想我能记得他所做过的大部分事情。
”Ceci准备与OK Corral公司战略规划副总裁Biff Weblldon进行面谈。
OK Corral是一家拥有130间牛排连锁店的公司。
“我的意思是说,我有好的记性。
我认为听他说什么比看他做什么更重要。
”作为需求工程团队的一员,Ceci Awll向你诉说了他要写下在面谈中对Biff 的办公司和Biff的活动进行观察的愿望。
(1)用一段话来说服Ceci,在面谈时仅仅倾听是不够的,观察和记录所观察的内容同样是很重要的。
(2)Ceci似乎接受了你认为观察时很重要的观点,但是不知道该观察什么。
列出需要观察的项目和行为,在每一项行为的旁边用一句话指名Ceci通过观察应该得到的信息。
答:(1)面谈并不能确保用户能够将所有的信息都告知需求工程师,诸如一些语言无法确切描述的事务,而观察能够了解用户真正做什么,还能够获取到其他方法不能得到的用户及其工作环境的信息,还可以对从其他方法获取的信息进行确认,所以我们应该重视观察方法的应用。
(2)①观察客户所处的环境(得出何种需求才能更适合客户)。
②观察客户行为、习惯特征(得出更适合客户使用的软件需求)。
第十一章2.什么是系统模型,他与需求分析和系统设计有什么关系?系统模型是指以某种确定的形式(如文字、符号、图表、实物、数学公式等),对系统某一方面本质属性的描述。
需求分析是挖掘和整理知识的过程,它在已掌握知识的基础上进行。
初步捕获到的需求信息往往处于不同层次,也有一些主观甚至不正确的信息。
而经过必要的需求分析工作之后,需求会更加系统、更加有条理、更加全面。
那么系统分析呢?如果说,需求分析致力于搞清楚软件系统要“做什么”的话,那么系统分析已经涉及“怎么做”的问题了。
需求捕获、需求分析以及系统分析之间的关系我们必须理解透彻,否则就会影响工作的有效性进行。
同样,在实践中,需求分析和系统分析也常常被混淆。
需求分析致力与搞清软件系统要“做什么”,而系统分析更关注“怎么做”的问题,比如大多数分析方法(如OOA)应该术语系统分析的范畴。
第十二章1.什么是系统思想?过程模型如何反应系统思想?系统是指由相互制约、相互作用的一些部分组成的具有某种功能的有机整体。
因此系统思想可以理解为,用整体、全局的、联系的观点看问题、办事情,而不能用片面的、孤立的观点。
软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
第十五章1.什么事需求规格说明?为什么要建立需求规格说明?答:需求规格说明活动就是将需求及其软件解决方案进行定义和文档化,并传递给开发人员的需求工程活动。