软件工程课后习题答案中文翻译版(第八版)

合集下载

软件工程课后习题答案

软件工程课后习题答案

软件工程课后习题答案第一章1.1举出至少5个例子来说明“意外效应法则”在计算机软件方面的应用。

答:典型的例子包括使用“数字汽车仪表板”的软件,赋予高科技,高品质的图像的软件;如广泛的消费类电子产品的软件;个人电脑,工业仪器仪表和机器的软件。

软件分化出的在电子商务方面的应用。

1.2举例说明软件对社会的影响(包括正面影响和负面影响)。

答:这是一个很好的课堂讨论问题(如果时间允许),而不是专注于老生常谈的(但很重要)隐私问题,生活质量等问题。

您可能想要讨论关于”技术恐惧“方面的问题,软件也许会使它恶化但也可能减少”技术恐惧“。

另一个有趣的方面是使用诺依曼的“风险”列在SEN中做重点讨论。

你也可以考虑基于软件的“现金”经济,新模式的互动娱乐,虚拟现实,电子商务等方面来思考软件对社会的影响。

1.3针对1.1节提出的5个问题,请给出你的答案,并与同学讨论。

答:软件需要如此长的开发时间:a)设施不上线b)开发工具并不如预期般运作c)客户提出的新要求,需要重新设计和返工d)产品依赖于政府的规定,被意外更改。

e)严格的要求,与现有系统的兼容性需要超过预期更多的测试,设计和实现。

f)多个操作系统下运行的任务需求比预期需要更长的时间。

g)软件项目风险管理比预期需要更多的时间。

h)依赖的技术仍处于开发阶段,从而延长日程安排。

开发成本高:a)比当时预期低得令人无法接受的质量,需要进行更多的测试,设计和实施工作。

b)制定了错误的软件功能需要重新设计和实施。

c)开发错误的用户界面,而导致重新设计和实施。

d)开发了不需要的额外的软件功能而延长了开发日程安排。

在将软件交付顾客使用之前,我们无法找到所有错误:a)产品依赖于政府监管,意外而改变。

b)产品技术标准草案,会意外更改。

c)有时会在项目后期添加新的开发人员。

d)因为团队内的冲突有时会导致沟通不畅,而产生糟糕的设计。

e)破坏高效调度产生的项目管理成果和无效的规划f)有时装备部件质量差,导致额外的测试,设计和集成工作和管理额外的客户关系。

《软件工程》各章课后习题答案

《软件工程》各章课后习题答案

《软件工程》各章课后习题答案软件工程是计算机科学与技术的一门重要学科,旨在研究和应用工程原则和方法来开发高质量的软件系统。

课程中的习题对于加深学生对软件工程理论和实践的理解至关重要。

下面是对《软件工程》各章课后习题的答案,希望能够帮助你更好地掌握软件工程的知识。

第一章:软件工程导论1. 软件工程的定义:答:软件工程是通过应用系统化、规范化和可量化的方法进行软件开发、运行和维护的学科。

2. 软件工程的目标:答:软件工程的目标是提高软件开发的质量、效率和可靠性,使得软件能够满足用户的需求和期望。

3. 软件生命周期模型:答:常见的软件生命周期模型包括瀑布模型、迭代模型、敏捷模型等。

每个模型都有其独特的特点和适用场景。

4. 软件过程模型:答:软件过程模型描述了软件开发过程中的一系列活动和阶段,常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。

5. 软件工程的基本原则:答:常见的软件工程基本原则包括分阶段、逐步求精、持续集成、迭代开发、需求优先等。

第二章:软件项目管理1. 软件项目管理的定义:答:软件项目管理是指对软件开发过程中的资源、进度、质量等进行有效管理,以确保软件项目能够按时、按质地完成。

2. 软件项目管理的内容:答:软件项目管理包括项目计划、需求管理、项目进度管理、资源管理、风险管理等方面。

3. 软件项目管理的方法:答:常见的软件项目管理方法包括敏捷项目管理、水平项目管理、里程碑项目管理等。

4. 软件项目管理的工具:答:常用的软件项目管理工具包括甘特图、PERT/CPM网络图、项目管理软件等。

