软件工程第8版课后题答案(英文

所需积分/C币:42 2012-08-01 19:14:21 12.58MB PDF
收藏 收藏 1
举报

软件工程第8版课后题答案(英文)详细的课后习题解答
Solutions to the exercises are organised by chapter and I have provided solutions for 6 or 7 exercises for each chapter in the book. In some cases, where the material is likely to be unfamiliar or where I have found students to have particular difficulties, a larger number of solutions are given. Overall, have provided solutions for about 60% of the exercises. For exercises concerned with ethical issues there are of course, no definitive solutions. For these exercises, I have included issues that might be However, the solutions here are simply indications of what might be expected from students attempting the exercises. Many of the exercises have been deliberately designed so that they may b adapted to local situations; therefore they are not specified in a rigid way. Instructors, therefore, may use these solutions as a guide but many other possible, equally valid, solutions may also be generated There are still a small number of chapters where there are fewer than 6 solutions to exercises. These addilional solutions will be ayailable in the nexl release of this document in October 2006 NOT FOR PUBLIC DISTRIBUTION ◎ lan sommerville2006 Chapter 1 Introduction Solutions provided for Exercises 1.2,1.3,, 1.7 and 1.8 1. 2 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 3 For important attributes are maintainability, dependability, performance and usability. Other attributes that may be significant could be reusability(can it be reused in other applications) distributabilily(can it be distributed over a network uf processors), portabilily(can it operate on multiple platforms )and inter-operability(can it work with a wide range of cther software systems). Decompositions of the 4 key attributes e.g. dependability decomposes to security, afety, availability, etc are also possible answers 1. 4 A software process is what actually goes on when software is developed. A software process model is an abstraction and simplification of a process. Process models can be used to help understand real processes and to identify which aspects of these processes could be supported by case tools 6 Method support provided by Case tools Editors for specific graphical notations used Checking of the rules' and guidelines of the method Advice to tool users on what to do next Maintenance of a data dictionary -all names used in the system automatic generation of skeleton code from the system models Generation of reports on the design 1. 7 Problems and challenges for software engineering Developing systems for multicultural use Developing systems that can be adapted quickly to new business needs Designing systems for outsourced development Developing systems that are resistant to attack Developing systems that can be adapted and configured by end-users Finding ways of testing, validating and maintaining end-user developed systems There are obviously lots of other problems that could be mentioned here. 1.9 Advantages of certification Certification is a signal to employers of some minimum level of competence Certification improves the public image of the profession Certification generally means establishing and checking educational standards and is therefore a mechanism for ensuring course quality Certification implies responsibility in the event of disputes Certifying body is likely to be accepted at a national and international level as speaking for the profession Certification may increase the status of software engineers and attract particularly able people into the profession Disadvantages of certification NOT FOR PUBLIC DISTRIBUTION Certification tends to lead to protectionism where certified members tend not to protect others from criticism Certification does not guarantee competence merely that a minimum standard was reached at the time of certification Certification is expensive and will increase costs to individuals and organisations. Certification tends to stultify chanige. This is a parlicular problern inl anl area where lechnology developments are very rapid These are possible discussion points -any discussion on this will tend to be wide ranging and touch on other issues such as the nature of professionalism, etc NOT FOR PUBLIC DISTRIBUTION ◎ lan sommerville2006 5 Chapter 2 Computer-based system engineering Soiutions provided for Exercises 2.1, 2, 2, 2.3, 2.4, 2.6, 2. 7, and 2. 8 2.1 Othcr systems in the system's environment can have unanticipated effects bccause they have relationships with the system over and above whatever formal relationships(e.g data exchange)are defined in the system specification. For example, the system may share an electrical power supply and air conditioning unit, they may be located in the same room(so if there is a fire in one system then the other will be affected)etc. 2.2 This is an inherently wicked problem because of the uncertainties associated with the problem. It is impossible to anticipate exactly when and where a disaster will occur, the numbers of people involved, the effects on the environment, the technology available to the emergency services, el. Planning can only be in very general terms and detailed sofware specifications to cope with specific situations are almost impossible to write 2.3 When a car is decommissioned, not all of its parts are worn out. Software systems can be installed in the car to monitor the different parts and to compute the lifetime which they are likely to have left. When the car is to be decommissioned, the parts which can potentially be reused can then easily be discovered 2. 4 An overall architectural description should be produced to identify sub-systems making up the and the interfaces between sub-systems defined Ft system. Once these have been identified, they may be specified in parallel with other systems 2 The key features of the solution are: Database with different types of data Video control system Operator console system River data collection Weather system links Communication control system See Figure 2.1 2.7 Possible issues covered in the solution might be Museums are conservative places and some staff may resent the introduction of new technology E museum staff may be asked to deal with problems of the equipment not working and may not wish to appear unable to deal with this. Other areas of the museum may oppose the system because they see it as diverting resources from their work Different museums may have different preferred suppliers for the equipment so that all equipment used is not Identical thus causing support problems. The new displays take up a lot of space and this displaces other displays. The maintainers of these displays may oppose the introduction of the system Some museums may have no mechanism for providing technical support for the system NOT FOR PUBLIC DISTRIBUTION 6 Met office sensors cameras Weather info Oter services stem Comms collection controller Weather Contacts River dlata Video manager switcher Tide Resources Site data tables System Operator Ⅴideo database communiations phone, radio, etci displays monitors Figure 2.1 Block diagram of the flood control system 2.8 Legacy systems may be critical for the successful operation of a business for two basic reasons They may be an intrinsic part of one or more processes which are fundamental to the operation of a business. For example, a university has a student admissions process and systems which support this are critical. They must be maintained They may incorporate organisational and business knowledge which is simply not coded directly into the system with no paper record of these Without this system, the le been documented elsewhere. For example, exceptions on student admissions may simply ha organisation loses valuable knowledge NOT FOR PUBLIC DISTRIBUTION ◎ lan sommerville2006 Chapter 3 Critical systems Soiutions provided for Exercises 3.2, 3.5, 3.6,, 3.10 and 3. II. 3.2 Six reasons why dependability is important are a) Users may not use the system if they don 't trust it b System failure may lead to a loss of business c) An undependable system may lose or damage valuable data d An undependable system may damage its external environment d) The reputation of the company who produced the system may be damaged hence affecting stems The system may be in breach of laws on consumer protection and the fitness of goods for purpose 3.5 Internet server: Availability as failure of availability affects a large number of people reputation of the supplier and hence its current and future income. A computer-controlled scalpel: Safety as safety-related failures can cause harm to the patient A directional control system Reliability as mission failure could result from failure of the system to perform to specification An personal finance management syster: Securily because of polential losses to users 3.6 Possible domestic appliances that may include safety-critical software include Microwave oven Power tools such as a drill or electric saw Lawnmower tral heating fi ng unace Garbage disposal uni Food processor or blender 3.7 Ensuring system reliability does not necessarily lead to system safety as reliability is concerned with meeting the system specification(the system 'shall) whereas safety is concerned with excluding the possibility of dangerous behavior(the system'shall not). If the pecification does not explicitly exclude dangerous behavior then a system can be reliable but unsafe 3.8 Possible hazard is delivery of too much radiation to a patient. This can arise because of a system failure where a dose greater than the specified dose is delivered or an operator failure where the dose to be delivered is wrongly input. Possible software features to guard against system failure are the delivery of radiation in increments with a operator display showing the dose delivered and the requirement that the operator confirm the delivery of the next increment To reduce the probability of operator error, there could be a feature that requires confirmation of the dose to be delivered and that compares this to previous doses delivered to that patient. Alternatively, two different operators could be required to independently input the dose before the machine could operate 3.10 An attack is an exploitation of a system vulnerability. a threat is a circumstance that has the potential to cause loss or harm. An attack can lead to a threat if the exploitation of the vulnerability leads to a threat However some attacks can be successful but do not lead to threats as other system features protect the system NOT FOR PUBLIC DISTRIBUTION 3. 11 The ethics of delivery of a faulty system are complex, We know that this happens all the time, especially with software. Issues that might be discussed include the probability of the fault occurring and the consequences of the fault- if the fault has potentially serious consequences then the decision may be different than if it is a minor, easily recoverable fault. Other issues are the price charged for the system ( if its low, then what level of quality is it reasonable for the customer to expect). The recovcry mcchanisms built into the system and the compensation mechanisms that are in place if consequential damage occurs. Making the customer aware of the fault is the honest decision to make but may be unwise from a business perspective. Claims about the reliability of the software should not be made in such circumstances as the software provider does not know how the software will be used and so cannot estimate the probability of occurrence of the fault NOT FOR PUBLIC DISTRIBUTION ◎ lan sommerville2006 Chapter 4 Software processes Soiutions provided for Exercises 4.1, 4.3, 4.7, 4.9, 4.10 and 4.12 4.1 (a) Anti-lock braking system Safety-critical system so method based on formal transformations with proofs of cquivalence bctween cach stage b Virtual reality ystem System whose requirements cannot be predicted in advance so exploratory programming model is appropriate (c) University accounting system System whose requirements should be stable because of existing system therefore waterfall model is appropriate d) Interactive timetable System with a complex user interface but which must be stable and reliable. Should be based on throw-away prototyping to find requirements then either incremental development or waterfall model 3 The waterfall model is accommodated where there is a low specification risk and no need for prototyping etc. for risk resolution. The activities in the 2nd quadrant of the spiral model are kipped. The prototyping model is accommodated when the specification phase is limited and the prototyping(risk resolution) phase predominates. The activities in the 3rd quadrant of the spiral model are skipped or reduced in scope Solution to be added 4.7 Components of a design method are A defined set of system models Rules that apply to these models Guidelines for design good practice A model of the design Formats for reports on the design 4. 9 Systems must change because as they are installed in an environment the environment. adapts to them and this adaptation naturally generates new/different system requirements Furthermore, the system's environment is dynamic and constantly generates new requirements as a consequence of changes to the business, business goals and business policies. Unless the system is adapted to reflect these requirements, its facilities will become out-of-step with the facilities needed to support the business and, hence, it will become less useful 4.10 A classification scheme can be helpful for system procurement because it helps identify gaps in the CASE tool coverage in an organisation. Procurement may be aimed at filling these gaps. Alternatively, a classification scheme may be used to find tools which support a of activities-these may represent the most cost effective purchases if funds are limnic ange 12 There are obviously different views here and a lot depends on the development of Case lechnology in the future. A major difference betweell the introducTion ur CASE Lechnology and, for example, the introduction of CAD technology which made draftsmen redundant, is that the routine elements in the design and development of software are relatively minor parts of the whole development process. Therefore, savings are not that large. However, if Al technology develops so that truly intelligent tools can be developed than, obviously, this situation will change NOT FOR PUBLIC DISTRIBUTION

...展开详情
试读 75P 软件工程第8版课后题答案(英文
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    抢沙发
    一个资源只可评论一次,评论内容不能少于5个字
    关注 私信 TA的资源
    上传资源赚积分,得勋章
    最新推荐
    软件工程第8版课后题答案(英文 42积分/C币 立即下载
    1/75
    软件工程第8版课后题答案(英文第1页
    软件工程第8版课后题答案(英文第2页
    软件工程第8版课后题答案(英文第3页
    软件工程第8版课后题答案(英文第4页
    软件工程第8版课后题答案(英文第5页
    软件工程第8版课后题答案(英文第6页
    软件工程第8版课后题答案(英文第7页
    软件工程第8版课后题答案(英文第8页
    软件工程第8版课后题答案(英文第9页
    软件工程第8版课后题答案(英文第10页
    软件工程第8版课后题答案(英文第11页
    软件工程第8版课后题答案(英文第12页
    软件工程第8版课后题答案(英文第13页
    软件工程第8版课后题答案(英文第14页
    软件工程第8版课后题答案(英文第15页
    软件工程第8版课后题答案(英文第16页
    软件工程第8版课后题答案(英文第17页
    软件工程第8版课后题答案(英文第18页
    软件工程第8版课后题答案(英文第19页
    软件工程第8版课后题答案(英文第20页

    试读已结束,剩余55页未读...

    42积分/C币 立即下载 >