Normal view MARC view ISBD view

Software engineering / Ian Sommerville

Main Author Sommerville, Ian Country Reino Unido. Edition 8th ed Publication Harlow : Pearson Education, 2007 Description XXIII, 840 p. : il. ; 24 cm Series International computer science ISBN 978-0-321-31379-9 CDU 681.3.06
Tags from this library: No tags from this library for this title. Log in to add tags.
    average rating: 0.0 (0 votes)
Holdings
Item type Current location Call number Status Date due Barcode Item holds Course reserves
Monografia Biblioteca Geral da Universidade do Minho
BGUM 681.3.06 - S Available 388509

Mestrado Integrado em Engenharia Informática Laboratórios de Informática IV 2º semestre

Total holds: 0

Enhanced descriptions from Syndetics:

This book discusses a comprehensive spectrum of software engineering techniques and shows how they can be applied in practical software projects. This edition features updated chapters on critical systems, project management and software requirements.

Table of contents provided by Syndetics

  • Preface (p. v)
  • Part 1 Overview (p. 1)
  • Chapter 1 Introduction (p. 3)
  • 1.1 FAQs about software engineering (p. 5)
  • 1.2 Professional and ethical responsibility (p. 14)
  • Key Points (p. 17)
  • Further Reading (p. 18)
  • Exercises (p. 18)
  • Chapter 2 Socio-technical systems (p. 20)
  • 2.1 Emergent system properties (p. 23)
  • 2.2 Systems engineering (p. 25)
  • 2.3 Organisations, people and computer systems (p. 34)
  • 2.4 Legacy systems (p. 38)
  • Key Points (p. 40)
  • Further Reading (p. 41)
  • Exercises (p. 41)
  • Chapter 3 Critical systems (p. 43)
  • 3.1 A simple safety-critical system (p. 46)
  • 3.2 System dependability (p. 47)
  • 3.3 Availability and reliability (p. 51)
  • 3.4 Safety (p. 55)
  • 3.5 Security (p. 58)
  • Key Points (p. 60)
  • Further Reading (p. 61)
  • Exercises (p. 61)
  • Chapter 4 Software processes (p. 63)
  • 4.1 Software process models (p. 65)
  • 4.2 Process iteration (p. 71)
  • 4.3 Process activities (p. 74)
  • 4.4 The Rational Unified Process (p. 82)
  • 4.5 Computer-Aided Software Engineering (p. 85)
  • Key Points (p. 89)
  • Further Reading (p. 90)
  • Exercises (p. 91)
  • Chpater 5 Project management (p. 92)
  • 5.1 Management activities (p. 94)
  • 5.2 Project planning (p. 96)
  • 5.3 Project scheduling (p. 99)
  • 5.4 Risk management (p. 104)
  • Key Points (p. 111)
  • Further Reading (p. 112)
  • Exercises (p. 112)
  • Part 2 Requirements (p. 115)
  • Chapter 6 Software requirements (p. 117)
  • 6.1 Functional and non-functional requirements (p. 119)
  • 6.2 User requirements (p. 127)
  • 6.3 System requirements (p. 129)
  • 6.4 Interface specification (p. 135)
  • 6.5 The software requirements document (p. 136)
  • Key Points (p. 140)
  • Further Reading (p. 140)
  • Exercises (p. 141)
  • Chapter 7 Requirements engineering processes (p. 142)
  • 7.1 Feasibility studies (p. 144)
  • 7.2 Requirements elicitation and analysis (p. 146)
  • 7.3 Requirements validation (p. 158)
  • 7.4 Requirements management (p. 161)
  • Key Points (p. 166)
  • Further Reading (p. 167)
  • Exercises (p. 167)
  • Chapter 8 System models (p. 169)
  • 8.1 Context models (p. 171)
  • 8.2 Behavioural models (p. 173)
  • 8.3 Data models (p. 177)
  • 8.4 Object models (p. 181)
  • 8.5 Structured methods (p. 187)
  • Key Points (p. 190)
  • Further Reading (p. 191)
  • Exercises (p. 191)
  • Chapter 9 Critical systems specification (p. 193)
  • 9.1 Risk-driven specification (p. 195)
  • 9.2 Safety specification (p. 202)
  • 9.3 Security specification (p. 204)
  • 9.4 Software reliability specification (p. 207)
  • Key Points (p. 213)
  • Further Reading (p. 214)
  • Exercises (p. 214)
  • Chapter 10 Formal specification (p. 217)
  • 10.1 Formal specification in the software process (p. 219)
  • 10.2 Sub-system interface specification (p. 222)
  • 10.3 Behavioural specification (p. 229)
  • Key Points (p. 236)
  • Further Reading (p. 236)
  • Exercises (p. 237)
  • Part 3 Design (p. 239)
  • Chapter 11 Architectural design (p. 241)
  • 11.1 Architectural design decisions (p. 245)
  • 11.2 System organisation (p. 247)
  • 11.3 Modular decomposition styles (p. 252)
  • 11.4 Control styles (p. 256)
  • 11.5 Reference architectures (p. 260)
  • Key Points (p. 263)
  • Further Reading (p. 264)
  • Exercises (p. 264)
  • Chapter 12 Distributed systems architectures (p. 266)
  • 12.1 Multiprocessor architectures (p. 269)
  • 12.2 Client-server architectures (p. 270)
  • 12.3 Distributed object architectures (p. 275)
  • 12.4 Inter-organisational distributed computing (p. 282)
  • Key Points (p. 289)
  • Further Reading (p. 290)
  • Exercises (p. 290)
  • Chapter 13 Application architectures (p. 292)
  • 13.1 Data processing systems (p. 295)
  • 13.2 Transaction processing systems (p. 298)
  • 13.3 Event processing systems (p. 304)
  • 13.4 Language processing systems (p. 307)
  • Key Points (p. 310)
  • Further Reading (p. 310)
  • Exercises (p. 311)
  • Chapter 14 Object-oriented design (p. 313)
  • 14.1 Objects and object classes (p. 316)
  • 14.2 An object-oriented design process (p. 320)
  • 14.3 Design evolution (p. 335)
  • Key Points (p. 336)
  • Further Reading (p. 337)
  • Exercises (p. 337)
  • Chapter 15 Real-time software design (p. 339)
  • 15.1 System design (p. 342)
  • 15.2 Real-time operating systems (p. 346)
  • 15.3 Monitoring and control systems (p. 349)
  • 15.4 Data acquisition systems (p. 355)
  • Key Points (p. 357)
  • Further Reading (p. 359)
  • Exercises (p. 359)
  • Chapter 16 User interface design (p. 362)
  • 16.1 Design issues (p. 366)
  • 16.2 The UI design process (p. 376)
  • 16.3 User analysis (p. 378)
  • 16.4 User interface prototyping (p. 381)
  • 16.5 Interface evaluation (p. 383)
  • Key Points (p. 385)
  • Further Reading (p. 386)
  • Exercises (p. 386)
  • Part 4 Development (p. 389)
  • Chapter 17 Rapid software development (p. 391)
  • 17.1 Agile methods (p. 396)
  • 17.2 Extreme programming (p. 398)
  • 17.3 Rapid application development (p. 405)
  • 17.4 Software prototyping (p. 409)
  • Key Points (p. 412)
  • Further Reading (p. 413)
  • Exercises (p. 414)
  • Chapter 18 Software reuse (p. 415)
  • 18.1 The reuse landscape (p. 418)
  • 18.2 Design patterns (p. 421)
  • 18.3 Generator-based reuse (p. 423)
  • 18.4 Application frameworks (p. 426)
  • 18.5 Application system reuse (p. 428)
  • Key Points (p. 437)
  • Further Reading (p. 437)
  • Exercises (p. 438)
  • Chapter 19 Component-based software engineering (p. 439)
  • 19.1 Components and component models (p. 442)
  • 19.2 The CBSE process (p. 450)
  • 19.3 Component composition (p. 452)
  • Key Points (p. 460)
  • Further Reading (p. 460)
  • Exercises (p. 461)
  • Chapter 20 Critical systems development (p. 462)
  • 20.1 Dependable processes (p. 466)
  • 20.2 Dependable programming (p. 467)
  • 20.3 Fault tolerance (p. 475)
  • 20.4 Fault-tolerant architectures (p. 482)
  • Key Points (p. 486)
  • Further Reading (p. 486)
  • Exercises (p. 487)
  • Chapter 21 Software evolution (p. 488)
  • 21.1 Program evolution dynamics (p. 490)
  • 21.2 Software maintenance (p. 492)
  • 21.3 Evolution processes (p. 498)
  • 21.4 Legacy system evolution (p. 504)
  • Key Points (p. 509)
  • Further Reading (p. 510)
  • Exercises (p. 510)
  • Part 5 Verification and Validation (p. 513)
  • Chapter 22 Verification and validation (p. 515)
  • 22.1 Planning verification and validation (p. 519)
  • 22.2 Software inspections (p. 521)
  • 22.3 Automated static analysis (p. 527)
  • 22.4 Verification and formal methods (p. 530)
  • Key Points (p. 535)
  • Further Reading (p. 535)
  • Exercises (p. 536)
  • Chapter 23 Software testing (p. 537)
  • 23.1 System testing (p. 540)
  • 23.2 Component testing (p. 547)
  • 23.3 Test case design (p. 551)
  • 23.4 Test automation (p. 561)
  • Key Points (p. 563)
  • Further Reading (p. 564)
  • Exercises (p. 565)
  • Chapter 24 Critical systems validation (p. 566)
  • 24.1 Reliability validation (p. 568)
  • 24.2 Safety assurance (p. 574)
  • 24.3 Security assessment (p. 581)
  • 24.4 Safety and dependability cases (p. 583)
  • Key Points (p. 586)
  • Further Reading (p. 587)
  • Exercises (p. 587)
  • Part 6 Management (p. 589)
  • Chapter 25 Managing people (p. 591)
  • 25.1 Selecting staff (p. 593)
  • 25.2 Motivating people (p. 596)
  • 25.3 Managing groups (p. 599)
  • 25.4 The People Capability Maturity Model (p. 607)
  • Key Points (p. 610)
  • Further Reading (p. 610)
  • Exercises (p. 611)
  • Chapter 26 Software cost estimation (p. 612)
  • 26.1 Software productivity (p. 614)
  • 26.2 Estimation techniques (p. 620)
  • 26.3 Algorithmic cost modelling (p. 623)
  • 26.4 Project duration and staffing (p. 637)
  • Key Points (p. 638)
  • Further Reading (p. 639)
  • Exercises (p. 639)
  • Chapter 27 Quality management (p. 641)
  • 27.1 Process and product quality (p. 644)
  • 27.2 Quality assurance and standards (p. 645)
  • 27.3 Quality planning (p. 652)
  • 27.4 Quality control (p. 653)
  • 27.5 Software measurement and metrics (p. 655)
  • Key Points (p. 663)
  • Further Reading (p. 663)
  • Exercises (p. 664)
  • Chapter 28 Process improvement (p. 665)
  • 28.1 Process and product quality (p. 667)
  • 28.2 Process classification (p. 669)
  • 28.3 Process measurement (p. 672)
  • 28.4 Process analysis and modelling (p. 673)
  • 28.5 Process change (p. 678)
  • 28.6 The CMMI process improvement framework (p. 680)
  • Key Points (p. 687)
  • Further Reading (p. 687)
  • Exercises (p. 688)
  • Chapter 29 Configuration management (p. 689)
  • 29.1 Configuration management planning (p. 692)
  • 29.2 Change management (p. 695)
  • 29.3 Version and release management (p. 698)
  • 29.4 System building (p. 705)
  • 29.5 CASE tools for configuration management (p. 706)
  • Key Points (p. 711)
  • Further Reading (p. 711)
  • Exercises (p. 712)
  • Part 7 Emerging Technologies (p. 715)
  • Chapter 30 Security engineering (p. 717)
  • 30.1 Security concepts (p. 720)
  • 30.2 Security risk management (p. 722)
  • 30.3 Design for security (p. 727)
  • 30.4 System survivability (p. 737)
  • Key Points (p. 741)
  • Further Reading (p. 742)
  • Exercises (p. 742)
  • Chapter 31 Service-oriented software engineering (p. 743)
  • 31.1 Services as reusable components (p. 747)
  • 31.2 Service engineering (p. 751)
  • 31.3 Software development with services (p. 760)
  • Key Points (p. 768)
  • Further Reading (p. 768)
  • Exercises (p. 769)
  • Chapter 32 Aspect-oriented software development (p. 770)
  • 32.1 The separation of concerns (p. 772)
  • 32.2 Aspects, join points and pointcuts (p. 776)
  • 32.3 Software engineering with aspects (p. 780)
  • Key Points (p. 792)
  • Further Reading (p. 792)
  • Exercises (p. 793)
  • Glossary (p. 794)
  • References (p. 806)
  • Index (p. 824)

There are no comments for this item.

Log in to your account to post a comment.