软件需求管理课后习题答案
- 格式:docx
- 大小:55.27 KB
- 文档页数:8
软件工程(软件需求)习题与答案软件工程(软件需求)习题与答案1. 引言在软件工程领域,软件需求是项目成功的关键之一。
对于开发者来说,了解和熟悉软件需求的基本概念和流程是至关重要的。
本文将针对软件工程中的软件需求进行习题和答案的探讨,帮助读者更好地理解和应用相关知识。
2. 习题集2.1 习题一:什么是软件需求?为什么软件需求很重要?答案:软件需求是指软件开发过程中,对于所要开发的软件系统的功能、性能以及其他特点的描述和规定。
软件需求的编写和理解对于项目的成败具有决定性的作用。
准确的软件需求能够指导开发团队进行开发工作,并确保最终的软件产品符合用户的期望。
2.2 习题二:软件需求的分类是什么?答案:软件需求可以分为功能需求和非功能需求两类。
功能需求描述了软件系统应具备的功能和行为,非功能需求则描述了软件系统的性能、可靠性、安全性等方面的需求。
2.3 习题三:请列举几个软件需求的常见问题。
答案:常见的软件需求问题包括:- 不完整的需求描述:缺少必要的细节和规范,导致开发团队无法准确理解用户需求。
- 冲突的需求:不同的用户提出了矛盾的要求,导致开发过程复杂化。
- 模糊的需求:需求描述含糊不清,无法量化和验证。
- 可测量性问题:需求无法被准确地测量和评估。
- 可行性问题:需求不符合项目的可行性要求,无法被合理地实施。
3. 答案解析3.1 习题一解析软件需求是对软件系统功能、性能和其他特点的描述和规定。
软件需求的重要性在于它能够指导开发团队进行开发工作,并确保最终产品符合用户期望。
缺乏准确的软件需求往往导致项目失败或产品无法满足用户需求。
3.2 习题二解析软件需求可以分为功能需求和非功能需求两类。
功能需求描述了软件系统应具备的功能和行为,如注册、登录等;非功能需求描述了软件系统的性能、可靠性、安全性等方面的需求,如响应时间、可扩展性等。
3.3 习题三解析常见的软件需求问题包括需求描述不完整、冲突的需求、模糊的需求、可测量性问题以及可行性问题。
软件需求期末考试题及答案# 软件需求期末考试题及答案一、选择题(每题2分,共20分)1. 软件需求分析的主要目的是:A. 确定软件的功能B. 确定软件的性能C. 确定软件的界面D. 确定软件的成本答案: A2. 以下哪项不是需求分析阶段的输出?A. 需求规格说明书B. 系统设计文档C. 用户手册D. 数据字典答案: B3. 需求变更控制的目的是什么?A. 降低成本B. 减少开发时间C. 确保需求的一致性和完整性D. 提高软件质量答案: C4. 以下哪个不是功能性需求的例子?A. 系统必须能够处理在线支付B. 系统必须支持多语言界面C. 系统必须在1秒内响应用户请求D. 系统必须能够存储用户数据答案: C5. 非功能性需求通常包括以下哪些方面?A. 可用性B. 性能C. 安全性D. 所有以上选项答案: D...(其他选择题省略)二、简答题(每题10分,共30分)1. 简述什么是软件需求,并区分功能性需求与非功能性需求。
答案:软件需求是指用户对软件系统的功能、性能、行为和约束的详细描述。
功能性需求描述了软件系统必须执行的任务,例如处理数据、执行计算或与用户交互。
非功能性需求则描述了软件的属性,如性能、安全性、可用性、可靠性等,这些属性通常不涉及软件的具体功能,但对软件的整体表现至关重要。
2. 解释什么是需求变更,以及如何处理需求变更。
答案:需求变更是指在软件开发过程中,由于各种原因(如市场变化、用户需求变化、技术进步等)导致的对原始需求文档的修改。
处理需求变更通常包括以下几个步骤:识别变更、评估影响、与利益相关者沟通、更新需求文档、重新评估项目计划、重新测试以及重新部署。
3. 描述需求获取的方法,并给出一个具体的例子。
答案:需求获取是指从用户或其他利益相关者那里收集需求的过程。
常见的方法包括访谈、问卷调查、观察、原型开发、焦点小组讨论等。
例如,通过访谈,开发团队可以直接与用户交谈,了解他们的工作流程、痛点和期望的功能,从而获取需求。
六、项目质量管理1. 项目质量包含哪几方面的含义?答:影响软件质量的主要因素,这些因素是从管理角度对软件质量的度量。
McCall 等人1979年提出的质量要素模型得到普遍认可,该模型把影响软件质量的因素划分为三组:正确性、健壮性、效率、完整性、可用性、安全性(产品运行);可理解性、可维修性、灵活性、可测试性(产品修改);可移植性、可重用性、互运行性(产品转移)。
2. 简述软件项目的质量计划包括哪些内容,以及编制质量计划的主要依据是什么?答:质量管理计划描述项目的质量管理体系,即实施质量管理所需要的组织结构、责任、程序、过程和资源。
质量管理计划根据质量规划得到,其内容包括质量方针、质量目标、界定说明和项目描述。
项目的质量方针是由高层管理部门提出的关于质量的意图和方针,此政策应该描述质量目标、质量层次、执行政策以及项目组中各成员的责任。
项目的质量方针是由高层管理部门提出的关于质量的意图和方针,此政策应该描述质量目标、质量层次、执行政策以及项目组中各成员的责任。
项目的界定说明是项目立项时将项目的可交付成果记录下来的项目目标文件。
项目描述按照项目立项时确定的产品说明为基础,随着项目发展阶段逐渐深化、细化,直至包含技术问题的细节和影响质量的具他问题。
质量管理计划制定应该基于项目章程、项目管理计划(其中的需求管理计划、风险管理计划、干系人参与计划、范围基准等)、项目文件(其中的假设日志、需求文件、需求跟踪矩阵、干系人登记册等)、事业环境因素(其中的政策法规、软件领域的相关规则/标准/指南、组织结构、市场条件、工作条件和文化观念等)和组织过程资产(组织的质量管理体系、质量模板、历史数据等)等已有相关文档和知识。
3. 你认为项目质量管理与项目质量控制过程有哪些联系?项目变更对于质量控制有哪些影响?答:项目的质量管理与质量控制有以下几点联系:1)质量计划是质量控制和质量保证的共同依据。
2)达到质量要求是质量控制和质量保证的共同目的。
《软件需求工程》随堂测试参考答案1.(15分)为什么在软件开发项目中维护阶段发现错误的修复成本是需求阶段发现错误修复成本的100倍到200倍(3-5)?详细说明这些成本的主要构成(10-12)?答:1、因为维护是建立在需求、设计、编码等的基础之上的,如果在维护阶段发现错误,那么要修复,或许就要从编码、设计、需求等阶段开始修复,随之伴随而来的,可能就是要重新进行规格说明,重新进行设计,重新进行编码等,这就成倍的增加了修复的成本。
如下图所示,该图是许多公司项目生命周期各阶段修复成本的度量和计算,由图可得,如果把编码阶段发现和修复一个错误所需要的努力用“1”个成本单元表示的话,那么,需求阶段的错误修复成本是它的5—10,而在维护阶段发现和修复一个错误的成本超过20倍,因此,软件开发项目中维护阶段发现错误的修复成本是需求阶段发现错误修复成本的100倍到200倍。
2、这些成本由以下方面构成:(1)重新进行规格说明:(2)重新设计;(3)重新编码;(4)重新测试;(5)版本升级:用一个修正后的版本来替代有缺陷的版本;(6)纠正活动:消除由于不正确的系统错误造成的一切危害,这可能涉及到偿还不满用户的经济损失,以及重新运行系统所付出的代价等;(7)报废:包括以最好的意图完成的代码、设计和测试用例,当发现它们是依据于不正确的需求时则不得不全部丢弃!(8)收回有缺陷的软件版本以及相关的用户手册。
有时软件可能会已经嵌入到数字手表、微波炉或汽车等产品中,这时所收回的内容也包括有形的产品和嵌入该系统的软件;(9)保修成本;(10)产品赔偿:客户可能要求对有缺陷软件造成的损害进行赔偿;(11)公司代表到客户那里重新安装软件所必须支付的服务成本;(12)建档成本。
2.(12分)什么是软件需求(5)?说明软件需求的层次并描述其相互关系(7)。
答:1、IEEE软件工程标准词汇表(1997年)中定义需求为:(1)用户解决问题或达到目标所需的条件或权能(Capability)。
第一章项目管理概述一.选择题1.项目是(D)。
A.一个实施相应工作范围的计划B.一组以协作方式管理、获得一个期望结果的主意C.创立独特的产品或服务所承担的临时努力D.必须在规定的时间、费用和资源约束条件下完成的一次性任务2.你刚被指派在你的公司的一个不同的部门中管理一个大的项目。
你正试图了解项目是关于什么的,谁是主要的项目干系人,为了管理好此项目,你首先应该做(C)。
A.所有的项目计划B.会见以前的项目经理,以找出他离开的原因C.与你的老板见面,了解他对项目的看法D.与你的新项目团队见面,认识他们和了解他们对项目的看法3.不属于项目的活动是(B )。
A.一种新型罐头产品的开发B.罐头产品的生产C.罐头产品的试制D.罐头产品的营销策划4.项目是一个特殊的将被完成的有限任务,它是在一定的时间内,满足一系列特定目标的多项相关工作的总称。
此定义实际包含的含义有(D)。
A.项目是一项有待完成的任务,且有特定的环境与要求B.在一定的组织机构内,利用有限资源(人力、物力、财力等)在规定时间内完成任务C.任务要满足一定性能、质量、数量、技术指标等要求D.项目的实施具有一定的风险第二章项目实施的环境与过程一.选择题1.项目管理中应用最广泛的组织形式是(C )。
A.项目式B.职能式C.矩阵式D.网络式2.下面有关矩阵式组织环境的描述,不正确的是( A )。
A.项目的经理必须是职能部门领导,这样才能取得公司总经理对项目的信任B.项目经理和职能经理必须就谁占主导地位达成共识C.矩阵式项目组织能够充分利用人力资源D.矩阵式项目组织能够对客户的要求作出快速响应3.在下列组织结构形式中,团队建设最困难的是( C )。
A.直线式结构B.职能式结构C.矩阵结构D.项目结构4.职能式项目组织形式中项目经理的权限( A )。
A.很小B.有限C.中等D.很高5.项目在哪种组织中最不被重视(D)。
A.平衡矩阵型B.强矩阵型C.项目协调员型D.职能型6.下面各种类型的组织中,哪种最常发生冲突( B )。
第一部分绪论第1章需求工程导论思考题1.如何理解下述的“软件”概念定义:a)软件=程序+文档+数据b)软件是知识的载体c)软件是对现实的模拟解答:a) 软体是指计算机系统中的程序及其文档。
程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。
程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。
b) 软件是反映真实世界的。
c) 软件的模拟特性来源于其知识载体的特性:软件在运行中表现出来的特性、行为应该和应用的现实情况保持一致,这样,人们通过观察软件的表现就可以得出相应现实问题的答案,即软件“模拟”了现实。
第2章需求基础思考题1.你认为计算机系统能够改变现实世界的能力和潜力有多大?说明理由。
解答:软件开发的任务是构建软件系统,并将它们部署到现实世界当中,通过软件系统与其周围环境的交互,解决人们对现实世界遇到的问题。
当现实世界的状况与人们期望的状况产生差距时,就产生了问题,继而产生了问题域。
软件系统通过分析问题域,产生了解系统,软件系统通过接系统影响现实世界。
所以当现实世界有问题发生,而且软件系统又能模拟这些问题,软件系统就有能力解决这些问题,进而影响和改变现实世界。
所以,我认为计算机系统能够改变现实世界的能力和潜力非常大。
案例题1.从下面的事件当中,你可以替Jeannine总结出哪些教训?投资经理Jeannine对一个新的投资跟踪系统具有强烈的需求。
她需要做出快速决策来考虑可能进行的投资和撤销投资,耽误一个小时就可能给公司造成几千美元的损失。
最后她放弃了使用公司的信息系统,因为公司的信息系统没有给予她的请求足够高的服务优先级。
她找到软件开发商,购买了一套看似可以满足她要求的软件。
但高层管理人员不同意使用,而且还遇到了其他一些问题。
首先,财务审计员重新评估了公司的投资策略和投资政策。
Jeannine并不知道这一点,于是新的系统没有计入正在被考虑的新政策。
她自己的职员抵制这个系统产生的有关投资和撤销投资的建议。
软件开发与项目管理课后练习(参考答案)软件开发与项目管理参考答案第一章(软件开发模型和开发方法)(一)知识回顾与思考1、软件产品的特性是什么?①软件是一种逻辑产品,具有无形性;②软件产品的生产主要是研制;主要是脑力劳动;③软件不存在磨损和老化问题,但存在退化问题;④软件产品的成本非常昂贵,其开发方式目前尚未完全摆脱手工生产方式;⑤软件具有“复杂性”,其开发和运行常受到计算机系统的限制。
2、软件生产有几个阶段?各有何特征?①程序设计时代:这个阶段生产方式是个体劳动,使用的生产工具是机器语言,汇编语言。
②程序系统时代:这个阶段生产方式是小集团合作生产,使用的生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。
③软件工程时代:这个阶段生产方式是工程化的生产,使用数据库﹑开发工具﹑开发环境﹑网络﹑分布式﹑面向对象技术来开发软件。
3、什么是软件危机?产生的原因是什么?软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
主要是指如何开发软件,怎样满足对软件日益增长的需求,如何维护数量不断膨胀的先有软件。
原因:一是软件产品的固有特性(软件的不可预见性、软件的规模大且逻辑较复杂),二是软件专业人员自身的缺陷。
4、什么是软件工程?它的目标和容是什么?软件工程:是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。
目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
容:研究容包括开发技术和开发管理两个方面。
开发技术主要研究:软件开发方法,开发过程,开发工具和环境。
开发管理主要研究:软件管理学,软件经济学,软件心。
5、软件工程面临的问题是什么?①软件重用性差②软件可维护性差③开发出的软件不能满足用户需要6、什么是软件生命周期?它有哪几个活动?软件生命周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。
软件需求工程_金陵科技学院中国大学mooc课后章节答案期末考试题库2023年1.软件需求规格说明文档结束审查的标准有()。
参考答案:以上都可能是。
2.后向跟踪是指需求被定义到()之后的演化过程。
参考答案:软件需求规格说明书3.如果用户新增需求或变更需求,正确的做法是()参考答案:灵活处理需求4.需求开发阶段包括需求获取、需求分析、需求规格说明和()四个具体的活动。
参考答案:需求验证5.已经通过正式评审和批准的规格说明或产品,可作为进一步开发的基础,只有通过正式的变更控制过程才能修改的是()参考答案:需求基线6.在实际的项目开发中,人们总是希望使用自动工具来执行需求变更控制过程。
下列描述中()不是这类工具所具有的功能。
参考答案:定义变更控制计划,并指导设计人员按照所制定的计划实施变更。
7.原型可以说是一个()。
参考答案:演示系统8.性能需求、质量属性、约束、接口属于()参考答案:非功能性需求9.需求评审是()中常用的一种方法。
参考答案:需求验证10.下列描述中,属于需求基线的内容的是()参考答案:标识符、版本号、源头11.文档审查是()中常用的一种方法。
参考答案:需求获取12.需求评审的困难有哪些()。
参考答案:以上都是13.在验证过程中发现的问题应及时修正,常见的问题修正方法有()。
参考答案:以上都是14.需求验证的目的()。
参考答案:保证需求及其文档的正确性,即需求正确反映了用户的真实意图15.需求规格说明的目的()。
参考答案:将完整、一致的需求与能够满足需求的软件行为以文档的形式明确的固定下来16.需求分析的目的()。
参考答案:保证需求的完整性和一致性17.需求获取的目的()。
参考答案:从项目的战略规划开始建立最初的原始需求18.需求确认指()。
参考答案:确认每一条需求都是符合用户的真实意愿。
19.以下对需求验证的过程说法正确的是()。
参考答案:需求验证的过程,就是在软件需求规格说明文档完成后,对文档采用相应的验证方法进行验证。
1、 Identify the main types of personnel employed in an information systems department.(1)Requirements elicitation and analysisThis might involve:business analysts, systems analysts, sales managers, pre-sales support, sales engineers depending on the environment and the particular circumstances of the project (e.g. is it being developed for an internal or external client?).The ISO 12207 suggests that ‘human factors engineering specifications’ would be produced at this stage which implies the possible deployment of human-computer interface specialistsOther specialists might be involved to deal with other, technical areas, for example security.Note, also, that you would have to have some user and/or client representatives available to provide details of their needs.(2)Architectural designSystem architect–many organizations now have a single person or group that is responsible for ensuring new system components are designed according to organizational standardSoftware designers(3)Detailed designSoftware designers, software developers(4)Code/testSoftware designers, software developers(5)IntegrationSoftware designers, software developers (to deal with problems) hardware designers, testers(6)Qualification testingSystem testers, end-users, software designers and developers (to resolve problems and issues)(7)InstallationBusiness analysts, technical support, trainers, local user management2、A software house has developed a customised order processing system for a client. Youare an employee of the software house that has been asked to organize a training course for the end-users of the system. At present, a user handbook has been produced, but no specific training material. A plan is now needed for the project which will set up the delivery of the training courses. The project can be assumed to have been completed when the first training course starts. Among the things that will need to be considered are the following:●Training materials will need to be designed and created;● A timetable will need to be drafted and agreed;●Date(s) for the course will need to be arranged;●The people attending the course will need to be identified and notified;●Rooms and computer facilities for the course will need to be provided for.Questions:A. Identify the main stakeholders for this project;B. Draw up a statement of the objectives for this project;C. For the objectives, identify the measures of effectiveness;Main stakeholdersThese might include:• Client management• User management – at a lower level than the above, they would share the higher management concerns, but also have operational ones such as cover in the office when staff attend training course.• Users• Trainers• Technical support –set up in a training environment• Premises management (培训场所管理人员)– availability of rooms for training• Catering services(餐饮服务)– to provide refreshments for course delegates• Reprographics services (复印服务)– to produce copies of training material correctly and on timeObjectives‘To have in place by dd/mm/yy all the materials and arrangements needed for the delivery of the training courses relating to the user of the accounting package ABC at organization XYZ within the budget specified’.Note that the actual delivery of the material and training of staff is just outside the boundary of the ‘project’.Measures of effectivenessAn obvious one is that the training courses can actually go ahead. However, this is rather late if things are missing. An alternative would be to produce a checklist that can be used on dd/mm/yy to ensure that the necessary arrangements are in place. e.g.• Rooms and equipment booked• Delegates notified• Training materials prepared横线部分为我加注(第2章)1. List the products created by the Step Wise planning process.This can be seen as a follow-up to Exercise 2.6 in text. The pointers for this show how the steps in the Step Wise planning process could map onto the various sections of a planning document which can be seen as the final deliverable of planning. The further exercise in effect asks the students to identify intermediate products in the process.I find it useful to encourage students to discuss how they are going to do an exercise – after all this is a subject to do with planning. One approach would be to go through each of the steps in the Step Wise framework, identifying the products created. You might end up with something like this.0. Select project::feasibility report1. Identify project scope and objectives:Terms of reference(责权范围)2. Identify project infrastructure:Standards, procedures relating to progress reporting, change control ,Version Control tool ,cost evaluation tools,etc3. Analyse project characteristics :Technical plan, risk register4. Identify the products and activities:Product breakdown structure, product descriptions,product flow diagrams, ‘ideal’ activity network(Coarse one not refined one)5. Estimate effort for each activity:Schedule of task durations and costs6. Identify activity risks.Updated schedule of task durations and costs, updated risk register7. Allocate resources:Gantt chart8. Review/publicize plan: Publicized plan9. Lower level planning:Detailed plans2. What products must exist before the activity ‘test program’ can take place? What products does this activity create?Pre-test. Softwarespecification, testing environment, test cases (including input details and expected results), software to be tested,test plan.Post-test Actual results, list of discrepancies(不一致性), error reports5. Question 4 in the Further Exercises for Chapter 1 refers to a scenario relating to a training exercise. Using that scenario, draw up a Product Breakdown Structure, a Product Flow Diagram and a preliminary activity network.三、2.P57∙Illiness;∙Other commitments interfering with work e.g. familiy, work;∙Hardware or software facilities not being available when needed;∙Ambiguity in the assignment speficifcation leadintg to misunderstandings;∙Lack of understanding of the techniques to be used∙Hostile attitude among stakeholders3. discounted cash flow better than net profit or return on investment?∙DCF takes more account of the possibility that investment might more profitably be placed elsewhere than the proposed project;∙Projects where the major benefits are only experienced after several years are not favoured. There is more uncertainty about estimates of income and costs ofthe future that you gaze.∙NPV values can be calculated for a number of different feasible interest rates –different projects might be favoured as a result.5. Details are given below of the estimated income and outgoings of Projects A. Calculate the return on investment, the payback period and the net present value of the project and comment in which appears to be the most attractive. Assume a discount rate of 5%ProjectAyear income outgoings cashflow discountrate NPVaccum.cashflow0 120000 -120000 1 -120000 -1200001 42000 10000 32000 0.9524 30476.19 -880002 47000 10000 37000 0.9070 33560.09 -510003 51000 9000 42000 0.8638 36281.18 -90004 40000 12000 28000 0.8227 23035.67 1900019000ROI NPV payback3.96%3353.13 4四、1. A building society has a long history of implementing computer-based informationsystems to support the work of its branches. It uses a proprietary structured systems analysis and design method. It has been decided to create a computer model of the property market. This would attempt for example to calculate the effect of changes of interest rates on house values. There is some concern that the usual methodology used for IS development would not be appropriate for the new project.(a) Why might there be this concern and what alternative approaches should beconsidered?(b) Outline a plan for the development of the system which illustrates theapplication of your preferred methodology for this project.a) With traditional business systems analysis there is usually an existing office procedurethat managers are hoping to streamline in some way. There are people who understand the details of the jobs currently done. They can help the analyst draw up precise requirements to be met. There is, in short, a well-defined clerical equivalent of the application that is to be built.With a computer model of the property market there is probably no equivalent of thiswell-defined clerical model.●The analysts will therefore have to seek ideas about the working of such a modelfrom a variety of sources. Experts, such as experienced estate agents, may be able to contribute observations, but these are likely to be fragmentary rules of thumb. The academic literature on economic modeling might be studied.●In the end the analysts will probably have to resort to building a prototype of themodel. They will then trial this to see if it behaves in a similar way to the property market.●There is always the chance that the property market behaves in just too complexand inconsistent manner for a computer model to mimic accurately.All this suggests that t he ‘traditional’ IS development approach based on a waterfall framework would be unsuitable. A more iterative prototyping approach is sensible.b) Expanding on the discussion in 1(a), the following is one method of working:∙Define objectives: what does the management of the organization want from the model?∙Survey existing software solutions and the literature on the subject. Has anyone done this already?∙Consult experts.JAD (joint application development) sessions are mentioned in text as one possible approach. There are many other techniques to elicit relevant knowledge from domain experts which should be considered.∙Based on the above draw up an initial prototype design∙Build prototype∙Test it, probably using real data from the recent past; you can compare the results of the model with what actually happened∙Analyse the causes of discrepancies差异; modify the model and rerun∙Stop this cycle when you run out of time, or are not getting significant improvements ∙Carry out a general validation of how accurate the model it is, how easy it is to use –for example is the input data needed easy to collect?∙Write up recommendations3. An invoicing system is to have the following components: amend invoice, produce invoice, produce monthly statements, record cash payment, clear paid invoices from database, create customer records, delete customer.(a) What physical dependencies govern the order in which these transactions areimplemented?a)Given the data structure above, the order might be:∙Create customer∙Delete customer∙Produce invoice∙Amend invoice∙Payment∙Clear paid invoices∙Produce monthly statements(b) How could the system be broken down into increments which would be of some value to the users (hint – think about the problems of taking existing details onto a database when asystem is first implemented).b) When an application like this is installed,(1.1)careful thought has to go into how the information about existing accounts is to be carried over to the new application.(1.2)Obviously details about existing customers will need to be set up before the new application can become operational.--- It would be helpful to release the functionality to set up customer details well inadvance of the change-over.(2)Details of invoices that have already been sent out but have not yet been paid would also need to be recorded for the new application.---If the invoices have a lot of complex detail it might be worth releasing that functionality earlier, even if the users would have to transfer the invoice number and amount due to their existing accounting system. It might at least save them typing if the old system is a purely clerical one.五、成绩仅根据第2和6题批改,第3题不需要看2. If you were asked as an expert to provide an estimate of the effort needed to make certain changes to an existing piece of software, what information would you like to have to hand to assist you in making that estimate?The estimation of the effort to change a software component requires a different approach to the development of completely new software as a major factor is the structure of the existing software.The estimator might need to know:▪The nature of the changes required▪Ideally they should be told about the reasons for the change, as they may be able to suggest alternatives and more economic ways of meeting the requirement ▪The structure of the software to be changed▪Some idea of which parts of the software need changing▪Who will be carrying out the changes– will it be someone who is already familiar with the software to be changed, or will additional time have to be allocated for familiarization?▪Evaluation, Tools, Risk, Personnel, Delay, Cost3. (此题不需要改)A small application maintains a telephone directory. The database for the application contains the following data types:Staff referenceSurnameForenamesTitleDepartment codeRoom numberTelephone extensionE-mail addressFax numberTransactions are needed which:ii. set up new entries;iii. amend existing entriesiv. delete entriesv. allow enquirers to list on line the details for a particular member of staffvi. produce a complete listing of the telephone directory entries in alphabetical order a) Use this scenario to produce an estimated Mark II FP count. List all the assumptions you will need to make.b) Another requirement could be to produce the listing in (v) in departmental order. In your view should this increase FP count and if so by how much?关于相同功能,工作量是否应当重复计算?1.显示2.报错(不同原因)b) It can argued that the data presented in the two reports are the same, so that they are logically the same and so should be counted only once. Most development environment have easy to use features for sorting data and so the actual amount of work needed to produce the second report would probably be negligible.However, if you have every tried to look up details in an unsorted list, the fact that it is sorted can provide considerable value.There is therefore a debate among FP practitioners about whether FPs should reflect the value of the system to the user or the amount of work that is needed to develop it.This is particularly an issue in r elation to the question of reusable components.6. Given the project data below:a) What items are size drivers?inputs, outputs, entity accesses (system users for certain aspects)b) What items are productivity drivers?Programming languagec) What are the productivity rates for programming languages x, y and z?x 10 FPs a day[0.58*(210+469)+1.66*(40+125)+0.26*(420+1406)]/(30+85)=y 7 FPs a dayz 12 FPs a dayd) What would be the estimated effort for projects X and Y using a Mark II function point count?Project X : 262/7 i.e. 37 daysProject Y 705/7 i.e. 101 dayse) What would be the estimated effort for X and Y using an approximate analogy approach? Project X -- Project 5 22 days, (language is not considered)Project Y -- Project 3 108 days.f) What would have been the best estimating method if the actual effort for X turns out to be30 days and for Y turns out to be 120 days? Can you suggest why the results are as they are and how they might be improved.If we use a measurement based on the percentage error, calculated as absolute (actual-estimate)/actual we get the following:This illustrates that no one estimating method can be assumed to be the most accurate in all cases.The analogy estimate for Project X might have been improved by adjusting for the fact that Project X is to be written in programming language y while Project 5 was written in programming language z六、1. 题目:Activity Depends on Duration(days)A 5B A 7C B 6D A 5E D 10F B 15G B 8H G 8I C 4J G 4K E,F 5L I,H 3(a) Create a PERT activity network using the following details: refer to figure 6-16(b) Calculate the earliest and latest start and end dates and the float associated with each activity. From this identify the critical path.八、第七章风险管理1.In the case of Fiona’s project, the risks might include:P150▪Lack of client commitment –as this could be regarded as ‘only a student project’ it may be difficult to get the client to spare adequate time for suchthings as the clarification of requirements▪Conflicts between university and business requirements – the business might want, for example, the project to completed to a timescale that does not fit inwith the time when the university expects the project to be done▪Technical problems –including:o Fiona’s placement was spent as a support analyst and then as a network manager. She may have had little recent system-buildingpractice and may find that as a consequence that she runs intotechnical problemso The hardware/software environment at the university may be different from that of the business where the application is actually going to beused.2.a) Provide an estimate of the risk exposure (as a financial value) for the risk that thesenior fire fighter might not be able to attend at the times needed.The cost of an adverse outcome would be £2000.There is a 20% (0.20) probability of the adverse outcome.The risk exposure is therefore 20% of £2000, that is £400.b) Suggest possible risk mitigation actions.Given the risk exposure of £400, there would be a case of paying someone overtime to cover for the firefighter/trainer who is being interviewed.Alternatively, appointments could be made with two trainers at different times within the same week. This would not completely eliminate the risk, as it is possible foremergencies to happen at the times of both arranged interviews.5.▪Lack of awareness of the approach▪Unwillingness to spend additional time and resources on risk management▪Development managers may want projects to go ahead and do not want project sponsors to be deterred by consideration of possible failure九、第7章P1503.In Exercise 7.2 you were asked to identify risks under the four headings of Actors, Technology, Structure and Tasks for the IOE maintenance group accounts and the Brightmouth College payroll scenarios. Now identify risks for each scenario that relate to pairs of domains, for example, Actors-Techinology, Actors-Tasks and so on.▪Actor-Technology e.g. Pc23 pe28unfamiliarity with the new technology. This could be caused by the technology being genuinely novel, or by the fact the developershave simply not had the opportunity to use it previously.▪Actor- Task pc23 pe27 test group not available▪For example, a particular task might be too demanding for the novice developer who happens to be the only one who is available at the required time.▪Actor-Structure. Organizational barriers may make it difficult for people who need to communicate to do so.Pc30 pe36▪Technology-Structure. (Pc24 pe29)Pc22 pe24 no machine availableAn example here might be where software for a control system has to be tested on an expensive hardware configuration, which is used by more than one team. There could be clashes over the use of this valuable resource if an appropriate process was not in place to allocate user in an orderly and rational manner.▪Technology-Task.▪Pc24 pe29 commercial package availablePc29 pe35 estimate cost while using commercial packageThe example immediately above concerning the shared use of a testing facility could also apply here to the task of testing a software component in the shared technological environment.▪Structure-Task.2 points onPc21 pe25 & extra workFor example, the management process might dictate that a particular task can only be carried out when approval to start had been provided by higher management4、(只分析该项目的主要存在的问题)lack of staff experienceuse of contractorsnovel technologyreal-time performance shortfallslack of monitoringlack risk managementlack necessary checkpointslack clear requirementsbad feasibility evaluationlack cost-profit / business case evaluationbad schedule/bad time cost estimation十、第8章P1661.需要提交的作业A. 3The following might be discussed.The concern of a team leader could be locked onto the successful accomplishment of the project. There are however organizational concerns to be considered. Several projects, all important, might be running in parallel and using the best staff on one project might be the expense of some other.Other concerns might be for staff development: sometimes risks have to be accepted so that staff can be developed in new roles. Allocating the most capable staff member to the most critical activities all the time might lead, in the longer term, to burn-outB.Extra one(a) Draw up an activity network and calculate the earliest finish for the following project:学生答案可能是表,也可能是优先网络图如下(b) Produce a table showing the number of specialists of each type needed on each day of the project. How many of each type of resource will need to be recruited for the project as a whole if the earliest finish date is to be preserved?答案:表可以是excel图,也可以是表格填写的每天需要多少人(c) What impact would there be on the project if there were only two systems designers?答案:只要答出no impact,并给出延迟任务C到B结束就可以了,不需要画图。
软件工程课后习题参考答案一、概述软件工程作为一门跨学科的学科,涉及到软件开发的各个方面,对培养软件工程师的能力具有重要意义。
课后习题是巩固和深化学生对课程知识的理解和应用的重要途径。
本文将为软件工程课后习题提供一些参考答案,供学生参考和自我评估。
二、需求分析与规格说明1. 什么是软件需求?软件需求分析的目的是什么?软件需求是对问题域中用户对软件所期望的功能和性能的描述。
软件需求分析的目的是识别、理解、规范和管理软件系统开发的需求。
2. 软件需求分析的基本步骤是什么?软件需求分析的基本步骤包括需求获取、需求建模、需求验证和需求管理。
3. 什么是功能需求?什么是非功能需求?功能需求描述的是软件系统应具备的具体功能和行为。
非功能需求则描述了软件系统的其他属性,例如性能、安全性、可靠性等。
4. 举例说明一些常见的软件需求验证方法。
常见的软件需求验证方法包括需求审查、原型验证、测试和模型检查等。
三、软件设计与架构1. 什么是软件架构?软件架构的重要性是什么?软件架构是软件系统的基础结构和组织方式,决定了软件系统的可扩展性、可维护性和可演化性。
软件架构的合理设计能够降低开发和维护的难度。
2. 请简要介绍常见的软件架构模式。
常见的软件架构模式包括分层架构、客户-服务器架构、面向对象架构和微服务架构等。
3. 什么是设计模式?列举几个常见的设计模式。
设计模式是针对软件设计中的常见问题所提出的解决方案。
常见的设计模式包括单例模式、观察者模式、工厂模式和策略模式等。
4. 请简要介绍面向对象设计的原则。
面向对象设计的原则包括单一职责原则、开放封闭原则、里氏替换原则、依赖倒置原则和接口隔离原则等。
四、软件测试与质量保证1. 软件测试的目的是什么?请简要介绍测试驱动开发(TDD)。
软件测试的目的是发现软件产品中的错误和缺陷。
测试驱动开发是先编写测试用例,再根据用例编写代码的开发模式。
2. 请简要介绍黑盒测试和白盒测试。
黑盒测试是基于软件外部行为和需求的测试,不考虑软件的内部实现。
第一章:软件项目管理概述1、项目的定义及项目的基本特征:项目:在既定的资源和要求的限制下,为实现某种目标而相互联系的一次性的工作任务。
项目的基本特征:1明确的目标;2项目的独特性;3项目的时限性;4项目的不确定性;5结果的不可逆转性2、项目与日常工作的不同点及共同之处:不同:日常工作通常具有连续性和反复性而项目则具有时限性和唯一性,每一个项目都有明确的开端和结束。
管理方式不同,日常大多是职能式的线性管理,项目存在大量的变更管理。
共同:受到资源的限制,它们都必须由人来完成。
还有责任人、组织机构、收益大小等。
3、项目的基本特征:1.明确的目标:期望的产品或希望得到的服务2.项目的独特性:唯一性3.项目的时限性:有明确的开始和结束时间、不能重复4.项目的不确定性:实施中有变化引起的5.结果的不可逆转性:项目结束,结果就确定。
4、软件项目的特点:目标渐进性;项目阶段性;不确定性;智力密集型。
5、软件项目管理的特点:项目管理的对象是项目;系统工程思想贯穿项目管理的全过程;项目管理组织具有一定的特殊性;项目管理的方式是目标管理;项目管理具有创造性。
项目管理的核心任务是为项目增值,一方面为项目建设增值另一方面为项目使用(运行)增值。
6、项目管理环境:从项目环境作用的直接性程度划分可分为内部组织环境(即项目组织文化)—项目成员团队精神工作作风及特点、项目环境—与项目有联系对项目实施有影响的因素、一般环境—对项目有影响的周围环境。
7、软件项目中常见问题:需求不明确,变化比较多;工作量估计过低;项目团队水平不足;开发计划不充分;项目经理的管理能力不足。
8、软件项目管理成功原则:平衡原则(错误是“多快好省”);高效原则(需求、资源、工期、质量);分解原则(化繁为简,各个击破);实时控制原则;分类管理原则(因材施教);简单有效原则(没有完美管理只有有效管理);规模控制原则(人员贵精不贵多)。
第二章:项目的生命周期和管理过程1、项目生命周期:项目执行过程中的演化过程。
它确定了项目的开端和结束,描述了项目从开始到结束所经历的各个阶段。
软件项目的生命周期(开发过程)和软件的生存期不同,前者指从项目批准到交付使用的全过程;后者是指从概念的形成、项目定义与决策、系统分析与设计、开发成功、投入使用,并在使用中不断修改完善,直至被新的软件所替代,而停止该软件的使用的全过程。
2、检查点与里程碑:检查点:是指在规定时间间隔内对项目进行检查,比较实际与计划之间的差异,并根据差异进行调整。
里程碑:是项目中完成阶段性工作的标志。
可将检查点看作是一个固定“采样”时点,而时间间隔根据项目周期长短不同而不同,频度过小会失去意义,频度过大会增加管理成本;每个项目阶段都已一个或一个以上的工作成果的完成为标志,这种工作成果是有形的,可鉴定的。
3、生命周期的划分:项目定义与可行性研究;需求分析;系统设计;软件实施;系统测试。
4、软件项目管理过程:项目的管理内容;项目管理的过程;项目过程的相互作用;项目管理与软件产品管理的关系。
5、项目管理内容:范围(项目合同中工作范围)、时间(项目进度计划中项目进度)、成本(项目预算中项目费用)、质量(质量保证计划中,指满足明确或隐含需求的程度)。
6、项目5种管理过程及管理内容:5种:启动、计划、控制、执行、结束。
内容:项目启动(概念形成,立项筹备);项目计划(项目章程,项目计划);项目执行(授权激励,调配资源);项目控制(绩效跟踪,计划调整);项目收尾(验收评估,经验教训)。
7、项目过程的相互作用:管理过程和实现过程在时间上相互交叉和重叠,作用上相互制约和影响。
第三章:项目经理与项目组织1、项目相关利益主体及之间关系:a项目业主(投资人所有者);b项目客户(使用成果的);c项目经理;d项目实施组织;e项目团队;f项目的其他相关利益主体。
关系:有一致也有冲突。
项目业主与项目的实施组织之间的利益关系;a与f的利益关系;d与f的利益关系。
2、项目经理的:职责:确保项目目标实现;开发计划;组织实施;项目控制。
权力:生产指挥权;项目团队的组建权;财权;技术决策权。
地位和作用:(是信息中枢,是组织的核心团队的灵魂)1项目经理是项目实施的最高领导者、组织者、责任者,在项目管理中起到决定性的作用2项目经理应确保项目全部工作在预算范围内按时、优质地完成,并使利益相关者满意3项目经理必须对上级组织负责、对项目客户负责、对项目本身负责及对项目团队成员负责。
能力:获得项目资源的能力;消除障碍和解决问题的能力;领导能力和权衡能力;沟通能力;管理时间的能力;灵敏性。
3、项目组织的类型:职能型组织(划分等级有上级);项目型组织(部门按照项目设置);矩阵型组织(前两者的混合)。
4、影响组织选择的关键因素:1)不确定性2)所用技术3)复杂程度4)持续时间5)规模6)重要性7)客户类型8)对内部依赖性9)对外部依赖性10)时间局限性。
第四章:人力资源管理和建设1、项目人力资源的概念,以及管理内容和作用:项目人力资源管理是指对于项目的人力资源所开展的有效规划、积极开发、合理配置、准确评估、适当激励等方面的管理工作。
管理内容:①项目组织规划②项目人员的获得与配备③项目组织成员的开发④项目团队建设。
作用:①能够帮助项目经理达到以下目标:用人得当,使员工努力工作,遵守国家法律法规等;②能够提高员工工作绩效;③使员工心理满足,激励员工。
2、制定项目组织计划的目的、任务:目的:根据项目的目标和任务,确定相应的组织结构,以及如何划分和确定这些部门,这些部门又如何有机地相互联系和相互协调,共同为实现项目目标而各司其职又相互协作。
任务:包括确定书面计划并分配项目任务、职责以及报告关系:(1)角色和职责分配(2)构造项目组织结构图(3)编制人员配置管理计划。
3、项目组织计划所用的工具:职责分配矩阵RAM、项目组织结构图。
4、软件项目团队的特点:1工作自主性要求高2崇尚智能,蔑视权威3成就动机强,追求卓越4知识创造过程的无形性。
5、团队核心及团队精神的内容:团队核心是共同承诺,共同承诺就是共同承担集体责任。
团队精神:高度的相互信任;强烈的相信依赖;统一的共同目标;全面的互助合作;关系平等与积极参与;自我激励和自我约束。
6、项目团队建设经历的4个阶段及每个阶段的特征:1形成阶段:特点可能包括兴奋、希望、怀疑、焦急和犹豫不决. 2震荡阶段:特点是人们有挫折、怨愤或者对立的情绪3正规阶段:团队凝聚力开始形成,有了团队的感觉。
大量的交流信息、观点和感情、合作意识增强,项目规定和团队规范得到改进和正规化4表现阶段:项目团队积极地工作,急于实现项目目标。
7、团队建设的基本原则:开放沟通,由下而上开发领导力;鼓励尝试创新;借企业文化塑造团队精神;没有完美的个人,只有完美的团队。
8、激励理论及其激励过程:激励就是调动人的积极性。
激励的过程主要有4个部分,即:需要、动机、行为、绩效。
9、马洛斯的需要层次理论:1)生理需要——维持人类自身生命的最基本需要,如吃、穿、住、行、睡等2)安全需要——如就业工作、医疗、保险、社会保障等3)友爱与归属需要——人们希望得到友情,被他人接受,成为群体一分子4)尊重需要——个人自尊心,受他人尊敬及成就得到承认,对名誉、地位的追求等5)自我实现需要——人类最高层次的需要。
追求理想、自我价值、使命感,创造性和独立精神等10、激励因素的种类:1物质激励2精神激励:参与感;发展机遇;工作乐趣;荣誉感3其他激励手段:权力、任务、预算、提升、金钱、处罚、工作挑战、技术特长和友谊。
第五章项目沟通与冲突管理1. 项目沟通的概念、沟通原则和内容?(1)概念:项目沟通是以项目经理为中心,纵向对高层管理者、项目发起人、团队成员,横向对职能部门、客户、供应商等进行项目信息的交换;(2)原则:准确,及时,完整,有效;(3)沟通管理中的内容:a.沟通计划编制b.信息分发c.绩效报告d.管理收尾2. 项目沟通有哪些作用?沟通对项目实施效率有哪些影响?作用:a.决策和计划的基础b.组织和控制管理过程的依据和手段c.建立和改善人际关系必不可少的条件d.项目经理成功领导的重要手段e.信息系统本身是沟通的产物f.软件开发的柔性标准需要沟通来弥补影响:a.项目复杂程度与实施效率b.团队规模与实施效率c.团队的组织方式与实施效率 d.团队的默契度与实施效率3. 项目信息传递的方式与渠道,沟通存在的障碍?(1)方式:a.正式沟通与非正式沟通b.上行沟通,下行沟通和平行沟通3单行沟通与双向沟通c.书面沟通和口头沟通d.言语沟通和体语沟通;(2)沟通的障碍:a.主观障碍b.客观障碍c.沟通联络方式的障碍4.如何提高沟通效率?1.沟通要有明确的目的;2.提高沟通的心理水平;3.善于聆听;4.避免无休止的争论;5.保持畅通的沟通渠道;6.使用高效的现代化工具5.冲突管理的概念及冲突管理的三个阶段。
(1)概念:冲突就是项目中各种因素在整合过程中出现了不协调现象,冲突管理即创造性的处理冲突,引导这些冲突的结果向积极的、协作的、而非破坏性的方向发展。
(2)三个阶段:诊断、处理、项目冲突处理结果。
6. 冲突产生的来源:工作内容;资源分配;进度计划;项目成本;先后次序;组织问题;个体差异。
7. 冲突处理的常用方法:回避或撤退;竞争或强迫;调停或消除;妥协;合作、正视和解决问题。
8.项目经理应具备哪些沟通技巧:沟通要有明确目的;提高沟通的心理水平;善于聆听;避免无休止的争论;保持畅通的沟通渠道;使用高效的现代化工具。
第六章项目可行性研究与启动1. 软件项目产生的4种方式?(1)企业自己寻找项目机会,经过一定的论证后确定(2)从外界引入,初步的可行性研究已经完成,项目的提出者与投资者在进行详细研究后确定实施该项目(3)项目的提出者做完了所有的论证工作,并引入风险投资,确定项目(4)外部环境变化,引发了一个项目2. 选择项目时一般考虑哪些因素(项目选择的4要素)?(1)项目的合法性(2)项目的含金量(3)项目的成熟度(4)项目的适用性3.可行性研究的目的、作用和内容?(1)目的:a.技术的先进性和适用性b.经济上的盈利性和合理性c.运行环境上的可能性和可行性(2)作用:a.为决策提供依据b.可行性研究是项目设计的依据c.项目评估的依据d.为商务谈判、签订有关合同协议提供依据(3)内容:a.技术可行性分析b.经济可行性分析d.运行环境可行性4. 项目启动的标志?(1)任命项目经理,开始组建项目团队(2)召开项目启动会议第七章项目招投标与合同管理1. 什么是招投标?简述招标包括哪些过程?(1)招投标:招标是指招标人在特定的时间、地点发出招标公告或招标单,提出准备开发的项目或买进商品的品种、数量和有关买卖条件,邀请供方投标的行为。