Cover image for Software Engineering.
Software Engineering.
Title:
Software Engineering.
Author:
Mohapatra, P.K.J.
ISBN:
9788122428469
Personal Author:
Physical Description:
1 online resource (493 pages)
Contents:
Cover -- Preface -- Acknowledgement -- Contents -- The Basics -- Chapter 1 Introduction -- 1.1 History of Software Engineering -- 1.2 Software Crisis -- 1.3 Evolution of a Programming System Product -- 1.4 Characteristics of Software -- 1.5 Definitions -- 1.6 No Silver Bullets -- 1.7 Software Myths -- Chapter 2 Software Development Life Cycles -- 2.1 Software Development Process -- 2.2 The Code-And-Fix Model -- 2.3 The Waterfall Model -- 2.4 The Evolutionary Model -- 2.5 The Incremental Implementation (Boehm 1981, Gilb 1988) -- 2.6 Prototyping -- 2.7 The Spiral Model -- 2.8 Software Reuse -- 2.9 Automatic Software Synthesis -- 2.10 Comparing Alternative Software Development Life Cycle Models -- 2.11 Phasewise Distribution of Efforts -- 2.12 Life Cycle Interrelationships -- 2.13 Choosing an Application Development Strategy -- 2.14 Non-Traditional Software Development Processes -- 2.15 Differing Concepts of 'Life Cycle' -- Requirements -- Chapter 3 Requirements Analysis -- 3.1 Importance of Requirements Analysis -- 3.2 User Needs, Software Features, And Software Requirements -- 3.3 Classes of User Requirements -- 3.4 Sub-Phases of Requirements Phase -- 3.5 Barriers to Eliciting User Requirements -- 3.6 Strategies For Determining Information Requirements -- 3.7 The Requirements Gathering Sub-Phase -- 3.8 Requirements Engineering -- Chapter 4 Traditional Tools for Requirements Gathering -- 4.1 Document Flow Chart -- 4.2 Decision Tables -- 4.3 Decision Trees -- Chapter 5 Structured Analysis -- 5.1 Data Flow Diagrams (DFD) -- 5.2 Data Dictionary -- 5.3 Structured English -- 5.4 Data Flow Diagrams for Real-Systems -- 5.5 Other Structured Analysis Approaches -- Chapter 6 Other Requirements Analysis Tools -- 6.1 Finite State Machines -- 6.2 Statecharts -- 6.3 Petri Nets -- Chapter 7 Formal Specifications -- 7.1 Notations Used in Formal Methods.

7.2 The Z-Specification Language -- 7.3 Z Language Specification For Library Requirements-An Illustration -- Chapter 8 Object-Oriented Concepts -- 8.1 Popularity of Object-Oriented Technology -- 8.2 Emergence of Object-Oriented Concepts -- 8.3 Introduction To 'Object' -- 8.4 Central Concepts Underlying Object Orientation -- 8.5 Unified Modeling Language (UML) -- Chapter 9 Object-Oriented Analysis -- 9.1 Steps in Object-Oriented Analysis -- 9.2 Use Case - The Tool to Get User Requirements -- 9.3 Identify Objects -- 9.4 Identify Relationships Between Objects -- 9.5 Identify Attributes -- 9.6 Identify System Events and System Operations -- 9.7 Write Contracts for Each Operation -- 9.8 An Example of Issue of Library Books -- 9.9 Relating Multiple Use Cases -- 9.10 Find Generalized Class Relationships -- 9.11 Organize the Object Model Into Packages -- 9.12 Modelling System Behaviour -- 9.13 Workflows and Activity Diagrams -- Chapter 10 Software Requirements Specification -- 10.1 Properties of an SRS -- 10.2 Contents of an SRS -- 10.3 What an SRS Should not Include -- 10.4 Structure of an SRS -- 10.5 Validation of Requirements Document -- 10.6 Identifying and Measuring Quality in SRS -- Design -- Chapter 11 Introduction to Software Design -- 11.1 Goals of Good Software Design -- 11.2 Conceptual Design and Technical Design -- 11.3 Fundamental Principles of Design -- 11.4 Design Guidelines -- 11.5 Design Strategies and Methodologies -- 11.6 Top-Down Design -- Cahpter 12 Data-Oriented Software Design -- 12.1 Jackson Design Methodology -- 12.2 Warnier-Orr Design Methodology -- 12.3 Database-Oriented Design Methodology -- 12.4 Final Remarks on Data-Oriented Software Design -- Chapter 13 Structured Design -- 13.1 Structure Chart -- 13.2 Coupling -- 13.3 Cohesion -- 13.4 The Modular Structure -- 13.5 Concepts Understanding the Control Hierarchy.