第三章:软件需求分析与规格说明1. 软件需求的定义:答:软件需求是指用户对软件系统的要求和期望,包括功能需求、性能需求、接口需求等方面。

2. 软件需求分析的方法:答:常用的软件需求分析方法包括面向对象分析法、数据流图法、用例分析法等。

3. 软件需求规格说明的格式:答:常见的软件需求规格说明的格式包括自然语言描述、结构化描述、图形描述等。

软件工程课后习题答案

软件工程课后习题答案

第一章一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。

它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。

软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。

常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。

而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。

这些都降低了开发商的信誉,引起用户不满。

(2) 用户对已完成的软件不满意的现象时有发生。

(3) 软件产品的质量往往是靠不住的。

(4) 软件常常是不可维护的。

(5) 软件通常没有适当的文档资料。

文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。

(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。

(7) 开发生产率提高的速度远跟不上计算机应用普及的需求。

软件危机出现的原因:(1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。

(2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。

(3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。

二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。

软件工程课后习题答案(第八版)

软件工程课后习题答案(第八版)

软件工程课后习题:⏹What are the differences between generic software product development and custom software development?⏹Solution:The essential difference is that in generic software product development, the specification is owned by the product developer. For custom product development, the specification is owned by the customer. Of course, there may be differences in development processes but this is not necessarily the case.重要区别为:在通用软件的开发过程中,详细说明(规格说明书)由产品开发者来制定,在定制软件产品开发过程中,详细说明(规格说明书)由客户来制定。

⏹What are the four important attributes which all software products should have? Suggest four other attributes that may sometimes be significant.⏹Solution:For important attributes are maintainability可维护性,dependability 可靠性, performance(efficiency)有效性andusability可用性.Other attributes that may be significant could be reusability可复用性 (can it be reused in other applications),distributability 可分发性(can it be distributed over a networkof processors), portability可移植性 (can it operate onmultiple platforms) and inter-operability互用性 (can it workwith a wide range of other software systems).⏹What is the difference between a software process model and a software process? Suggest two ways in which a software process model might be helpful in identifying possible process improvements.⏹Solution:A software process is what actually goes on when software isdeveloped. A software process model is an abstraction andsimplification of a process. Process models can be used to helpunderstand real processes and to identify which aspects of theseprocesses could be supported by CASE tools. 软件过程就是指在软件开发过程中所做的一些事情。

软件工程第八版(英文)机械工业出版社 课后习题

软件工程第八版(英文)机械工业出版社  课后习题

Part 1 OverviewChapter 1 Introduction1.1 FAQs about software engineering1.2 Professional and ethical responsibility Chapter 2 Socio-technical systems2.1 Emergent system properties2.2 Systems engineering2.3 Organisations, people and computer systems 2.4 legacy systemsChapter 3 Critical systems3.1 A simple safety-critical system 463.2 System dependability 473.3 Availability and reliability 513.4 Safety 553.5 Security 58Chapter 4 Software processes4.1 Software process models 654.2 Process iteration 714.3 Process activities 744.4 The Rational Unified Process 824.5 Computer-Aided Software Engineering 85 Chapter 5 Project management 925.1 Management activities 945.2 Project planning 965.3 Project scheduling 995.4 Risk management 104 RequirementsChapter 6 Software requirements 6.1 Functional and non-functional requirements6.2 User requirements6.3 System requirements6.4 Interface specification6.5 The software requirements document Chapter 7 Requirements engineering processes7.1 Feasibility studies7.2 Requirements elicitation and analysis7.3 Requirements validation7.4 Requirements managementChapter 8 System models 8.1 Context models8.2 Behavioural models8.3 Data models8.4 Object models8.5 Structured methodsChapter 9 Critical systems specification9.1 Risk-driven specification9.2 Safety specification9.3 Security specification9.4 Software reliability specificationChapter 10 Formal specification 10.1 Formal specification in the software process 10.2 Sub-system interface specification10.3 Behavioural specificationPart 3 DesignChapter 11 Architectural design 11.1 Architectural design decisions11.2 System organisation11.3 Modular decomposition styles11.4 Control styles11.5 Reference architecturesChapter 12 Distributed systems architectures12.1 Multiprocessor architectures12.2 Client-server architectures12.3 Distributed object architectures12.4 Inter-organisational distributed computing Chapter 13 Application architectures13.1 Data processing systems13.2 Transaction processing systems13.3 Event processing systems13.4 Language processing systems Chapter 14 Object-oriented design14.1 Objects and object classes14.2 An object-oriented design process14.3 Design evolutionKey PointsFurther ReadingExercisesChapter 15 Real-time software design15.1 System design15.2 Real-time operating systems15.3 Monitoring and control systems15.4 Data acquisition systemsChapter 16 User interface design 36216.1 Design issues 36616.2 The UI design process 37616.3 User analysis 37816.4 User interface prototyping 38116.5 Interface evaluation 383Part 4 Development 389 Chapter 17 Rapid software development 39117.1 Agile methods 39617.2 Extreme programming 39817.3 Rapid application development 40517.4 Software prototyping 409Chapter 18 Software reuse 415 18.1 The reuse landscape 41818.2 Design patterns 42118.3 Generator-based reuse 42318.4 Application frameworks 42618.5 Application system reuse 428 Chapter 19 Component-based software engineering19.1 Components and component models 19.2 The CBSE process19.3 Component compositionChapter 20 Critical systems development20.1 Dependable processes20.2 Dependable programming20.3 Fault tolerance20.4 Fault-tolerant architecturesChapter 21 Software evolution 21.1 Program evolution dynamics21.2 Software maintenance21.3 Evolution processes21.4 Legacy system evolutionPart 5 Verification and ValidationChapter 22 Verification and validation22.1 Planning verification and validation 22.2 Software inspections22.3 Automated static analysis22.4 Verification and formal methods Chapter 23 Software testing23.1 System testing23.2 Component testing23.3 Tes1 case design23.4 Tes1 automationChapter 24 Critical systems validation24.1 Reliability validation24.2 Safety assurance24.3 Security assessment24.4 Safety and dependability case's ManagementChapter 25 Managing people25.1 Selecting staff25.2 Motivating people25.3 Managing groups25.4 The People Capability Maturity Model Chapter 26 Software cost estimation 61226.1 Software productivity 61426.2 Estimation techniques 62026.3 Algorithmic cost modelling 62326.4 Project duration and staffing 637 Chapter 27 Quality management 64127.1 Process and product quality 64427.2 Quality assurance and standards 645 27.3 Quality planning 65227.4 Quality control 65327.5 Software measurement and metrics 655 Chapter 28 Process improvement 66528.1 Process and product quality 66728.2 Process classification 66928.3 Process measurement 67228.4 Process analysis and modelling 67328.5· Process change 67828.6 The CMMI process improvement framework 680Chapter 29 Configuration management29.1 Configuration management plclnning 29.2 Change management29.3 Version and release management 29.4 System building29.5 CASE tools for configuration managementEmerging TechnologiesSecurity engineering30.1 Security concepts30.2 Security risk management 30.3 Design for security 30.4 System survivabilityService-oriented software e:ngineering31.1 Services as reusable components 31.2 Service engineering31.3 Software development with servicesAspect-oriented software development32.1 The separation of concerns 32.2 Aspects, join points and pointcuts 32.3 Software engineering with aspectsChapter 1 ' IntroductionChapter 2 Socio-technical systemsChapter 3 iii Critical systemsChapter 6 • Software requirementsChapter 7 Requirements engineering processesChapter 8 System modelsChapter 9 Critical systems specificationChapter 10 Formal specificationChapter 11 Architectural designChapter 12 Distributed systems architecturesChapter 13 Application architecturesChapter 14 Object-oriented designChapter 15 Real-time software designChapter 16 User interface designChapter 17 Rapid software developmentChapter 18 Software reuseChapter 19 Component-based software engineeringChapter 20 Critical systems developmentChapter 21 Software evolutionChapter 22 Verification and validationChapter 23 Software testingChapter 24 Critical systems validationChapter 25 Managing people。

软件工程课后习题答案

软件工程课后习题答案

软件⼯程课后习题答案习题答案习题⼀答案⼀、选择题1. 软件的主要特性是(A B C)。

A) ⽆形 B) ⾼成本C) 包括程序和⽂档D) 可独⽴构成计算机系统2. 软件⼯程三要素是(C D)。

