MTU Cork Library Catalogue

Syndetics cover image
Image from Syndetics

Software engineering / Ian Sommerville.

By: Sommerville, Ian, 1951-.
Material type: materialTypeLabelBookSeries: International computer science series.Publisher: Harlow, England : Addison Wesley, 2001Edition: 6th ed.Description: xx, 693 p. : ill. ; 25 cm. + pbk.ISBN: 020139815X.Subject(s): Software engineeringDDC classification: 005.1
Contents:
Part 1: Overview -- Introduction -- Computer-based system engineering -- Software processes -- Project management -- Part 2: Requirements -- Software requirements -- Requirements engineering processes -- System models -- Software prototyping -- Formal specification -- Part 3: Design -- Architectural design -- Distributed systems architectures -- Object-oriented design -- Real-time software design -- Design with reuse -- User interface design -- Part 4: Critical systems -- Dependability -- Critical systems specification -- Critical systems development -- Part 5: Verification and validation -- Verfication and validation -- Software testing -- Critical systems validation -- Part 6: Management -- Managing people -- Software cost estimation -- Quality management -- Process improvement -- Part 7: Evolution -- Legacy systems -- Software change -- Software re-engineering -- Configuration management.
Holdings
Item type Current library Call number Copy number Status Date due Barcode Item holds
General Lending MTU Bishopstown Library Lending 005.1 (Browse shelf(Opens below)) 1 Available 00152015
General Lending MTU Bishopstown Library Lending 005.1 (Browse shelf(Opens below)) 1 Available 00086281
Total holds: 0

Enhanced descriptions from Syndetics:

Software Engineering presents a broad perspective on software systems engineering, concentrating on widely-used techniques for developing large-scale software systems. In seven parts, this best-selling book covers a wide spectrum of software processes from initial requirements elicitation through design and development to system evolution. It supports students taking undergraduate and graduate courses in software engineering and software engineers in industry who need to update their knowledge on new techniques such as requirements engineering, distributed systems architectures and system dependability.Extensive market research has ensured that this new edition is useful and relevant for both students and practising software engineers. The sixth edition has been restructured and updated, important new topics have been added and obsolete material has been cut. The end result is an even more focused book that is about 10% shorter than the previous edition.Changes from the fifth edition? There are new chapters covering software processes, distributed systems architectures, dependability and legacy systems.? Program examples are now in Java and graphical system models are described in

Previous ed.: 1995.

Includes bibliographical references (pages 663-677) and index.

