ebook img

Fundamentals of Software Engineering, Fourth Edition, Rajib Mall PDF

712 Pages·2015·9.07 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Fundamentals of Software Engineering, Fourth Edition, Rajib Mall

******Created by ebook converter - www.ebook-converter.com****** RAJIB MALL Professor Department of Computer Science and Engineering Indian Institute of Technology Kharagpur Delhi-110 092 2014 ******ebook converter DEMO - www.ebook-converter.com******* ******Created by ebook converter - www.ebook-converter.com****** FUNDAMENTALS OF SOFTWARE ENGINEERING, Fourth Edition Rajib Mall © 2014 by PHI Learning Private Limited, Delhi. All rights reserved. No part of this book may be reproduced in any form, by mimeograph or any other means, without permission in writing from the publisher. ISBN-978-81-203-4898-1 The export rights of this book are vested solely with the publisher. Thirty-first Printing (Fourth Edition)........................ . ......................... . ........................April, 2014 Published by Asoke K. Ghosh, PHI Learning Private Limited, Rimjhim House, 111, Patparganj Industrial Estate, Delhi-110092 and Printed by Rajkamal Electric Press, Plot No. 2, Phase IV, HSIDC, Kundli-131028, Sonepat, Haryana. ******ebook converter DEMO - www.ebook-converter.com******* ******Created by ebook converter - www.ebook-converter.com****** To Bapa, Maa, and my beloved wife Prabina ******ebook converter DEMO - www.ebook-converter.com******* ******Created by ebook converter - www.ebook-converter.com****** CONTENTS List of Figures....xv Preface....xix Preface to the First Edition....xxi 1.....INTRODUCTION ....1–32 1.1....Evolution—From an Art Form to an Engineering Discipline....3 1.1.1....Evolution of an Art into an Engineering Discipline....3 1.1.2....Evolution Pattern for Engineering Disciplines....4 1.1.3....A Solution to the Software Crisis....5 1.2....Software Development Projects....6 1.2.1....Types of Software Development Projects....7 1.2.2....Software Projects Being Undertaken by Indian Companies....8 1.3....Exploratory Style of Software Development....9 1.3.1....Perceived Problem Complexity: An Interpretation Based on Human Cognition Mechanism....11 1.3.2....Principles Deployed by Software Engineering to Overcome Human Cognitive Limitations....14 1.4....Emergence of Software Engineering....17 1.4.1....Early Computer Programming....17 1.4.2....High-level Language Programming....18 1.4.3....Control Flow-based Design....18 1.4.4....Data Structure-oriented Design....22 1.4.5....Data Flow-oriented Design....22 1.4.6....Object-oriented Design....23 1.4.7....What Next?....24 1.4.8....Other Developments....25 1.5....Notable Changes in Software Development Practices....25 1.6....Computer Systems Engineering....27 Summary....28 Exercises....29 2.....Software Life Cycle Models....33–84 2.1....A Few Basic Concepts....34 ******ebook converter DEMO - www.ebook-converter.com******* ******Created by ebook converter - www.ebook-converter.com****** 2.2....Waterfall Model and its Extensions....38 2.2.1....Classical Waterfall Model....38 2.2.2....Iterative Waterfall Model....46 2.2.3....V-Model....50 2.2.4....Prototyping Model....52 2.2.5....Incremental Development Model....55 2.2.6....Evolutionary Model....57 2.3....Rapid Application Development (RAD)....59 2.3.1....Working of RAD....60 2.3.2....Applicability of RAD Model....60 2.3.3....Comparison of RAD with Other Models....62 2.4....Agile Development Models....62 2.4.1....Essential Idea behind Agile Models....64 2.4.2....Agile versus Other Models....65 2.4.3....Extreme Programming Model....66 2.4.4....Scrum Model....69 2.5....Spiral Model....69 2.5.1....Phases of the Spiral Model....71 2.6....A Comparison of Different Life Cycle Models....72 2.6.1....Selecting an Appropriate Life cycle Model for a Project....73 Summary....74 Exercises....75 3.....SOFTWARE PROJECT MANAGEMENT....85–153 3.1....Software Project Management Complexities....86 3.2....Responsibilities of a Software Project Manager....87 3.2.1....Job Responsibilities for Managing Software Projects....87 3.2.2....Skills Necessary for Managing Software Projects....88 3.3....Project Planning....89 3.3.1....Sliding Window Planning....90 3.3.2....The SPMP Document of Project Planning....90 3.4....Metrics for Project Size Estimation....92 3.4.1....Lines of Code (LOC)....92 3.4.2....Function Point (FP) Metric....94 3.5....Project Estimation Techniques....99 3.5.1.... Empirical Estimation Techniques....99 3.5.2.... Heuristic Techniques....99 3.5.3.... Analytical Estimation Techniques....100 ******ebook converter DEMO - www.ebook-converter.com******* ******Created by ebook converter - www.ebook-converter.com****** 3.6....Empirical Estimation Techniques....100 3.6.1....Expert Judgement....100 3.6.2....Delphi Cost Estimation....101 3.7....COCOMO—A Heuristic Estimation Technique....101 3.7.1....Basic COCOMO Model....102 3.7.2....Intermediate COCOMO....107 3.7.3....Complete COCOMO....108 3.7.4....COCOMO 2....109 3.8....Halstead’s Software Science—An Analytical Technique....112 3.8.1....Length and Vocabulary....113 3.8.2....Program Volume....113 3.8.3....Potential Minimum Volume....113 3.8.4....Effort and Time....114 3.8.5....Length Estimation....114 3.9....Staffing Level Estimation....116 3.9.1....Norden’s Work....116 3.9.2....Putnam’s Work....117 3.9.3....Jensen’s Model....119 3.10....Scheduling....119 3.10.1....Work Breakdown Structure....121 3.10.2....Activity Networks....122 3.10.3....Critical Path Method (CPM)....124 3.10.4....PERT Charts....126 3.10.5....Gantt Charts....128 3.11....Organisation and Team Structures....129 3.11.1....Organisation Structure....129 3.11.2....Team Structure....132 3.12....Staffing....135 3.13....Risk Management....136 3.13.1....Risk Identification....137 3.13.2....Risk Assessment....138 3.13.3....Risk Mitigation....138 3.14....Software Configuration Management....140 3.14.1....Necessity of Software Configuration Management....140 3.14.2....Configuration Management Activities....142 3.15....Miscellaneous Plans....144 Summary ....144 ******ebook converter DEMO - www.ebook-converter.com******* ******Created by ebook converter - www.ebook-converter.com****** Exercises....145 4.....REQUIREMENTS ANALYSIS AND SPECIFICATION....154–200 4.1....Requirements Gathering and Analysis....155 4.1.1....Requirements Gathering....156 4.1.2....Requirements Analysis ....159 4.2....Software Requirements Specification (SRS)....161 4.2.1....Users of SRS Document....161 4.2.2....Why Spend Time and Resource to Develop an SRS Document?....162 4.2.3....Characteristics of a Good SRS Document....163 4.2.4....Attributes of Bad SRS Documents....164 4.2.5....Important Categories of Customer Requirements....165 4.2.6....Functional Requirements....167 4.2.7....How to Identify the Functional Requirements?....170 4.2.8....How to Document the Functional Requirements?....170 4.2.9....Traceability....173 4.2.10....Organisation of the SRS Document....173 4.2.11....Techniques for Representing Complex Logic....180 4.3....Formal System Specification....182 4.3.1....What is a Formal Technique?....183 4.3.2....Operational Semantics....184 4.4....Axiomatic Specification....186 4.5....Algebraic Specification....188 4.5.1....Auxiliary Functions....191 4.5.2....Structured Specification....192 4.6....Executable Specification and 4GL....193 Summary....193 Exercises....193 5.....SOFTWARE DESIGN....201–222 5.1....Overview of the Design Process....201 5.1.1....Outcome of the Design Process....201 5.1.2....Classification of Design Activities....202 5.1.3....Classification of Design Methodologies....203 5.2....How to Characterise a Good Software Design?....204 5.2.1....Understandability of a Design: A Major Concern....205 5.3....Cohesion and Coupling....208 ******ebook converter DEMO - www.ebook-converter.com******* ******Created by ebook converter - www.ebook-converter.com****** 5.3.1....Classification of Cohesiveness....209 5.3.2....Classification of Coupling....211 5.4....Layered Arrangement of Modules....212 5.5....Approaches to Software Design....214 5.5.1....Function-oriented Design....214 5.5.2....Object-oriented Design....215 Summary....219 Exercises....219 6.....FUNCTION-ORIENTED SOFTWARE DESIGN....223–275 6.1....Overview of SA/SD Methodology....224 6.2....Structured Analysis....225 6.2.1....Data Flow Diagrams (DFDs)....225 6.3....Developing the DFD Model of a System....229 6.3.1....Context Diagram....229 6.3.2....Level 1 DFD....231 6.3.3....Extending DFD Technique to Make it Applicable to Real-Time ....Systems....246 6.4....Structured Design....247 6.4.1....Transformation of a DFD Model into Structure Chart....248 6.5....Detailed Design....253 6.6....Design Review....253 Summary....254 Exercises....254 7.....Object Modelling Using UML....276–334 7.1....Basic Object-Orientation Concepts....277 7.1.1....Basic Concepts....277 7.1.2....Class Relationships....281 7.1.3....How to Identify Class Relationships?....288 7.1.4....Other Key Concepts....289 7.1.5....Related Technical Terms....294 7.1.6....Advantages and Disadvantages of OOD....295 7.2....Unified Modelling Language (UML)....296 7.2.1....Origin of UML....296 7.2.2....Evolution of UML....298 7.3....UML Diagrams....300 ******ebook converter DEMO - www.ebook-converter.com******* ******Created by ebook converter - www.ebook-converter.com****** 7.4....Use Case Model....302 7.4.1....Representation of Use Cases....303 7.4.2....Why Develop the Use Case Diagram?....307 7.4.3....How to Identify the Use Cases of a System?....307 7.4.4....Essential Use Case versus Real Use Case....307 7.4.5....Factoring of Commonality among Use Cases....308 7.4.6....Use Case Packaging....310 7.5....Class Diagrams....311 7.6....Interaction Diagrams....318 7.7....Activity Diagram....320 7.8....State Chart Diagram....322 7.9....Postscript....323 7.9.1....Package, Component, and Deployment Diagrams....323 7.9.2....UML 2.0....325 Summary....327 Exercises....328 8.....Object-Oriented Software Development....335–372 8.1....Patterns....337 8.1.1....Basic Pattern Concepts....337 8.1.2....Types of Patterns....338 8.1.3....More Pattern Concepts....340 8.2....Some Common Design Patterns....341 8.3....An Object-Oriented Analysis and Design (OOAD) Methodology....349 8.3.1....Unified Process....349 8.3.2....Overview of The OOAD Methodology....350 8.3.3....Use Case Model Development....351 8.3.4....Domain Modelling....353 8.3.5....Identification of Entity Objects....357 8.3.6....Booch’s Object Identification Method....357 8.3.7....Interaction Modelling....360 8.3.8....Class-Responsibility-Collaborator (CRC) Cards....360 8.4....Applications of the Analysis and Design Process....361 8.5....OOD Goodness Criteria....364 Summary....369 Exercises....369 ******ebook converter DEMO - www.ebook-converter.com******* ******Created by ebook converter - www.ebook-converter.com****** 9.....USER INTERFACE DESIGN....373–396 9.1....Characteristics of a Good User Interface....374 9.2....Basic Concepts....376 9.2.1....User Guidance and On-line Help....376 9.2.2....Mode-based versus Modeless Interface....377 9.2.3....Graphical User Interface (GUI) versus Text-based User Interface....377 9.3....Types of User Interfaces....378 9.3.1....Command Language-based Interface....378 9.3.2....Menu-based Interface....379 9.3.3....Direct Manipulation Interfaces....381 9.4....Fundamentals of Component-based GUI Development....381 9.4.1....Window System....382 9.4.2....Types of Widgets....385 9.4.3....An Overview of X-Window/MOTIF....386 9.4.4....X Architecture....387 9.4.5....Size Measurement of a Component-based GUI....388 9.5....A User Interface Design Methodology....388 9.5.1....Implications of Human Cognition Capabilities on User Interface Design....389 9.5.2....A GUI Design Methodology....389 Summary....393 Exercises....394 10.....Coding and Testing....397–456 10.1....Coding....398 10.1.1....Coding Standards and Guidelines....399 10.2....Code Review....400 10.2.1....Code Walkthrough....401 10.2.2....Code Inspection....402 10.2.3....Clean Room Testing....403 10.3....Software Documentation....403 10.3.1....Internal Documentation....404 10.3.2....External Documentation....404 10.4....Testing....405 10.4.1....Basic Concepts and Terminologies....406 10.4.2....Testing Activities....410 ******ebook converter DEMO - www.ebook-converter.com*******

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.