A) 技术、⽅法和⼯具B) ⽅法、⼯具和过程C) ⽅法、对象和类D) 过程、模型、⽅法3. 包含风险分析的软件⼯程模型是(A)。

A) 螺旋模型 B) 瀑布模型C) 增量模型 D) 喷泉模型4. 软件⼯程的主要⽬标是(C)。

A) 软件需求B) 软件设计C) 风险分析D) 软件实现5. 下列属于⾯向对象开发⽅法的是(A B C D)。

A) Booch B) UML C) Coad D) OMT6. 软件危机的主要表现是(B D)。

A) 软件成本太⾼B) 软件产品的质量低劣C) 软件开发⼈员明显不⾜D) 软件⽣产率低下7. 软件开发⽅法的主要⼯作模型有(A B C)A) 螺旋模型B) 循环模型C) 瀑布模型D) 专家模型8. 软件⼯程的⽬标有(A B C)。

A) 易于维护B) 低的开发成本C) ⾼性能D) 短的开发期9. 软件⼯程学的⽬的和意义是( )。

A) 应⽤科学的⽅法和⼯程化的规范管理来指导软件开发B) 克服软件危机C) 作好软件开发的培训⼯作D) 以较低的成本开发出⾼质量的软件⼆、判断题1. 软件就是程序,编写软件就是编写程序。

(×)2. 瀑布模型的最⼤优点是将软件开发的各个阶段划分得⼗分清晰。

(×)3. 结构化⽅法的⼯作模型是使⽤螺旋模型进⾏开发。

(×)4. 结构化⽅法和JSP⽅法都不适合于⼤型软件的开发。

(√)5. 原型化开发⽅法包括⽣成原型和实现原型两个步骤。

(×)6. ⾯向对象的开发⽅法包括⾯向对象的分析、⾯向对象的设计和⾯向对象的程序设计。

( √)7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。

(×)8. 软件⼯具的作⽤是为了延长软件产品的寿命。

软件工程课后习题答案

软件工程课后习题答案

第一章习题参考答案1﹑软件产品的特性是什么?答:软件产品特性:⑴是一种逻辑产品,与物质产品有很大的区别。

⑵软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品。

⑶软件产品不会用坏,不存在磨损,消耗。

⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的⑸开发软件的费用不断增加,致使生产成本相当昂贵。

2﹑软件生产有几个阶段?各有何特征?答:⑴程序设计时代:这个阶段生产方式是个体劳动,使用的生产工具是机器语言,汇编语言。

⑵程序系统时代:这个阶段生产方式是小集团合作生产,使用的生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。

⑶软件工程时代:这个阶段生产方式是工程化的生产,使用数据库﹑开发工具﹑开发环境﹑网络﹑分布式﹑面向对象技术来开发软件。

3﹑什么是软件危机?产生原因是什么?答:软件开发技术的进步未能满足发展的要求。

在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。

产生原因:⑴软件规模越来越大,结构越来越复杂。

⑵软件开发管理困难而复杂。

⑶软件包开发费用不断增加。

⑷软件开发技术落后。

⑸生产方式落后,仍采用手工方式。

⑹开发工具落后,生产率提高缓慢。

4﹑什么是软件工程?它目标和内容是什么?答:软件工程就是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。

软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。

软件工程内容:研究内容包括开发技术和开发管理两个方面。

开发技术主要研究:软件开发方法,开发过程,开发工具和环境。

开发管理主要研究:软件管理学,软件经济学,软件心理学。

5﹑软件工程面临的问题是什么?答:软件工程需要解决的问题:软件的费用,可靠性,可维护性,软件生产率和软件的重用。

软件工程课后习题答案(第八版)

软件工程课后习题答案(第八版)

软件工程课后习题:⏹What are the differences between generic software product development and custom software development?⏹Solution:The essential difference is that in generic software product development, the specification is owned by the product developer. For custom product development, the specification is owned by the customer. Of course, there may be differences in development processes but this is not necessarily the case.重要区别为:在通用软件的开发过程中,详细说明(规格说明书)由产品开发者来制定,在定制软件产品开发过程中,详细说明(规格说明书)由客户来制定。