Part 1: Overview -- Introduction -- Computer-based system engineering -- Software processes -- Project management -- Part 2: Requirements -- Software requirements -- Requirements engineering processes -- System models -- Software prototyping -- Formal specification -- Part 3: Design -- Architectural design -- Distributed systems architectures -- Object-oriented design -- Real-time software design -- Design with reuse -- User interface design -- Part 4: Critical systems -- Dependability -- Critical systems specification -- Critical systems development -- Part 5: Verification and validation -- Verfication and validation -- Software testing -- Critical systems validation -- Part 6: Management -- Managing people -- Software cost estimation -- Quality management -- Process improvement -- Part 7: Evolution -- Legacy systems -- Software change -- Software re-engineering -- Configuration management.

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 Computer-based system engineering (p. 20)
  • 2.1 Emergent system properties (p. 22)
  • 2.2 Systems and their environment (p. 24)
  • 2.3 System modelling (p. 26)
  • 2.4 The system engineering process (p. 29)
  • 2.5 System procurement (p. 37)
  • Key points (p. 39)
  • Further reading (p. 40)
  • Exercises (p. 40)
  • Chapter 3 Software processes (p. 42)
  • 3.1 Software process models (p. 44)
  • 3.2 Process iteration (p. 51)
  • 3.3 Software specification (p. 55)
  • 3.4 Software design and implementation (p. 56)
  • 3.5 Software validation (p. 60)
  • 3.6 Software evolution (p. 63)
  • 3.7 Automated process support (p. 63)
  • Key points (p. 68)
  • Further reading (p. 68)
  • Exercises (p. 69)
  • Chapter 4 Project management (p. 71)
  • 4.1 Management activities (p. 73)
  • 4.2 Project planning (p. 75)
  • 4.3 Project scheduling (p. 78)
  • 4.4 Risk management (p. 84)
  • Key points (p. 90)
  • Further reading (p. 91)
  • Exercises (p. 92)
  • Part 2 Requirements (p. 95)
  • Chapter 5 Software requirements (p. 97)
  • 5.1 Functional and non-functional requirements (p. 100)
  • 5.2 User requirements (p. 106)
  • 5.3 System requirements (p. 109)
  • 5.4 The software requirements document (p. 115)
  • Key points (p. 119)
  • Further reading (p. 119)
  • Exercises (p. 120)
  • Chapter 6 Requirements engineering processes (p. 121)
  • 6.1 Feasibility studies (p. 123)
  • 6.2 Requirements elicitation and analysis (p. 124)
  • 6.3 Requirements validation (p. 137)
  • 6.4 Requirements management (p. 139)
  • Key points (p. 145)
  • Further reading (p. 145)
  • Exercises (p. 146)
  • Chapter 7 System models (p. 148)
  • 7.1 Context models (p. 150)
  • 7.2 Behavioural models (p. 153)
  • 7.3 Data models (p. 158)
  • 7.4 Object models (p. 160)
  • 7.5 CASE workbenches (p. 166)
  • Key points (p. 168)
  • Further reading (p. 169)
  • Exercises (p. 169)
  • Chapter 8 Software prototyping (p. 171)
  • 8.1 Prototyping in the software process (p. 174)
  • 8.2 Rapid prototyping techniques (p. 180)
  • 8.3 User interface prototyping (p. 188)
  • Key points (p. 189)
  • Further reading (p. 190)
  • Exercises (p. 190)
  • Chapter 9 Formal specification (p. 192)
  • 9.1 Formal specification in the software process (p. 194)
  • 9.2 Interface specification (p. 197)
  • 9.3 Behavioural specification (p. 204)
  • Key points (p. 209)
  • Further reading (p. 210)
  • Exercises (p. 210)
  • Part 3 Design (p. 213)
  • Chapter 10 Architectural design (p. 215)
  • 10.1 System structuring (p. 219)
  • 10.2 Control models (p. 224)
  • 10.3 Modular decomposition (p. 229)
  • 10.4 Domain-specific architectures (p. 233)
  • Key points (p. 236)
  • Further reading (p. 237)
  • Exercises (p. 237)
  • Chapter 11 Distributed systems architectures (p. 239)
  • 11.1 Multiprocessor architectures (p. 243)
  • 11.2 Client-server architectures (p. 244)
  • 11.3 Distributed object architectures (p. 249)
  • 11.4 CORBA (p. 252)
  • Key points (p. 257)
  • Further reading (p. 258)
  • Exercises (p. 258)
  • Chapter 12 Object-oriented design (p. 260)
  • 12.1 Objects and object classes (p. 262)
  • 12.2 An object-oriented design process (p. 267)
  • 12.3 Design evolution (p. 280)
  • Key points (p. 282)
  • Further reading (p. 282)
  • Exercises (p. 283)
  • Chapter 13 Real-time software design (p. 285)
  • 13.1 System design (p. 287)
  • 13.2 Real-time executives (p. 291)
  • 13.3 Monitoring and control systems (p. 295)
  • 13.4 Data acquisition systems (p. 300)
  • Key points (p. 303)
  • Further reading (p. 303)
  • Exercises (p. 304)
  • Chapter 14 Design with reuse (p. 306)
  • 14.1 Component-based development (p. 310)
  • 14.2 Application families (p. 318)
  • 14.3 Design patterns (p. 322)
  • Key points (p. 325)
  • Further reading (p. 325)
  • Exercises (p. 326)
  • Chapter 15 User interface design (p. 327)
  • 15.1 User interface design principles (p. 330)
  • 15.2 User interaction (p. 332)
  • 15.3 Information presentation (p. 334)
  • 15.4 User support (p. 340)
  • 15.5 Interface evaluation (p. 345)
  • Key points (p. 347)
  • Further reading (p. 348)
  • Exercises (p. 348)
  • Part 4 Critical Systems (p. 351)
  • Chapter 16 Dependability (p. 353)
  • 16.1 Critical systems (p. 356)
  • 16.2 Availability and reliability (p. 359)
  • 16.3 Safety (p. 364)
  • 16.4 Security (p. 367)
  • Key points (p. 369)
  • Further reading (p. 369)
  • Exercises (p. 370)
  • Chapter 17 Critical systems specification (p. 371)
  • 17.1 Software reliability specification (p. 373)
  • 17.2 Safety specification (p. 379)
  • 17.3 Security specification (p. 387)
  • Key points (p. 389)
  • Further reading (p. 389)
  • Exercises (p. 390)
  • Chapter 18 Critical systems development (p. 392)
  • 18.1 Fault minimisation (p. 393)
  • 18.2 Fault tolerance (p. 400)
  • 18.3 Fault-tolerant architectures (p. 410)
  • 18.4 Safe system design (p. 413)
  • Key points (p. 414)
  • Further reading (p. 415)
  • Exercises (p. 415)
  • Part 5 Verification and Validation (p. 417)
  • Chapter 19 Verification and validation (p. 419)
  • 19.1 Verification and validation planning (p. 423)
  • 19.2 Software inspections (p. 425)
  • 19.3 Automated static analysis (p. 431)
  • 19.4 Cleanroom software development (p. 434)
  • Key points (p. 437)
  • Further reading (p. 438)
  • Exercises (p. 438)
  • Chapter 20 Software testing (p. 440)
  • 20.1 Defect testing (p. 442)
  • 20.2 Integration testing (p. 452)
  • 20.3 Object-oriented testing (p. 458)
  • 20.4 Testing workbenches (p. 462)
  • Key points (p. 464)
  • Further reading (p. 465)
  • Exercises (p. 466)
  • Chapter 21 Critical systems validation (p. 467)
  • 21.1 Formal methods and critical systems (p. 469)
  • 21.2 Reliability validation (p. 470)
  • 21.3 Safety assurance (p. 476)
  • 21.4 Security assessment (p. 483)
  • Key points (p. 484)
  • Further reading (p. 484)
  • Exercises (p. 485)
  • Part 6 Management (p. 487)
  • Chapter 22 Managing people (p. 489)
  • 22.1 Limits to thinking (p. 490)
  • 22.2 Group working (p. 497)
  • 22.3 Choosing and keeping people (p. 503)
  • 22.4 The People Capability Maturity Model (p. 506)
  • Key points (p. 508)
  • Further reading (p. 509)
  • Exercises (p. 509)
  • Chapter 23 Software cost estimation (p. 511)
  • 23.1 Productivity (p. 513)
  • 23.2 Estimation techniques (p. 518)
  • 23.3 Algorithmic cost modelling (p. 520)
  • 23.4 Project duration and staffing (p. 531)
  • Key points (p. 533)
  • Further reading (p. 533)
  • Exercises (p. 534)
  • Chapter 24 Quality management (p. 535)
  • 24.1 Quality assurance and standards (p. 539)
  • 24.2 Quality planning (p. 544)
  • 24.3 Quality control (p. 546)
  • 24.4 Software measurement and metrics (p. 547)
  • Key points (p. 555)
  • Further reading (p. 555)
  • Exercises (p. 556)
  • Chapter 25 Process improvement (p. 557)
  • 25.1 Process and product quality (p. 560)
  • 25.2 Process analysis and modelling (p. 562)
  • 25.3 Process measurement (p. 566)
  • 25.4 The SEI Process Capability Maturity Model (p. 568)
  • 25.5 Process classification (p. 573)
  • Key points (p. 576)
  • Further reading (p. 576)
  • Exercises (p. 577)
  • Part 7 Evolution (p. 579)
  • Chapter 26 Legacy systems (p. 581)
  • 26.1 Legacy system structures (p. 583)
  • 26.2 Legacy system design (p. 587)
  • 26.3 Legacy system assessment (p. 592)
  • Key points (p. 598)
  • Further reading (p. 599)
  • Exercises (p. 599)
  • Chapter 27 Software change (p. 601)
  • 27.1 Program evolution dynamics (p. 603)
  • 27.2 Software maintenance (p. 605)
  • 27.3 Architectural evolution (p. 614)
  • Key points (p. 620)
  • Further reading (p. 620)
  • Exercises (p. 621)
  • Chapter 28 Software re-engineering (p. 622)
  • 28.1 Source code translation (p. 626)
  • 28.2 Reverse engineering (p. 628)
  • 28.3 Program structure improvement (p. 629)
  • 28.4 Program modularisation (p. 632)
  • 28.5 Data re-engineering (p. 634)
  • Key points (p. 638)
  • Further reading (p. 639)
  • Exercises (p. 639)
  • Chapter 29 Configuration management (p. 641)
  • 29.1 Configuration management planning (p. 644)
  • 29.2 Change management (p. 647)
  • 29.3 Version and release management (p. 650)
  • 29.4 System building (p. 655)
  • 29.5 CASE tools for configuration management (p. 656)
  • Key points (p. 660)
  • Further reading (p. 661)
  • Exercises (p. 661)
  • References (p. 663)
  • Index (p. 679)

Author notes provided by Syndetics

Ian Sommerville is Professor of Software Engineering at Lancaster University, England.

Powered by Koha