Software Engineering Fundamentals (Record no. 1964)
[ view plain ]
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 |
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 |