⏹What are the four important attributes which all software products should have? Suggest four other attributes that may sometimes be significant.⏹Solution:For important attributes are maintainability可维护性,dependability 可靠性, performance(efficiency)有效性andusability可用性.Other attributes that may be significant could be reusability可复用性 (can it be reused in other applications),distributability 可分发性(can it be distributed over a networkof processors), portability可移植性 (can it operate onmultiple platforms) and inter-operability互用性 (can it workwith a wide range of other software systems).⏹What is the difference between a software process model and a software process? Suggest two ways in which a software process model might be helpful in identifying possible process improvements.⏹Solution:A software process is what actually goes on when software isdeveloped. A software process model is an abstraction andsimplification of a process. Process models can be used to helpunderstand real processes and to identify which aspects of theseprocesses could be supported by CASE tools. 软件过程就是指在软件开发过程中所做的一些事情。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程课后习题:1.解释为什么专业化软件不仅仅包括为用户所开发程序?专业化软件在开发上与在与软件就有所不同。

专业软件通常是由团队开发而非个人,除了开发者外还有其他的用户使用。

如果你的软件有别的用户,别的工程师会去修改的话,你就必须提供除了程序源码之外的其它附带信息。

因此,系统通常除了包含一些单独的程序还有用于这些程序的配置文件,可能还包括描述系统结构的系统文档和解释如何使用该系统的用户文档,以及告知用户下载最新产品的Web站点。

2.通用软件产品开发和定制软件开发直接有什么不同?这在实际应用中对通用软件产品用户意味着什么?(1)重要区别为:在通用软件的开发过程中,详细说明(规格说明书)由产品开发者来制定,在定制软件产品开发过程中,详细说明(规格说明书)由客户来制定开发者必须按客户要求进行开发。

(2)意味着通用软件很难满足通用软件客户的特殊需求。

如可靠性、安全性、快捷性。

3.软件产品应该具有与的4重要属性是那些?另外列举出4个可能有意义的属性。

重要属性:可维护性、可依赖性和安全性、有效性和可用性。

可能有意义的属性:可复用性、可分发性、可移植性和互用性。

4.除了异质性挑战、业务和社会的变革、安全和可信,说出软件工程在21世纪的可能面临的其它问题和挑战。

交付上的挑战:许多传统的软件工程技术需要耗费大量的时间,用于提高软件质量。

而今天的软件制作必须响应快、更换迅速,支持软件也必须同样快地进行更换。

交付上的挑战是:在不损及系统质量的前提下,缩短大型、复杂系统的移交时间。

5.参论的应用类型,照1.1.2节讨举例介绍为什么设计和开发不同类型的应用需要专门的软件技术。

如汽车上年的嵌入式控制系统对安全性要求极高,在车上安装是要烧制到ROM 中在这里的交互在这里是很少的(或许根本就没有)。

基于Web式系统更适合用于迭代式开发和交互。

而基于Web的系统编程使用的如Ruby一类的脚本语言,完全不适合嵌入式系统工程。

6.解释为什么软件工程的基本思想适用于所有的软件系统。

软件工程的基本思想:1.应使用有管理和理解了的开发过程进行开发。

2.可依赖性和性能对所有类型的系统来说都很重要。

3.理解和管理系统描述和需求是很重要,你必须知道不同的客户和用户的期望是什么。

4.赢尽可能搞笑地使用档期存在资源。

软件工程也是从无数实践中提炼出来的一门科学,沟通、需求分析、设计建模、编程、测试和支持都是软件工程方法所依赖于一组的本原则。

这些思想和原则涵盖了软件工程所有技术,是软件开发不可缺少的一部分。

所以软件工程的基本思想适用于所有的软件系统。

7.解释Web的普遍使用是怎么改变软件系统的。

(1)软件复用已经成为构建基于Web的系统的主要技术。

当你在够着这样的系统是就需要考虑在学校恩怨从已有的软件组件和系统开始工作。

(2)基于Web的系统的开发和交付应逐步完成,提前制定这些系统的所以需求是不切实际的。

(3)用户界面搜到浏览器能力和实用性约束,基于Web的系统上的应用界面通常比专门为Pc系列产品专门设计的用户界面要差。

(通俗点讲就是:实用是实用,就是有点丑。

)8.职业人员是否应该和医生或律师一样要颁发资格证书?讨论一下。

我认为:可以给职业人员颁发某种软件技术方面的资格证书以便公司能够快速确认从业人员具备的技能和让社会大众对从业人员的技术资质有更简单直观的了解。

当然,这个证书不能成为他职业道德的证书,软件工程从业人员的职业道德和行为准则因由此方面协会和机构引导,从业人员自己严加自律。

9.对吐1-3的ACM/IEEE职业道德准则中的每一条款,举出一个恰当的例子加以说明。

(1)公众感:软件工程从业人员应该始终与公众利益保持一致。

不应该通过软件给某些利益集团谋取私利从而损害广大人民群众的利益。

(2)客户和雇主:不能只站在雇主这边为雇主最求利益最大化而不顾客户利益。

(3)产品:不能做一个没有完成或某方面如安全性、稳定性未达标的产品给客户。

(4)判断力:软件从业人员应具备达到判断力,知道自己做的产品不是刻意用来危害社会的。

(5)管理:合理管理软件开发方法,不能官僚主义全听领导一句话。

(6)职业感:大家都是从事正当行业的,要多想想怎么为社会谋取福利。

(7)同事:黑社会都说以和为贵,团队成员都是奔着一个目标去的不要由于一些小小分歧就那个啥...周恩来说要求同存异。

(8)自己:注意要有健康积极的职业和生活方式。

什么是四个重要的属性,所有的软件产品应该有?建议四其他属性,有时可能是重要的。

可维护性, 可靠性,有效性,可用性.Other可复用性,可分发性,可移植性,互用性给你的答案基于系统正在开发的类型的原因,建议最适当的通用的软件过程模型,可以用来管理跟踪系统发展的基础:1)防抱死制动系统2)的虚拟现实系统3)高校会计制度4)互动的时间表(一)防抱死制动系统:安全关键安全鉴定系统方法的基础上,正式的转换等价每段之间的等价证明。

(b)的虚拟现实系统:系统的要求,事先无法预测预先地预知所以探索性编程模型是合适的。

(C)大学会计系统:系统的要求应稳定是因为现有的系统因此瀑布模型是合适的。

(d)互动的时间表交互式时间表:系统复杂的用户界面,但它必须是稳定的,可靠的。

应根据丢弃原型找到要求然后增量开发或瀑布模型。

为什么一个软件系统,用一个真实的世界环境必须改变或成为progressivelyless 有用吗?这种适应自然生成新的系统需求系统的环境是动态的,不断产生新的要求,作为对业务变化的后果,业务目标和业务政策。

商务的目标以及政治相关除非系统适于反映这些要求,其设施将成为了所需要的设施支持业务和步骤,因此,它将变得不那么有用。

为什么一个好的程序员不一定是一个好的软件管理者?管理活动包括提出书面建议,项目规划和进度,人员选择和评价,项目监督和评审,和其他队友的交流能力等。

程序设计者的任务就不是这些,他们不需要和人交流的能力,如果按照做好一个程序设计者的要求去做管理者的话,他肯定不是一个号的管理者。

为什么项目策划的过程是迭代的,为什么一个计划必须不断审查软件项目中。

软件项目地规划取决于有用地信息。

在项目进行期间不断产生新的信息,所以必须经常性的修改原有的计划。

原本有用的信息可能会不再有用,而原本一些不确定的信息反而会变得有用。

最初对象目本身的估算是实验性的,所以计划需要不断的修改。

表明他们可能会在一所大学的学生记录系统中的利益相关者。

在一个学生记录系统的利益相关者包括:大学管理中心,包括报到,交纳学费,考试,作业和毕业等记录在这个系统中的学生大学部门管理者,需要提供和使用这些信息使用系统信息的学院成员数据保护工作者潜在的学生中的雇佣者在学生记录系统中的参与者包括:。

学校管理中心包括负责学生注册,缴费,考试,评估,毕业事宜的相关人员。

那些被记录具体信息的学生。

把学生信息录入到系统并使用系统信息的学校部门人员。

使用这些信息的学术人员。

数据安全人员(本地和国家的)。

