Software Engineering Fundamentals (Record no. 1964)

MARC details
000 -LEADER
fixed length control field 22477pam a2200205 a 4500
003 - CONTROL NUMBER IDENTIFIER
control field OSt
005 - DATE AND TIME OF LATEST TRANSACTION
control field 20230517170517.0
008 - FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION
fixed length control field 230224b |||||||| |||| 00| 0 eng d
020 ## - INTERNATIONAL STANDARD BOOK NUMBER
International Standard Book Number 9780195681468 (pb)
040 ## - CATALOGING SOURCE
Transcribing agency CUS
082 00 - DEWEY DECIMAL CLASSIFICATION NUMBER
Classification number 005.1
100 ## - MAIN ENTRY--PERSONAL NAME
Personal name Behforooz, Ali
9 (RLIN) 16491
245 10 - TITLE STATEMENT
Title Software Engineering Fundamentals
260 ## - PUBLICATION, DISTRIBUTION, ETC. (IMPRINT)
Place of publication, distribution, etc. New York :
Name of publisher, distributor, etc. Oxford University Press,
Date of publication, distribution, etc. 1996.
300 ## - PHYSICAL DESCRIPTION
Extent xxvi, 661 p. :
Other physical details ill. ;
Dimensions 24 cm.
505 ## - FORMATTED CONTENTS NOTE
Formatted contents note 1<br/>Overview of System and Software Development Life<br/>Cycles . . . 5<br/>1.0 OBJECTIVES . . . 5<br/>1.1 INTRODUCTION . . . 6<br/>1.2 SYSTEMS: DEFINITION AND DISCUSSION . . . 6<br/>1.2.1 System Characteristics . . . 6<br/>Synergism . . . 6<br/>Adaptability . . . 7<br/>Compromise . . . 7<br/>1.2.2 Recurring Problems and Suggested Solutions in Large<br/>System Developments . . . 8<br/>Major Problems in System Development . . . 8 <<br/>Suggested Solutions . . . 9<br/>1.2.3 System Engineering . 10<br/>1.2.4 System Analysis . . . 11<br/>1 2.5 System Architecture and Design . . . 12<br/>1.3 SYSTEM-LEVEL PROJECT PLANNING 13<br/>1.3.1 System Development Plan . . . 15<br/>Task Description . . . 15<br/>2<br/>Resource and Schedule Estimation . . . 16<br/>Staffing . . . 16<br/>Technical Reviews . . . 17<br/>Risk Management . . . 17<br/>Change Controi . . . 18<br/>Appendices and References . . . 20<br/>1.3.2 Software Development Plan . . . 20<br/>1.4 SYSTEM DEVELOPMENT LIFE CYCLE DEFINITION AND<br/>OVERVIEW .20<br/>1.4.1 System Development Life Cycle Models . . . 21<br/>1.4.2 DOD System Development Life Cycle . . . 21<br/>1.4.3 MIS-Oriented System Development Life Cycle . . . 23<br/>Phase 1: Survey the Situation . . . 24<br/>Phase 2: Study the Current System . . . 26<br/>Phase 3: Define New System Requirements . . . 26<br/>Phase 4: Deveiop Logical Design . . . 30<br/>Phase 6: Deveiop Physical Design . . . 30<br/>Phase 6: Construct New System . . . 31<br/>Phase 7: Instali or Deiiver New System . . . 31<br/>Phase 8: Maintain System and Audit Performance . . . 31<br/>1.5 SOFTWARE DEVELOPMENT LIFE CYCLE; BRIEF OVERVIEW . 31<br/>Phase 1: Requirements Analysis . . . 32<br/>Phase 2: Design Specification . . . 34<br/>Phase 3: Coding and Unit Testing . . . 34<br/>Phase 4: Test and Integration . . . 35<br/>Phase 5: Acceptance Test . . . 35<br/>System and Software Maintenance . . . 36<br/>1.6 SWDLC MODELS 36<br/>1.6.1 Generic Waterfall Model . . . 36<br/>1.6.2 DOD Model . 38<br/>1.6.3 Spiral Model 39<br/>1.6.4 NASA Model . 40<br/>1.6.5 Rapid Throwaway Prototype Model . . . 40<br/>1.6.6 Incremental Development Model . . . 40<br/>1.6.7 Evolutionary Prototype Model . . . 41<br/>1.6.8 Reuse and Automated Development Models . . . 41<br/>1.6.9 Resource-and Sctiedule-Driven Model . . . 41<br/>1.6.10 Cleanroom Approacti . . . 42<br/>1.6.11 Comments on SWDLC Models . . . 42<br/>1.6.12 Best Practice . . . 43<br/>1.7 SOFTWARE ENGINEERING PROCESS . 43<br/>1.8 GENERAL OBSERVATIONS ON SDLC AND SWDLC 44<br/>1.9 CHAPTER SUMMARY 46<br/>1.10 EXERCISES .47<br/>REFERENCES .48<br/>Case Studies . . . 50<br/>2.0 OBJECTIVES 50<br/>2.1 INTRODUCTION 50<br/>3<br/>2.2 CASE STUDY PROBLEM STATEMENTS .51<br/>2.2.1 XYZ Project: Problem Statement . . . 51<br/>2.2.2 ABC Project: Problem Statement . . . 54<br/>2.3 XYZ PROJECT: ANALYSIS 56<br/>2.3.1 XYZ Project: System Architecture . . . 57<br/>Database Management . . . 63<br/>Data Gathering ^ . . 63<br/>Explicit Input Requirements . . . 64<br/>Explicit Output Requirements . . . 64<br/>Explicit Process Requirements . ; . 64<br/>2.4 BIDDER'S PERSPECTIVE .66<br/>2.4.1 The Proposal . . . 67<br/>2.4.2 We Win . 70<br/>2.5 CHAPTER SUMMARY . . . 74<br/>2.6 EXERCISES . . . 74<br/>Technical Planning . . . 76<br/>3.0 OBJECTIVES 76<br/>3.1 INTRODUCTION . . . 76<br/>3.2 SOFTWARE DEVELOPMENT PLANNING . . . 78<br/>3.2.1 Introduction . . . 79<br/>3.2.2 Resource and Schedule Estimates 81<br/>3.2.3 Organization and Staffing 81<br/>3.2.4 Work Breakdown Structure, Work Packages, and Cost<br/>Accounts . . . 83<br/>3.2.5 Technical Management and Control . . . 85<br/>Change Management . . . 85 •<br/>Risk Containment . . . 86<br/>Cost and Schedule Control . . . 86<br/>Issue Resolution . . . 87<br/>3.2.6 Standards and Procedures . . . 87<br/>3.2.7 Reviews, Audits, and Walkthroughs . . . 89<br/>3.2.8 Development Environment 89<br/>3.2.9 Technical Performance Measurements . . . 90<br/>3.2.10 Documentation . . . 91<br/>3.2.11 Verification and Validation .92<br/>3.2.12 Maintenance . . . 92<br/>3.2.13 Human Factors . . . 93<br/>3.2.14 Delivery, Installation, and Acceptance . . . 94<br/>3.2.15 Appendices and References . . . 94<br/>3.3 USE OF SDP AS TECHNICAL MANAGEMENT TOOL . 94<br/>3.4 AHRIBUTE (METRICS) ESTIMATION . 97<br/>3.5 AUTOMATED PLANNING TOOLS .98<br/>3.6 MANAGEMENT, METHODOLOGY, AND METRICS . . . 99<br/>3.7 CHAPTER SUMMARY . 100<br/>3.8 UNIT ONE SUMMARY 100<br/>3.9 EXERCISES 102<br/>REFERENCES 103<br/>UNIT 2<br/>Analysis and Design<br/>4<br/>Software Specifica"tions and Requirements Analysis . . . 107<br/>4.0 OBJECTIVES 107<br/>4.1 INtRbDUCTION 107<br/>4.2 PEOPLE INVOLVED IN SOFTWARE DEVELOPMENT PROCESS . . 109<br/>4.3 SOFTWARE REQUIREMENTS SPECIFICATION (SRS) . . . 110<br/>4.3.1 Introductory Section of SRS (Section 1) . . . Ill<br/>4.3.2 General Description Section of SRS (Section 2) . . . 112<br/>4.3.3 Specific Requirements Section of SRS (Section 3) . . . 113<br/>External Interface Requirements . . . 116<br/>Performance Requirements . . . 117<br/>Overall Design Constraints . . . 117<br/>Attributes . . . 117<br/>4.3.4 Software Requirements Classification . . . 117<br/>4.3.5 Software Requirements Analysis . . . 118<br/>Structured ApfDroach to Requirements Analysis . . . 119<br/>4.4 EXAMPLES OF SRS PREPARATION . . . 120<br/>Example 4.4.1 ABC Project . . . 120<br/>Requirements . . . 121<br/>Requirements Analysis . . . 122<br/>Actual SRS Document . . . 124<br/>Example 4.4.2 Truck and Driver Incident Report Project . . . 130<br/>Problem Statement . . . 130<br/>Clarificatibn of Problem Statement . . . 130<br/>Section 3 of SRS Document . . . 131<br/>Requirements Analysis . . . 137<br/>4.5 OTHER SOFTWARE SPECIFICATION DOCUMENTS . . . 138<br/>Softv/are Design Specification (SDS) . . . 138<br/>Test and Integration Specification . . . 138<br/>Software Performance Specification . . . 139<br/>Maintenance Requirement Specification . . . 139<br/>4.6 SOFTWARE SPECIFICATION ATTRIBUTES . 140<br/>The SRS Must Be Correct . . . 140<br/>The SRS Must Be Precise . . . 140<br/>The SRS Must Be Unambiguous . . . 140<br/>The SRS Must Be Complete . . . 141<br/>The SRS Must Be Verifiable . . . 142<br/>The SRS Must Be Consistent . . . 142<br/>The SRS Must Be Understandable . . . 142<br/>The SRS Must Be Modifiable . . . 142<br/>The SRS Must Be Traceable . . . 143<br/>The SRS Must Separate Whats from Hows . . . 144<br/>The SRS Must Encompass the Entire System . . . 144<br/>The SRS Must Encompass Its Operational Environment . . . 144<br/>The SRS Must Describe the System as Seen by Users . . . 144<br/>5<br/>The SRS Must Be Tolerant of Incompleteness, Ambiguities, and<br/>Inconsistencies . . . 144<br/>The SRS Must Be Localized . . . 144<br/>4.7 CHAPTER SUMMARY . . . 145<br/>4.8 EXERCISES . . . 145<br/>REFERENCES . . . 146<br/>Software Specification Tools . . . 147'<br/>6<br/>5.0 OBJECTIVES . . . 147<br/>5.1 INTRODUCTION 147<br/>5.2 DATA DICTIONARY . 148<br/>5.3 DECISION SUPPORT TOOLS 151<br/>5.4 DATA FLOW DIAGRAMS (DFD) . . . 154<br/>5.5 FINITE STATE MACHINES (FSM) . 162<br/>5.6 PETRI NETS . . . 168<br/>5.6.1 Petrl Net State Space . . . 172<br/>5.6.2 Using Petrl Net to Model System . . . 173<br/>5.7 MATHEMATICAL LOGIC . . . 1 76<br/>5.7.1 Problem Speclticotlcn Using Logic . . . 178<br/>5.8 OPERATIONAL TIMELINES . . . 179<br/>5.8.1 Development of OperoNonol Timeline . . . 180<br/>5.8.2 Moving from Mode to Mode . . . 180<br/>5.8.3 Operotlonol Procedures for Eoch System Mode . . . 180<br/>Exomple 5.8.1 . . . 181<br/>5.9 CHAPTER SUMMARY 182<br/>5.10 EXERCISES . . . 182<br/>REFERENCES . . . 184<br/>Software Development Environment. . . 185<br/>6.0 OBJECTIVES . 185<br/>6.1 INTRODUCTION . 185<br/>6.2 SOFTWARE DEVELOPMENT ENVIRONMENT CONFIGURATION . . . 187<br/>6.3 SOFTWARE DEVELOPMENT PLATFORM (SDPF) . . . 189<br/>6.3.1 Essentlol Tools In SDPF . 190<br/>Operating Systems . . . 190<br/>Programming Language(s) . . . 190<br/>Compilers . . . 191<br/>6.3.2 Very Useful Tools . . . 191<br/>Editors . . . 191<br/>Syntax-Directed Editors . . . 191<br/>Linkers . . . 192.<br/>Code or Program Generators . . . 192<br/>Debuggers . . . 192<br/>Program Design Languages (PDL) . . . 192<br/>7<br/>6.3.3 Useful Tools . . . 193<br/>Workbenches . . . 193<br/>Integrated CASE Tools . . . 194<br/>6.4 COMPUTER-AIDED SOFTWARE ENGINEERING TOOLS . . . 195<br/>6.4.1 CASE Tools Categorization . . . 197<br/>6.4.2 Groptric Modeling . . . 197<br/>6.4.3 * CASE Repositories . . . 198<br/>6.4.4 CASE Tools as Aid to Reengineering . . . 199<br/>6.4.5 Impact of Object-Oriented Methodology on CASE Tools<br/>. . . 199<br/>6.5 IDEAL SOFTWARE DEVELOPMENT PLATFORM . . . 200<br/>6.6 CHAPTER SUMMARY . 201<br/>6.7 EXERCISES .201<br/>REFERENCES . 202<br/>Software Design . . . 204<br/>8<br/>7.0 OBJECTIVES . . . 204<br/>7.1 INTRODUCTION . 204<br/>7.2 OVERVIEW OF SOFTWARE DESIGN PROCESS . . . 2a5<br/>7.2.1 Design Requirements and Criteria . . . 206<br/>7.2.2 Design Levels and Their Objectives . . . 208<br/>7.2.3 input/Process/Output (IPO) Approach . . . 210<br/>7.2.4 Design Tools . . . 211<br/>7.3 SOFTWARE DESIGN . . . 212<br/>7.3.1 Seven Generic Design Steps . . . 213<br/>7.3.2 Component Design . . . 215<br/>7.3.3 Preparing Software Design Specification (SDS) . . . 217<br/>7.4 DESiGNEXAMPLE . 219<br/>7.4.1 Design Process . . . 220<br/>Selecting the Design Architecture . . . 220<br/>Design Steps . . . 221<br/>7.5 CHAPTER SUMMARY .228<br/>7.6 EXERCISES 228.<br/>REFERENCES . 229<br/>Object-Oriented Analysis and Design . . . 231<br/>8.0 OBJECTIVES 231<br/>8.1 INTRODUCTION 231<br/>8.2 OBJECT-ORIENTED PARADIGM . 232<br/>8.3 BASIC DEFINITIONS AND SYMBOLS . . . 235<br/>8.3.1 Objects 236<br/>8.3.2 Classes . . . 236<br/>8.3.3 Relationship or Association among Objects . . . 238<br/>Binary Associations . . . 238<br/>n-ary Associations . . . 239<br/>8.3.4 Structures, Inheritance, and Generalization . . . 239<br/>8.3.5 Assembly Structure (or Whole-Part Structure) . . . 241<br/>8.3.6 Combined Structures . . . 241<br/>8.3.7 Comments on Structures . . . 242<br/>8.4 OBJECT-ORIENTED ANALYSIS 245<br/>8.4.1 Finding Objects and Classes . . . 246<br/>8.4.2 Determining Attributes of Each Object/Class . . . 248<br/>8.4.3 Defining/Identifying Senrices for Each Object/<br/>Class . . . 250<br/>8.4.4 Defining Messages for each Object/Class . . . 250<br/>8.4.5 Time-Dependency Considerations . . . 252<br/>8.4.6 Finding Association among Objects . . . 252<br/>8.4.7 Checking Access Paths through Classes . . . 253<br/>8.4.8 Complete OOA Document . . . 253<br/>8.4.9 Final Clean-Up before Design Phase . . 254<br/>8.5 OBJECT-ORIENTED DESIGN .255<br/>8.5.1 Problem Domain . . . 256<br/>8.5.2 Human Interfaces . . . 257<br/>8.5.3 Task Management 258<br/>8.5.4 Data Management . . . 259<br/>8.5.5 Designing Senrices . . . 260<br/>8.6 CHAPTER SUMMARY 260<br/>8.7 EXERCISES 261<br/>UNIT 3<br/>REFERENCES . . . 263<br/>Implementation and Maintenance<br/>9<br/>Fundamentals of Coding . . . 266<br/>9.0 OBJECTIVES . 266<br/>9.1 INTRODUCTION . 266<br/>9.2 PROGRAMMING LANGUAGES . 267<br/>Procedural Languages . . . 267<br/>Nonprocedural Languages . . . 268<br/>Imperative Languages . . . 268<br/>Declarative Languages . . . 268<br/>Functional Languages . . . 268<br/>Logic Languages . . . 269<br/>Object-Oriented Languages . . . 269<br/>Visual Languages . . . 269 -<br/>Fourtti-Generation Languages (4GL) . . . 269<br/>Fifth-Generation Languages (5GL) . . . 270<br/>9.2.1 Specific Programming Language Features . . . 270<br/>Preprocessor . . . 270<br/>Naming Constraints . . . 270<br/>Named Constants . . . 270<br/>User-Defined Data Type . . . 271<br/>Subprograms . . . 271<br/>Recursive Subprograms . . . 272<br/>Scoping . . . 272<br/>Available Operations . . . 272<br/>Variety of Control Structures . . . 272<br/>Data Structure Support . . . 273<br/>Data Abstraction and information Hiding . . . 273<br/>Memory Aiiocation . . . 273<br/>File Handling Utilities . . . 273<br/>Access to Other System Utilities . . . 273<br/>Compilers . ! . 274<br/>Debuggers . . . 274<br/>Programming Language Ubrary . . . 274<br/>Exception Handling . . . 274<br/>Real-Time Considerations . . . 275<br/>Concurrency Considerations . . . 275<br/>Poralieiism Considerations ... 275<br/>9.2.2 Selecting a Programming Language . . . 275<br/>9.3 PROGRAMMING STYLE AND PROGRAM QUALITY . . . 276<br/>9.3.1 Simple Style Rules . . . 276<br/>9.3.2 Comment Statements . . . 278<br/>9.3.3 Program Quality . . . 279<br/>Readability, Understandabiiity, and Comprehensibiiity<br/>(RUC) . . . 279<br/>Logical Structure . . . 280<br/>Physical Layout . . . 280<br/>Robustness . . . 280<br/>CPU Efficiency (Speed of Execution) . . . 280<br/>Memory Efficiency . . . 280<br/>Complexity . . . 281<br/>Human Factors . . . 281<br/>System interfaces . . . 281<br/>Reusable Code . . . 281<br/>9.3.4 Quantifying Program Quality 281<br/>9.4 COMPLETE PROGRAMMING EXAMPLE . . . 283<br/>9.4.1 Top-Level Design Specifications . . . 284<br/>9.4.2 Analysis of Preliminary Design . . . 286<br/>9.4.3 Main Data Structures . . . 286<br/>9.4.4. High-Level Program Structure . . . 287<br/>9.4.5 Detailed Design Description . . . 287<br/>Utility Subprograms . . . 288<br/>9.4.6 Program Development Process . . . 294<br/>9.5 CHAPTER SUMMARY . 295<br/>9.6 EXERCISES . . . 295<br/>10<br/>REFERENCES . . . 297<br/>Software System Test and Integration . . . 298<br/>10.0 OBJECTIVES . 298<br/>10.1 INTRODUCTION . 299<br/>10.2 BASIC CONCEPTS IN TESTING . . . 300<br/>10.2.1 Need for Planning . . . 300<br/>10.2.2 Need for Discipline and Control . . . 301<br/>11<br/>10.2.3 Software Verification and Validation . . . 302<br/>10.2.4 Using Reiiobility Modeis in Testing . . . 303<br/>10.2.5 Software Engineers Find Careers in Testing . . . 304<br/>10.3 OVERVIEW OF SYSTEM AND SOFTWARE TEST AND<br/>INTEGRATION 304<br/>10.4 INCREMENTAL BUILD OF MODULES INTO SYSTEMS . . 307<br/>10.5 TEST AND INTEGRATION PLAN . . . 311<br/>10.6 BUILD TEST PLAN AND SPECIFICATION . . .314<br/>Test Design Specification Document . . . 317<br/>Buiid Test Cose Specification Document . . . 317<br/>Buiid Test Case Procedure Document . . . 318<br/>Buiid Test Log Document . . . 318<br/>Build Test Anomaiy Document . . . 319<br/>Buiid Test Summary Document .. . . 319<br/>10.7 PERSPECTIVES ON BUILD TESTING . . . 320<br/>10.8 ALPHA AND BETA TESTING . 321<br/>10.9 CHAPTER SUMMARY 322<br/>10.10 EXERCISES . . 323<br/>REFERENCES . . . 323<br/>Module Level Testing . . . 324<br/>11.0 OBJECTIVES . . . 324<br/>11.1 INTRODUCTION . 324<br/>11.2 MODULE TEST PLANNING .325<br/>11.2.1 Test Requirement Matrices . . . 325<br/>11.2.2 Module Test Pian . . . 327<br/>11.3 STATIC TESTING 329<br/>11.3.1 Static Testing Functions . . . 329<br/>11.4 DYNAMIC TESTING . 331<br/>11.4.1. Block Box or Functional Testing . . . 331<br/>Example 11.4.1 Black Box Testing . . . 334<br/>11.4.2 Wtilte Box Testing 340<br/>Example 11.4.2 Basic Blocks . . . 345<br/>Computing Cyciomatic Complexity . . . 345<br/>11.4.3 Dynamic Test Functions Tools . . . 349<br/>11.5 TEST CASE EXECUTION .350<br/>11.5.1 Test Log Document . . . 351<br/>11.5.2 Test Anomaly or Test Incident Document . . . 351<br/>11.5.3 Test Summary Document . . . 352<br/>11.6 FORMAL TESTING .352<br/>11.6.1 Correctness of Program Structures . . 355<br/>11.6.2 Iteration Termination . . . 358 .<br/>11.6.3 Correctness of Subprogram Calls . . . 360<br/>11.6.4 Remarks on Formal Testing .361<br/>11.7 PERSPECTIVES ON MODULE TESTING . 362<br/>11.8 CHAPTER SUMMARY 363<br/>11.9 EXERCISES 364<br/>REFERENCES 367<br/>12<br/>Debugging . . . 368<br/>12.0 OBJECTIVES .368<br/>12.1 INTRODUCTION . . . 368<br/>12.2 PROGRAM ERRORS (BUGS) 369<br/>Syntax Errors . . . 369<br/>Run-Time Errors . . . 369<br/>Logic Errors-. . . 369<br/>Inherited Errors . . . 370<br/>External Errors . . . 370<br/>12.3 DEBUGGING PROCESS 370<br/>12.3.1 Information Gathering . . . 370<br/>12.3.2 Fault Isoiation . . . 371<br/>Binary Partition Approach . . . 371<br/>Structured Question and Answer Approach . . . 372<br/>invoiving Others Approach . . . 372<br/>New Test Case Approach . . . 373<br/>12.3.3 Fault Confirmation . . 373<br/>Example 12.3.1 . . . 373<br/>12.3.4 Documentation . .374<br/>12.3.5 Fixing the Fault . . . 375<br/>12.3.6 New Testing after Each Correction . . . 376<br/>12.4 PERSPECTIVES ON DEBUGGING 376<br/>12.5 DEBUGGING TOOLS .377<br/>12.6 AN EXAMPLE 377<br/>12.6.1 Test Cose and Results . . . 378<br/>12.6.2 Correcting Program Faults . . . 379<br/>12.6.3 New Testing . . .381<br/>12.7 CHAPTER SUMMARY 381<br/>12.8 EXERCISES .381<br/>13<br/>Software Maintenance and Maintainability . . . 382<br/>13.0 OBJECTIVES 382<br/>13.1 INTRODUCTION . 382<br/>13.2 SOFTWARE MAINTENANCE 383<br/>13.2.1 Maintenance Support Documents/Tools . . 385<br/>13.2.2 Using Support Documentation . . '. 386<br/>13.3 SOFTWARE MAINTENANCE PROCESS 387<br/>13.4 maintenance RESOURCE ESTIMATION .390<br/>13.5 directly SPECIFIED MAINTENANCE AnRIBUTES . 392<br/>13.6 REVERSE ENGINEERING 393<br/>13.7 REENGINEERING SOFTWARE PRODUCT . 394<br/>13.8 CHAPTER SUMMARY 396<br/>13.9 EXERCISES 396<br/>REFERENCES 397<br/>UNIT 4<br/>Software Metrics or Attributes<br/>14<br/>Software Attributes (Metrics) and TIneir Estimation . . . 400<br/>14.0 OBJECTIVES 400<br/>14.1 INTRODUCTION 400<br/>14.2 IDENTIFICATION RELATED AHRIBUTES . . . 402<br/>14.3 SIZE-RELATED AHRIBUTES .403<br/>14.3.1 Function Point Attribute Estimation 404<br/>Example 14.3.1 (Order-Entry Problem) . . . 407<br/>Alternative Approach to Function Point Counting . . . 4C<br/>Example 14.3.2 . . . 410<br/>14.3.2 Feature Point Estimation . . .410<br/>Example 14.3.3 (Display Function) . . . 411<br/>14.3.3 Converting Function Point Estimate to SLOC . . . 412<br/>14.3.4 Direct Source Lines of Code Estimation 413<br/>Example 14.3.4 (Display Function Revisited) . . . 415<br/>Example 14.3.5 (Special Purpose Operating System) . . .<br/>416<br/>14.4 DESIGN AND DEVELOPMENT AHRIBUTES . 418<br/>14.5 SOFTWARE QUALITY AHRIBUTES . . . 424<br/>14.6 COMPLEXITY-RELATED ATTRIBUTES .427<br/>14.7 EXECUTION TIME-RELATED AHRIBUTES 428<br/>14.8 TEST-RELATED AHRIBUTES 428<br/>14.9 DOCUMENTATION-RELATED AnRIBUTES . . . 428<br/>14.10 PERFORMANCE-RELATED AHRIBUTES . 430<br/>14.11 LABOR-RELATED AnRIBUTES . 431<br/>14.12 OPERATING ENVIRONMENT ATTRIBUTES . . . 432<br/>14.13 DATA COLLECTION 434<br/>14.13.1 Establishing a Data Collection Program . . . 434<br/>14.14 CHAPTER SUMMARY 435<br/>14.15 EXERCISES 436<br/>15<br/>REFERENCES 437<br/>Software Development Resouroe Estimation . . . 438<br/>15.0 OBJECTIVES 438<br/>15.1 INTRODUCTION 439<br/>15 2 SOFTWARE PRODUCT COST AND SCHEDULE ESTIMATION . . . 440<br/>15.3 COST AND SCHEDULE ESTIMATION MODELS . 443<br/>15.3.1 constructive cost Models (COCOMO) 444<br/>Basic COCOMO Model . . . 445<br/>Intermediate COCOMO Model . . . 446<br/>15.3.2 Estimation Process 449<br/>Organic Mode Characteristics . . . 449<br/>Semidetached Mode Characteristics . . . 450<br/>Embedded Mode Characteristics . . . 450<br/>Exampie 15.3.1 . . .451<br/>15.3.3 Comments . . . 455<br/>15.4 grassroots RESOURCE AND SCHEDULE ESTIMATION . 456<br/>■ Exampie 15.4.1 (Resource Estimation) . . . 456<br/>Exampie 15.4.2 (Scheduie Estimation) . . . 458<br/>15.5 CLOSING COMMENTS . . . 461<br/>15.6 CHAPTER SUMMARY . . . 462<br/>15.7 EXERCISES . . . 463<br/>16<br/>REFERENCES . . . 466<br/>Software Development Risk Assessment and<br/>Cantainment . . . 467<br/>16.0 OBJECTIVES . . . 467<br/>16.1 INTRODUCTION . .. 468<br/>16.2 SOFTWARE DEVELOPMENT RISK AREAS . . . 468 .<br/>16.3 A RISK MODEL . . . 470<br/>164 risk CONTAINMENT AND RISK MANAGEMENT . . . 473<br/>16 5 technical PERFORMANCE MEASUREMENTS . . . 475<br/>16 6 EXAMPLES TO ILLUSTRATE SOFTWARE DEVELOPMENT RISK<br/>ANALYSIS . . . 476<br/>Exampie 16.6.1 . . . 476<br/>Exampie 16.6.2 . . 482<br/>16.7 CHAPTER SUMMARY . . . 484<br/>16.8 EXERCISES . . . 485<br/>17<br/>REFERENCES . . . 486<br/>Reliability . . . 487<br/>17.0 OBJECTIVES . . . 487<br/>17.1 INTRODUCTION . .. 487<br/>17.2 OVERVIEW . . . 490<br/>17.3 review OF PROBABILITY THEORY . . . 491<br/>17.3.1 Axiomatic Probability 492<br/>Exampie 17.3.1 . . . 492<br/>Axioms of Probabiiity . . . 492<br/>17.3.2 Conditional Prolxibillty . . . 493<br/>Bayes Ruies . . . 493<br/>17.3.3 Rondom Vorlobles, Prolsobility Distributions, ond Density<br/>Functions . . 494<br/>17.3.4 Distribution Functions . . . 495<br/>Binomial Distribution . . . 495<br/>Exompie 17.3.2 . . . 496<br/>Poisson Distribution . . . 496<br/>Continuous Rondom Voriobies . . . 496<br/>Normal Distribution . . . 497,<br/>Exponentiai Distribution . . . 497<br/>Uniform Distribution . . . 498<br/>17.3.5 Joint Distribution of Random Voriobies . . . 498<br/>17.3.6 Expectotion of Rondom Voriobies—Moments . 500<br/>17.3.7 Markov Process . . . 501<br/>Exampie 17.3.3 . . . 503<br/>17.4 RELiABiLlTY DEFiNiTiONS . . . 504<br/>17.5 RELiABiLlTY MODELS . . . 507<br/>17.6 SOFTWARE FAULTS . . . 509<br/>17.7 DESIGN RULES . . . 512<br/>17.8 SYSTEM RELiABiLlTY AND AVAILABILITY REQUIREMENTS . . . 513<br/>Exampie 17.8.1 . . .514<br/>17.8.1 Avoiiobiiity . . . 516<br/>Example 17.8.2 . . .518<br/>Example 17.8.3 . . .519<br/>17.9 APPLICATIONS OF A SOFTWARE RELIABILITY MODEL . . . 519<br/>Example 17.9.1 . . . 523<br/>17.10 REDUNDANCY AND FAULT TOLERANCE . . . 526<br/>Example 17.10.1 . . . 530<br/>17.11 FAILURE MODES AND EFFECTS AND OTHER ANALYSIS TOOLS . . . 531<br/>17.12 CHAPTER SUMMARY . . . 533<br/>17.13 EXERCISES . 535<br/>REFERENCES . . . 536<br/>18<br/>Software Quality and Quality Assurance . . . 537<br/>18.0 OBJECTIVES . 537<br/>18.1 INTRODUCTION . . . 537<br/>18.2 SOFTWARE QUALITY ASSURANCE PLANNING 540<br/>18.2.1 Reviews OS Quoiity Gotes 540<br/>18 2.2 Generic Softwore Quoiity Assuronce Plon , 541<br/>18.3 SOFTWARE QUALITY ASSURANCE PROCESS . . . 542<br/>18.4 SOFTWARE QUALITY ATTRIBUTES 544<br/>18.4.1 Stotisticoi Softwore Quoiity Assuronce 545<br/>18.5 GUIDELINES AND CHECKLISTS 549<br/>18.5.1 Using Checklists . 550<br/>18.6 SOFTWARE SAFETY . 554<br/>18.7 CHAPTER SUMMARY . 554<br/>18.8 EXERCISES 555<br/>REFERENCES .556<br/>UNITS<br/>Special Topics<br/>19<br/>Real-Time Software . . . 559<br/>19.0 OBJECTIVES . . . 559'<br/>19.1 INTRODUCTION . . . 559<br/>19.2 REAL-TIME REQUIREMENTS SPECIFICATION . . 561<br/>Example 19.2.1 . . . 563<br/>19.2.1 Execution Time Estimation . . . 564<br/>Example 19.2.2 . . . 565<br/>19.3 DESIGN GUIDELINES FOR REAL-TIME SOFTWARE .566<br/>19.4 SCHEDULABILITY CONCERNS .568<br/>Example 19.4.1 . . .570<br/>19.4.1 Algorlttrm to Compute Wn(t) . . .572<br/>Example 19.4.2 . . .573<br/>19.4.2 Task Synctrronlzatlon . . . 575<br/>Example 19.4.3 . . . 575<br/>Example 19.4.4 . . . 576<br/>Priority Inversion . . .577<br/>19.5 TESTING REAL-TIME SOFTWARE . . . 578<br/>19.6 CHAPTER SUMMARY . . . 580<br/>19.7 EXERCISES . . . 581<br/>20<br/>REFERENCES . . . 583<br/>Hunnan Factors in Software Engineering . . . 584<br/>20.0 OBJECTIVES . . . 584<br/>20.1 INTRODUCTION . . . 584<br/>20.2 HUMAN FACTORS HISTORY . . . 586<br/>20.3 HCI REQUIREMENTS AND DESIGN PROCESS . 586<br/>20.3.1 System Function Allocation (Step 1) . . , 588<br/>20.3.2 Operational Timelines (Step 2) . . . 588<br/>20.3.3 Operational Task Analysis (Step 3) . . . 589<br/>20.3.4 HCI Design (Step 4) . . . 590<br/>System Failures . . .591<br/>Help Packages . . . 591<br/>Response Times . . .591<br/>Operator Characteristics . . . 592<br/>External Environment . . . 592<br/>General Guidelines . . . 592<br/>Display Guidelines . . . 593<br/>Operator Command Guidelines . . . 593<br/>20.3.5 HCI Testing (Step 5) . . . 593<br/>20.4 THE human AS INFORMATION SYSTEM COMPONENT 594<br/>20.5 OPERATOR TASK DEVELOPMENT . . . 596<br/>20.5.1 Operator Requirements Specification . . . 597<br/>20.6 OPERATOR CHARACTERiSTiCS . . . 598<br/>20.7 CHAPTER SUMMARY . . . 599<br/>20.8 EXERCiSES . . . 599<br/>REFERENCES . . . 600
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM
Topical term or geographic name as entry element Software Engineering.
9 (RLIN) 639
700 ## - ADDED ENTRY--PERSONAL NAME
9 (RLIN) 16492
Personal name Hudson, Frederick J.
942 ## - ADDED ENTRY ELEMENTS (KOHA)
Koha item type General Books
Source of classification or shelving scheme
Holdings
Withdrawn status Lost status Damaged status Not for loan Home library Current library Shelving location Date acquired Total Checkouts Full call number Barcode Date last seen Date last checked out Koha item type Price effective from
        Central Library, Sikkim University Central Library, Sikkim University General Book Section 01/06/2016 1 005.1 BEH/S P19517 14/07/2018 14/07/2018 General Books  
        Central Library, Sikkim University Central Library, Sikkim University General Book Section 01/06/2016   005.1 BEH/S P19518 01/06/2016   General Books  
        Central Library, Sikkim University Central Library, Sikkim University General Book Section 29/08/2016   005.1 BEH/S P19519 29/08/2016   General Books 29/08/2016
SIKKIM UNIVERSITY
University Portal | Contact Librarian | Library Portal

Powered by Koha