Fundamentals of Software Engineering / (Record no. 2002)

MARC details
000 -LEADER
fixed length control field 12787cam a22001935i 4500
020 ## - INTERNATIONAL STANDARD BOOK NUMBER
International Standard Book Number 9788120338197 (pb)
040 ## - CATALOGING SOURCE
Transcribing agency CUS
082 04 - DEWEY DECIMAL CLASSIFICATION NUMBER
Classification number 005.1
Item number MAL/F
100 1# - MAIN ENTRY--PERSONAL NAME
Personal name Mall, Rajib.
245 10 - TITLE STATEMENT
Title Fundamentals of Software Engineering /
Statement of responsibility, etc. Rajib Mall
250 ## - EDITION STATEMENT
Edition statement 3rd ed.
260 ## - PUBLICATION, DISTRIBUTION, ETC. (IMPRINT)
Place of publication, distribution, etc. New Delhi :
Name of publisher, distributor, etc. PHI Learnings ,
Date of publication, distribution, etc. 2010.
300 ## - PHYSICAL DESCRIPTION
Extent xxii, 441 p.
505 ## - FORMATTED CONTENTS NOTE
Formatted contents note 1. INTRODUCTION<br/>1.1 The Software Engineering Discipline—^Its Evolution and Impact<br/>1.1.1 Evolution of an Art into an Engineering Discipline<br/>1.1.2 A Solution to the Software Crisis<br/>1.2 Software Development Projects<br/>1.2.1 Programs versus Products<br/>1.2.2 Types of Soft%vare Development Projects<br/>1.2.3 Software Projects being Undertaken by Indian Companies<br/>1.3 What is Wrong with the Exploratory Style of Software Development?<br/>1.3.1 Perceived Problem Complexity: An Interpretation Based on<br/>Human Cognition Mechanism<br/>1.3.2 Principles Deployed by Software Engineering to Overcome<br/>Human Cognitive Limitations<br/>1.3.3 Why Study Software Engineering?<br/>1.4 Emergence of Software Engineering<br/>1.4.1 Early Computer Programming<br/>1.4.2 High-Level Language Programming<br/>1.4.3 Control Flow-Based Design<br/>1.4.4 Data Structure-Oriented Design<br/>1.4.5 Data Flow-Oriented Design<br/>1.4.6 Object-Oriented Design<br/>1.4.7 What Next?<br/>1.4.8 Other Developments<br/>1.5 Notable Changes in Software Development Practices<br/>1.6 Computer Systems Engineering<br/>2. SOFTWARB LIFE CYCLE MODELS<br/>2.1 Why Use a Life Cycle Model?<br/>2.1.1 Why Dociiment a Life Cycle Model?<br/>2.1.2 Phase Entry and Exit Criteria<br/>2.2 Classical Waterfall Model<br/>2.2.1 Phases of Classical Waterfall Model.<br/>2.2.2 Shortcomings of the Classical WaterfEtll Model.<br/>2.2.3 Is the Classical-Waterfall Model Useful at All?<br/>2.3 Iterative Waterfall Model<br/>2.3.1 Phase Containment of Errors ....<br/>2.3.2 Shortcomings of the Iterative Waterfall Model..<br/>2.4 Prototyping Model<br/>2.5 Evolutionary Model<br/>2.5.1 Life Cycle Activities ....<br/>2.6 Spiral Model<br/>2.6.1 Bisk Handling in Spiral Model<br/>2.6.2 Phases of the Spiral Model<br/>2.6.3 Pros and Cons of the Spiral Model<br/>2.6.4 Spiral Model as a Meta Model<br/>2.7 Comparison of Different Life Cycle Models .<br/>2.7.1 Selecting an Appropriate Life Cycle Model for a Project.<br/>8. SOFTWARE PROJECT MANAGEMENT<br/>3.1 Responsibilities of a Software Project Manager<br/>3.1.1 Job Responsibilities of a Software Project Manager.<br/>3.1.2 Skills Necessary for Software Project Management...<br/>3.2 Project Planning<br/>3.2.1 The SPMP Document<br/>3.3 Metrics for Project Size Estimation<br/>3.3.1 Lines of Code (LOC)<br/>3.3.2 Function Point Metric<br/>3.4 Project Estimation Techniques<br/>3.4.1 Empirical Estimation Techniques .<<br/>3.4.2 Heuristic Tedmiques<br/>3.4.3 Analytical Estimation Tedmiques ....<br/>3.5 Empiricd Estimation Techniques<br/>3.5.1 Expert Judgement Technique<br/>3.5.2 Delphi Cost Estimation<br/>3.6 COCOMO—A Heuristic Estimation Technique<br/>3.6.1 Basic COCOMO Model ,<br/>3.6.2 Intermediate COCOMO .<br/>3.6.3 Complete COCOMO<br/>3.6.4 COCOMO 2 ..:<br/>3.7 Halstead's Software Science—An Analytical Technique.......<br/>3.7.1 Length and Vocabulary<br/>3.7.2 Program Volume<br/>3.7.3 Potential Minimum Volume<br/>3.7.4 Effort and Time<br/>3.7.5 Length Estimation<br/>3.8 Staffing Level Estimation r.<br/>3.8.1 Norden's Work<br/>3.8.2 Putnam's Work<br/>3.8.3 Effect of Schedule Change on Cost<br/>3.8.4 Jensen's Model<br/>3.9 Scheduling<br/>3.9.1 Work Breakdown Structure<br/>3.9.2 Activity Networks and Critical Path Method<br/>3.9.3 Gantt Charts<br/>3.9.4 PERT Charts<br/>3.9.5 Project Monitoring and Control<br/>3.10 Organization and Team Structures<br/>3.10.1 Organization Structure<br/>3.10.2 Team Structure<br/>3.11 Staffing<br/>3.11.1 Who is a Good Software Engineer? .<br/>3.12 Risk Management<br/>3.12.1 Risk Identification<br/>3.12.2 Risk Assessment<br/>3.12.3 Risk Containment<br/>3.13 Software Configuration Management<br/>3.13.1 Necessity of Software Configuration Management<br/>3.13.2 Configuration Management Activities<br/>3.13.3 Source Code Control System (SCCS) and RCS<br/>3.14 Miscellaneous Plans<br/>4. REQUIREMENTS ANALYSIS AND SPECIFICATION .....<br/>4.1 Requirements Gathering and Analysis<br/>4.1.1 Requirements Gathering<br/>4.1.2 Requirements Analysis<br/>4.2 Software Requirements Specification (SRS)<br/>4.2.1 Characteristics of a Good SRS Document<br/>4!2.2 Examples of Bad SRS Documents<br/>4.2.3 Important Categories of Customer Requirements ,<br/>4.2.4 Functional Requirements<br/>4.2.5 How to Identify the Functional Requirements?<br/>4.2.6 How to Document the Functional Requirements?<br/>4.2.7 Traceability<br/>4.2.8 Organization of the SRS Document<br/>4.2.9 Techniques for Representing Complex Logic..,<br/>4.3 Formal System Specification<br/>4.3.1 What is a Formal Technique?<br/>4.3.2 Model versus Property-Oriented Methods<br/>4.3.3 Operational Semantics<br/>4.3.4 Merits and Limitations of Formal Methods ...<br/>4.4 Axiomatic Specification<br/>4.5 Algebraic Specification<br/>4.5.1 Properties of Algebraic Specifications .<br/>4.5.2 Auxiliary Functions<br/>4.5.3 Structured Specification<br/>4.5.4 Pros and Cons of Algebraic Specifications ....<br/>4.6 Executable Specification and 4GL<br/>SOFTWARE DESIGN<br/>5.1 Outcome of a Design Process<br/>5.1.1 Classification of Design Activities,<br/>5.1.2 Classification of Design Methodologies<br/>5.1.3 Analysis versus Design<br/>5.2 How can We Characterize a Good Software Design? .<br/>5.3 Cohesion and Coupling<br/>5.3.1 Coupling<br/>5.3.2 Cohesion<br/>5.3.3 Functional Independence<br/>5.3.4 Classification of Cohesiveness<br/>5.3.5 Classification of CoupUng<br/>5.4 Layered Arrangement of Modules<br/>5.5 Approaches to Software Design<br/>5.5.1 Function-Oriented Design<br/>5.5.2 Object-Oriented Design<br/>5.6 Object-Oriented versus Function-Oriented Design Approaches<br/>5.6.1 Automated Fire-Alarm System—Customer Requirements<br/>5.6.2 Function-Oriented Approach<br/>5.6.3 Object-Oriented Approach<br/>6. FUNCTION-ORIENTED SOFTWARE DESIGN.<br/>6.1 Overview of SA/SD Methodology<br/>6.2 Structured Analysis<br/>6.3 Data Flow Diagrams (DFDs)<br/>6.3.1 Primitive Symbols Used for Constructing DFDs<br/>6.3.2 Some Important Concepts Associated with Constructing<br/>DFD Models<br/>6.3.3 Developing the DFD Model of a System.<br/>6.3.4 Shortcomings of the DFD Model<br/>6.4 Extending DFD Technique to Make it Applicable to Real-Time Systems<br/>6.5 Structmred Design<br/>6.5.1 Flow Chart versus Structure Chart...<br/>6.5.2 Transformation of a DFD Model into Structmre Uhart .<br/>6.5.3 Transform Analysis ..<br/>6.5.4 Transaction Analysis<br/>6.6 Detailed Design...,<br/>6.7 Design Review<br/>7. OBJECT MODELLING USING UML.<br/>7.1 Overview of Basic Object-Orientation Concepts .<br/>7.1.1 Basic Mechanisms<br/>7.1.2 Key Concepts<br/>7.1.3 Related Technical Terms<br/>7.1.4 Advantages of OOD<br/>7.2 Unified Modelling Language (UML)..<br/>7.3 UML Diagrams ...<br/>7.4 Use Case Model..<br/>7.4.1 Representation of Use Cases<br/>7.4.2 Why Develop the Use Case Diagram?..<br/>7.4.3 How to Identify the Use Cases of a System?<br/>7.4.4 Essential versus Real Use Case<br/>lA.b Factoring of Connnonality among Use Cases<br/>7.4.6 Use Case Packaging<br/>7.5 Class Diagrams<br/>7.6 Interaction Diagrams .<br/>7.7 Activity Diagrams<br/>7.8 State Chart Diagram .<br/>7.9 Postscript<br/>7.9.1 Package and Deployment Diagrams .<br/>7.9.2 UML 2.0<br/>8. OBJECT-ORIENTED SOFTWARE DEVELOPMENT<br/>8.1 Patterns<br/>8.1.1 Basic Pattern Concepts<br/>8.1.2 Types of Patterns<br/>8.1.3 More Pattern Concepts<br/>8.2 Some Common Design Patterns<br/>8.2.1 Expert<br/>8.2.2 Creator<br/>8.2.3 Facade Pattern<br/>8.2.4 Model View Separation Patterns<br/>8.2.5 Observer Pattern<br/>8.2.6 Model-View-Controller (MVC) Pattern<br/>8.2.7 Publish-Subscribe Pattern<br/>8.2.8 Intermediary (or Proxy) Pattern<br/>8.3 An Object-Oriented Analysis and Design Methodology<br/>8.3.1 The Unified Process<br/>8.3.2 Overview of the OOAD Methodology ..<br/>8.3.3 Use Case Model Development<br/>8.3.4 Domain Modelling<br/>8.3.5 Identification of Entity Objects<br/>8.3.6 Booch's Object Identification Method..<br/>8.4 Interaction Modelling.<br/>8.4.1 CRC Cards....<br/>8.5 Applications of the Analysis and Design Process .<br/>8.6 OOD Goodness Criteria<br/>9. USER INTERFACE DESIGN<br/>9.1 Characteristics of a Good User Interface....<br/>9.2 Basic Concepts<br/>9.2.1 User Guidance and Online Help<br/>9.2.2 Mode-based versus Modeless Interface<br/>9.2.3 Graphical User Interface (GUI) vs. Text-based User Interface<br/>9.3 Types of User Interfaces<br/>9.3.1 Command Language-based Interface<br/>9.3.2 Menu-based Interface<br/>9.3.3 Direct Manipulation Interfaces<br/>. 9.4 Fundamentals of Component-based GUI Development..<br/>9.4.1 Window System<br/>9.4.2 Types of Widgets<br/>9.4.3 An Overview of X-Window/MOTIF<br/>9.4.4 X Architecture<br/>9.4.5 Visual Programming<br/>9.4.6 Size Measurement of a Component-based GUI<br/>9.5 A User Interface Design Methodology<br/>9.5.1 Imphcations of Human Cognition Capabilities on<br/>User Interface Design<br/>9.5.2 A GUI Design Methodology<br/>9.5.3 Task and Object Modelling<br/>9.5.4 Selecting a Metaphor<br/>9.5.5 Interaction Design and Rough Layout<br/>9.5.6 User Interface Inspection<br/>10. CODING AND TESTING<br/>10.1 Coding<br/>10.1.1 Coding Standards and Guidelines<br/>10.2 Code Review ••••<br/>10.2.1 Code Walkthrough<br/>10.2.2 Code Inspection<br/>10.2.3 Clean Room Testing<br/>10.3 Software Docmnentation<br/>10.3.1 Internal Docmnentation<br/>10.3.2 External Documentation<br/>10.3.3 Gmming's Fog Index<br/>10.4 Testing<br/>10.4.1 Basic Concepts and Terminologies<br/>10.4.2 Why Design Test Oases?<br/>10.5 Testing in the Large versus Testing in the Small.<br/>10.6 Unit Testing<br/>10.6.1 Driver and Stub Modules<br/>10.7 Black-Box Testing<br/>10.7.1 Equivalence Class Partitioning.<br/>10.7.2 Boimdary Value Analysis<br/>10.7.3 Summary of the Black-Box Test Suite Design Approach<br/>10.8 White-Box Testing<br/>10.8.1 Basic Concepts<br/>10.8.2 Statement Coverage<br/>10.8.3 Branch Coverage.....<br/>10.8.4 Condition Coverage<br/>10.8.5 Path Coverage<br/>10.8.6 McCabe's Cyclomatic Complexity Metric<br/>10.8.7 Data Flow-based Testing<br/>10.8.8 Mutation Testing<br/>10.9 Debugging<br/>10.9.1 Debugging Approaches....<br/>10.9.2 Debugging Guidelines<br/>10.10 Program Analysis Tools<br/>10.10.1 Static Analysis Tools<br/>10.10.2 Dynamic Analysis Tools .<br/>10.11 Integration Testing<br/>10.11.1 Phased versus Incremental Integration Testing<br/>10.12 Testing Object-Oriented Programs<br/>10.12.1 What is a Suitable Unit for Testing Object-Oriented<br/>Programs?<br/>10.12.2 Do Various Object-Orientation Concepts Make Testing Easy?<br/>10.12.3 Why are Traditional Techniques Considered Unsatisfactory<br/>for Testing Object-Oriented Programs?<br/>10.12.4 Grey-Box Testing of Object-Oriented Programs ..<br/>10.12.5 Integration Testing of Object-Oriented Programs<br/>10.13 System Testing<br/>10.13.1 Performance Testing .<br/>10.13.2 Error Seeding<br/>10.14 Some General Issues Associated with Testing<br/>10.14.1 Test Documentation.<br/>10.14.2 Regression Testing ...<br/>11. SOFTWARE RELIABILITY AND QUALITY MANAGEMENT<br/>11.1 Software Reliability<br/>11.1.1 Hardware versus Software Reliability<br/>11.1.2 Reliability Metrics<br/>11.1.3 Reliability Growth Modelling..<br/>11.2 Statistical Testing<br/>11.3 Software Quality<br/>11.4 Software Quality Management System.<br/>11.4.1 Evolution of Quality Systems..<br/>11.4.2 Product Metrics versus Process Metrics<br/>11.5 ISO 9000<br/>11.5.1 What is ISO 9000 Certification?<br/>11.5.2 ISO 9000 for Software Industry<br/>11.5.3 Why Get ISO 9000 Certification?<br/>11.5.4 How to Get ISO 9000 Certification? ....<br/>11.5.5 Siuninary of ISO 9001 Requirements<br/>11.5.6 Salient Features of ISO 9001 Reqmrements<br/>11.5.7 ISO 9000-2000<br/>11.5.8 Shortcomings of ISO 9000 Certification<br/>11.6 SEI Capability Maturity Model<br/>11.6.1 Comparison between ISO 9000 Certification and SEI/CMM<br/>11.6.2 Is SEI CMM Applicable to Small Organizations? ..<br/>11.6.3 CMMI<br/>11.7 Personal Software Process (PSP)<br/>11.8 Six Sigma<br/>12. COMPUTER AIDED SOFTWARE ENGINEERING .<br/>12.1 Case and its Scope<br/>12.2 Case Environment<br/>12.2.1 Benefits of CASE<br/>12.3 CASE Support in Software Life Cycle...<br/>12.3.1 Prototyping Support<br/>12.3.2 Structured Analysis and Design<br/>12.3.3 Code Generation<br/>12.3.4 Test Case Generator<br/>12.4 Other Characteristics of CASE Tools ....<br/>12.4.1 Hardware and Environmental Requirements<br/>12.4.2 Docmnentation Support<br/>. 12.4.3 Project Management<br/>12.4.4 External Interface<br/>12.4.5 Reverse Engineering Support<br/>12.4.6 Data Dictionary Interface<br/>12.4.7 Tutorial and Help<br/>12.5 Towards Second Generation CASE Tool ..<br/>12.6 Architecture of a CASE Environment<br/>13. SOFTWARE MAINTENANCE<br/>13.1 Characteristics of Software Maintenance..<br/>13.1.1 Types of Software Maintenance<br/>13.1.2 Characteristics of Software Evolution<br/>13.1.3 Special Problems Associated with Software Maintenance<br/>13.2 Software Reverse Engineering<br/>13.3 Software Maintenance Process Models<br/>13.4 Estimation of Maintenance Cost<br/>14. SOFTWARE REUSE<br/>14.1 What can be Reused?<br/>14.2 Why Almost no Reuse so Far?<br/>14.3 Basic Issues in any Reuse Program .<br/>14.4 A Reuse Approach<br/>14.4.1 Domain Analysis<br/>14.4.2 Component Classification<br/>14.4.3 Searching<br/>14.4.4 Repository Maintenance<br/>14.4.5 Reuse without Modifications<br/>14.5 Reuse at Organization Level<br/>14.5.1 Current State of Reuse<br/>15. EMERGING TRENDS<br/>15.1 Client-Server Software<br/>15.1.1 Advantages of Client-Server Software ....<br/>15.1.2 Disadvantages of Client-Server Software<br/>15.1.3 Client-Server Architectures ..<br/>15.1.4 COKBA<br/>15.1.5 COM/DCOM<br/>15.2 Service-Oriented Architecture (SOA)<br/>15.3 Software £is a Service (SaaS)
650 #0 - SUBJECT
Keyword Computer Science.
650 #0 - SUBJECT
Keyword Software Engineering.
650 24 - SUBJECT
Keyword Logics and Meanings of Programs.
942 ## - ADDED ENTRY ELEMENTS (KOHA)
Koha item type General Books
Holdings
Withdrawn status Lost status Damaged status Not for loan Home library Current library Shelving location Date acquired Full call number Accession number Date last seen Date last checked out Koha item type
        Central Library, Sikkim University Central Library, Sikkim University General Book Section 02/06/2016 005.1 MAL/F P33281 19/12/2023 19/12/2023 General Books
SIKKIM UNIVERSITY
University Portal | Contact Librarian | Library Portal

Powered by Koha