13.6 Design Heuristics -- 13.7 Strategies of Structured Design -- 13.8 Packaging -- Chapter 14 Object-Oriented Design -- 14.1 Introduction -- 14.2 High-Level Implementation Plan for Inputs and Outputs -- 14.3 Object Interactions -- 14.4 Object Visibility -- 14.5 Class Diagrams -- 14.6 Principles of Object-Oriented Design -- 14.7 Assignment of Responsibilities of Objects -- Chapter 15 Design Patterns -- 15.1 Traditional Approaches to Reusability -- 15.2 Principles of Design Patterns -- 15.3 Categories and Basic Principles of Design Patterns -- 15.4 Creational Design Patterns -- 15.5 Structural Design Patterns -- 15.6 Behavioural Design Patterns -- Chapter 16 Software Architecture -- 16.1 Concepts Underlying Software Architecture -- 16.2 Architectural Styles -- 16.3 Data-Flow Architecture -- 16.4 Call-And -Return Architectures -- 16.5 Independent-Process Architecture -- 16.6 Virtual-Machine Architecture -- 16.7 Repository Architecture -- 16.8 Domain-Specific Architecture -- 16.9 Choice of an Architectural Style -- 16.10 Evaluation of Software Architectural Styles -- 16.11 Final Remarks -- Detailed Design and Coding -- Chapter 17 Detailed Design -- 17.1 Naming Design Components and Specifying the Interfaces -- 17.2 Detailed Design Documentation Tools -- 17.3 Design Review -- Chapter 18 Coding -- 18.1 Selecting a Language -- 18.2 Guidelines for Coding -- 18.3 Code Writing -- 18.4 Program Documentation -- Testing -- Chapter 19 Overview of Software Testing -- 19.1 Introduction to Testing -- 19.2 Developing Test Strategies and Tactics -- 19.3 The Test Plan -- 19.4 The Process of Lifecycle Testing -- 19.5 Software Testing Techniques -- 19.6 Unit Testing -- 19.7 Unit Testing in Object-Oriented Systems -- 19.8 Levels of Testing -- 19.9 Miscellaneous Tests -- Chapter 20 Static Testing -- 20.1 Fundamental Problems of Decidability.

20.2 Conventional Static Testing for Computer Programs -- 20.3 Data Flow Analysis -- 20.4 Slice-Based Analysis -- 20.5 Symbolic Evaluation Methods -- Chapter 21 Black-Box Testing -- 21.1 The Domain Testing Strategy -- 21.2 Boundary-Value Testing -- 21.3 Equivalence Class Testing -- 21.4 Decision Table-Based Testing -- 21.5 Black-Box Testing in Object-Oriented Testing -- 21.6 Final Comments on Black-Box Testing -- Chapter 22 White-Box Testing -- 22.1 Basics of Graph Theory -- 22.2 Metric-Based Testing -- 22.3 Basis Path Testing -- 22.4 Data Flow Testing -- 22.5 White-Box Object-Oriented Testing -- Chapter 23 Integration and Higher-Level Testing -- 23.1 Integration Testing -- 23.2 Application System Testing -- 23.3 System Testing -- Beyond Development -- Chapter 24 Beyond Development -- 24.1 Software Delivery and Installation -- 24.2 Software Maintenance -- 24.3 Software Evolution.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: