Description
This book is the outcome of the experience gained by the authors in teaching software engineering over many years. The authors have explained the abstract concepts in software engineering by providing numerous examples throughout the book. Adequate number of diagrams and worked out examples have been given to improve the clarity of understanding of the different methodologies and techniques. The contents of the book have been organized into 12 chapters. Chapter 1 deals with the initial concepts and evolution of software engineering. Chapter 2 deals with the models used for Software Development Life Cycle. Chapters 3 to 6 have been devoted to provide detailed learning on Requirement Engineering, Conventional Function Oriented Design and the more recent Object Oriented Design with Unified Modeling Language (UML) notations and diagrams. Chapter 7 emphasises on software product being developed for the Web Engineering. Chapter 8 covers Testing which is an important quality activity in software engineering. Chapter 9 has been devoted to software project management and special emphasis has been given to software project estimation methods in Chapter 10. Further quality systems and procedures to establish development of high quality, reliable software across an enterprise have been covered in Chapter 11. Chapter 12 deals with the current developments in this field
Table of Content
Chapter 1 Introduction
1.1 Characteristics of Software
1.2 Types of Software Products
1.3 Software Engineering and its Evolution
1.4 Computer System Engineering
1.5 Conclusion
Chapter 2 Software Development Life Cycle and Process Models
2.1 Software Development Life Cycle
2.1.1 System Analyst – Role and Responsibility
2.1.2 System Users
2.2 System Development Strategies
2.2.1 Classical Waterfall Model
2.2.2 Iterative Waterfall Model
2.2.3 The V-model
2.2.4 Prototyping Model for System Development
2.2.5 Incremental or Evolutionary Model
2.2.6 Spiral Model
2.2.7 Comparison of Different SDLC Models
2.3 Conclusion
Chapter 3 Requirements Engineering
3.1 Requirements Engineering Process
3.1.1 Requirements Inception
3.1.2 Requirements Elicitation
3.1.3 Requirements Elaboration
3.1.4 Negotiation
3.1.5 Specification
3.1.6 Validation and Management
3.2 Types of Requirements
3.2.1 User Requirements
3.2.2 Technical Requirements
3.3 Requirements Management Process
3.3.1 Traceability in Requirements Management
3.3.2 Requirements Activities and Issues Involved in Life Cycle Phases
3.4 Conclusion
Chapter 4 Structured Analysis and Design
4.1 Components of Structured Analysis
4.2 Data Flow Analysis
4.3 Tools for Data Flow Strategy
4.4 Data Flow Diagram
4.4.1 Developing DFD
4.4.2 Characteristics of a Good DFD
4.4.3 Evaluation of the DFD
4.4.4 Limitations of DFD
4.5 Data Dictionary
4.5.1 Why Data Dictionary is Important
4.5.2 Contents of Data Dictionary
4.6 Tools for Process Specification
4.6.1 Decision Tree
4.6.2 Decision Table
4.6.3 Structured English
4.7 Entity-Relationship Diagram
4.7.1 E-R Design Decisions
4.7.2 Entity Set
4.7.3 Participation of an Entity Set in a Relationship Set
4.7.4 Weak Entity Sets
4.7.5 Extended E-R Features
4.8 Data Structure Diagram
4.9 Structured Design and Structure Charts
4.10 Structured Design Principles
4.10.1 Partitioning and Modularity – A Top-down Approach
4.10.2 Coupling
4.10.3 Cohesion
4.10.4 Span of Control
4.10.5 Size
4.10.6 Shared Modules
4.11 Conclusion
Chapter 5 Object-Oriented Concepts and Methods
5.1 Basic Mechanisms
5.1.1 Objects
5.1.2 Class
5.1.3 Class Relationships
5.2 Basic Principles of Object-Orientation
5.2.1 Abstraction
5.2.2 Encapsulation
5.2.3 Polymorphism
5.2.4 Genericity
5.3 Conclusion
Chapter 6 Object-Oriented Modeling and UML
6.1 Modeling Techniques
6.2 The UML
6.2.1 Class Diagram
6.2.2 Object Diagram
6.2.3 Package Diagram
6.2.4 Composite Structure Diagram
6.2.5 Component Diagram
6.2.6 Deployment Diagram
6.2.7 Use Case Diagram
6.2.8 Activity Diagrams
6.2.9 State Chart Diagram
6.2.10 Sequence Diagram
6.2.11 Communication Diagrams
6.2.12 Timing Diagrams
6.2.13 Interaction Overview Diagrams
Chapter 7 Web Engineering
7.1 The Web Engineering Process
7.2 Web Applications
7.3 Characteristics of Web Apps
7.4 Principles of Web Page Design
7.5 Web Quality Metrics
7.6 Performance Based Web Metrics
7.7 Web Testing and Evaluation
7.8 Security of Web Apps
7.8.1 Types of Threat
7.8.2 Threat Modeling
7.9 Conclusion
Chapter 8 Software Coding and Testing
8.1 Software Coding
8.1.1 Coding Standards and Guidelines
8.2 Software Testing Terminologies
8.3 Software Verification
8.3.1 Walk-through
8.3.2 Inspection
8.4 Process of Software Validation or Testing
8.4.1 Unit Testing
8.4.2 Designing Test Cases
8.4.3 Black Box Test Case Design Strategy
8.4.4 White Box Test Case Design Strategy
8.4.5 Integration Testing
8.4.6 System Testing
8.4.7 Performance Testing
8.4.8 Regression Testing
8.4.9 Test Documentation
8.5 Error Seeding
8.6 Object-Oriented Test Case Design and Grey Box Testing
8.7 Integration Testing of Object-Oriented Programs
8.8 Test Management
8.8.1 Test Management Challenges
8.9 Conclusion
Chapter 9 Software Project Management
9.1 Responsibility of a Project Manager
9.2 Project Planning
9.3 Project Scheduling
9.4 Project Monitoring and Review
9.5 Change Management
9.6 Configuration Management
9.7 Risk Management
9.8 Organization and Organization Structure
9.9 Contract Management
9.10 Managing Software Maintenance
9.11 Conclusion
Chapter 10 Project Estimation and Staffing
10.1 Basis of Estimate
10.2 Estimation Techniques
10.2.1 Analogous Method
10.2.2 Expert Judgment Method
10.2.3 Procedural Code Oriented Method
10.2.4 Parametric (or Algorithmic) Estimation Models
10.2.5 Halstead’s Analytical Method
10.2.6 Other Estimation Methods
10.3 Project Staffing
10.4 Caper Jones Rule of Thumb for Estimation
10.5 Conclusion
Chapter 11 Software Quality, Reliability and Metrics
11.1 Quality Management System
11.1.1 ISO/9126 Product Quality Standards
11.1.2 ISO 9000 Quality Standard
11.1.3 Capability Maturity Model for Quality Management
11.2 The Six Sigma Quality Standard
11.3 Personal Software Process (PSP) & Team Software Process (TSP)
11.4 Software Metrics and Measurements
11.4.1 Process Domain Metrics and Process Improvement
11.4.2 Project Domain Metrics
11.5 Software Project Measurements
11.5.1 Size-oriented Metrics
11.5.2 Object-Oriented Metrics
11.5.3 Use case Oriented Metrics
11.5.4 Design Metrics
11.5.5 Software Product Quality Metrics
11.5.6 Commonly used Process Quality Metrics
11.6 Integrating Metrics Within Software Process
11.7 Conclusion
Chapter 12 Advanced Topics in Software Engineering
12.1 Agile Process Model
12.1.1 The Agile Manifesto
12.2 The Agile Methods
12.2.1 Dynamic System Development Method (DSDM):
12.2.2 Extreme Programming (XP)
12.2.3 Scrum Model
12.2.4 Rapid Application Development (RAD)
12.3 The Agile Practices
12.4 Suitability of Using Agile Method
12.4.1 Adaptive Versus Predictive Software Development
12.4.2 Formal methods
12.5 Computer Aided Software Engineering (CASE)
12.6 Emerging Trends in Software Architecture
12.6.1 Client-server Software Architecture
12.6.2 Two-tier Client-server Architecture
12.6.3 Three-tier Client-server Architecture
12.6.4 Service Oriented Architecture (SOA)
12.6.5 Software-as-a-Service (SaaS)
12.7 Conclusion
• Index
About The Authors
Rachita Misra, PhD (IIT Kharagpur), is Professor in the Department of Information Technology, C. V. Raman College of Engineering, Bhubaneswar. She has more than 30 years of experience in industry and academia. She is the author of several scholarly research papers, and book chapters.
Chhabi Rani Panigrahi, PhD (IIT Kharagpur), is Assistant Professor, Department of Computer Science, Rama Devi Women’s University, Bhubaneswar. Her research interests include Software Engineering and Mobile Cloud Computing. She holds 17 years of teaching and research experience. She has published papers in several international journals and conferences.
Bijayalaxmi Panda is currently pursuing PhD program at the Biju Patnaik University of Technology, Odisha and is also an Adjunct Faculty member in B.J.B Autonomous College, Bhubaneshwar. She has more than 10 years of teaching experience.
New Product Tab
Here's your new product tab.
Reviews
There are no reviews yet.