潜在的雇用学生的人(或许需要用到这个系统里面的信息)7.3三在图书馆系统中发现的观点。

libysy,建议三的要求,可以通过与相关的利益相关者提出的观点。

你可以解决这个问题用头脑风暴的方法。

显然,有许多替代解决方案建议,这里。

注意印刷冲突是故意的。

观点:图书馆管理要求:进入汇文系统应限于认可的图书馆用户。

要求:在汇文系统必须提供一个报告的设施,允许使用报告(谁使用系统,多久,是什么库访问)来创建和打印。

要求:在汇文系统的配置应使特定的库服务器允许打印文档。

观点:用户要求:在汇文系统应可从任何位置,包括地点离大学校园。

要求:应能保存汇文系统查询,回忆和修改后使用。

要求:在汇文系统应允许文件被打印在用户的打印机。

观点:系统管理员要求:重新启动时间的汇文系统失败后不得超过5分钟。

要求:在汇文系统必须提供一个用户的个人工作空间的备份设备。

要求:在汇文系统应提供一系列平台包括Windows 2000,Windows XP和MAC OS X。

7.4汇文系统支持包括编目工作的新文件系统目录可以分布在多台机器。

可能是非功能需求与编目设施有关的最重要的类型?重要的非功能属性的编目服务的可能:•可用性(因为系统可以在任何需要的时间)•安全(因为图书数据库不能损坏)•效率(因为系统必须迅速作出反应,每个交易)为浏览服务,这些服务的可用性也是非常重要的应该是易于使用,没有广泛的培训。

讨论了一个例子,一个类型的系统的社会和政治因素可能强烈地影响系统的要求。

解释为什么这些因素是重要的在你的例子。

社会和政治因素影响系统需求的一个例子是管理成本和公共卫生保健的系统。

政治家们对控制成本和确保提供最好的卫生保健系统都很关心。

在这样一个系统中这本来就是一对潜在的矛盾,系统管理人员关心的治疗成本而医生们关心的治疗效果。

此时系统需求可能要建立在特殊的包括一系列组织因素的政策上而不是技术需求。

11.1为什么它可能需要在规范设计系统的体系结构是写的吗?体系结构设计过程输出了一个体系结构的设计文档,这样的设计文档包含了一系列图形化的系统模型描述和一些相关的描述文本。

该文当描述了系统如何有子系统构成以及每个子系统如何有模块构成。

11.4给你答案的原因,建议以下系统的一个合适的结构模型:11.4.1一个在铁路站旁,供乘客使用的自动售票系统答:自动售票系统。

最合适的架构模型是有共享数据仓库和定价信息的集中式控制模型。

当使用这种模型时,所有机子能立即获取改变的信息。

由于没有局部处理的必要,所以使用客户/服务架构没有什么优势。

集中式控制系统允许全局信息和路径被收集和处理。

一个允许在同一时间段,视频,音频,计算机数据对很多参与者是可见的计算机控制视频会议系统答:视频会议系统。

最合适的是使用客户/服务模型。

很多局部过程用来处理多媒体数据。

11.4.3一个清洁机器人,主要用来清理一些地方比如走廊。

该清洁机器人必须能感应墙和其他的障碍物。

答:清洁机器人。

最适合的模型是贮藏式模型。

这时所有的子系统把信息存放在其他子系统得贮藏室,以备后用。

以AI系统为例,一种特殊的贮藏室叫做“黑板”被使用11.8 就分布性讨论数据流模型和对象模型的优点和缺点。

假设应用程序的淡季和分布式版本都是必需的。

两种模型都能作为分布式,数据流程图中的每个转换都可以看作是个分离的过程,而每个对象也可以作为过程实现。

函数的分解需要共享状态,并表示为一个或多个过程。

在对象模型中分布对象是个问题,对象如果继承的话就如同它的创建一样会造成很多网络阻塞。

用例子,解释对象和对象类之间的不同。

对象类就是定义实体(或者说对象)的类型说明,包含可以被识别的相似的公共特征。

对象是真实世界或是在系统中的通过对象类对其属性进行赋值的特殊实例。

给对象的赋值操作可用于识别与其他所有对象的区别,尽管不需如此。

相关文档
最新文档