OBJECT-ORIENTED AND CLASSICAL SOFTWARE ENGINEERING

By JOSHUA LEWIS

CONTENTS CHAPTER THE SCOPE OF SOFTWARE ENGINEERING LEARNING OBJECTIVES HISTORICAL ASPECTS ECONOMIC ASPECTS MAINTENANCE ASPECTS 1 3 1 CLASSICAL AND MODERN VIEWS OF MAINTENANCE 1 3 2 THE IMPORTANCE OF POSTDELIVERY MAINTENANCE REQUIREMENTS, ANALYSIS, AND DESIGN ASPECTS TEAM DEVELOPMENT ASPECTS WHY THERE IS NO PLANNING PHASE WHY THERE IS NO TESTING PHASE WHY THERE IS NO DOCUMENTATION PHASE THE OBJECT-ORIENTED PARADIGM THE OBJECT-ORIENTED PARADIGM IN PERSPECTIVE TERMINOLOGY ETHICAL ISSUES CHAPTER REVIEW FOR FURTHER READING KEY TERMS PROBLEMS REFERENCES PART A SOFTWARE ENGINEERING CONCEPTS CHAPTER SOFTWARE LIFE-CYCLE MODELS SOFTWARE DEVELOPMENT IN THEORY WINBURG MINI CASE STUDY LESSONS OF THE WINBURG MINI CASE STUDY TEAL TRACTORS MINI CASE STUDY ITERATION AND INCREMENTATION WINBURG MINI CASE STUDY REVISITED RISKS AND OTHER ASPECTS OF ITERATION AND INCREMENTATION MANAGING ITERATION AND INCREMENTATION OTHER LIFE-CYCLE MODELS 2 9 1 CODE-AND-FIX LIFE-CYCLE MODEL 2 9 2 WATERFALL LIFE-CYCLE MODEL 2 9 3 RAPID-PROTOTYPING LIFE-CYCLE MODEL 2 9 4 OPEN-SOURCE LIFE-CYCLE MODEL 2 9 5 AGILE PROCESSES 2 9 6 SYNCHRONIZE-AND-STABILIZE LIFE-CYCLE MODEL 2 9 7 SPIRAL LIFE-CYCLE MODEL COMPARISON OF LIFE-CYCLE MODELS THE SOFTWARE PROCESS THE UNI? ED PROCESS ITERATION AND INCREMENTATION WITHIN THE OBJECT-ORIENTED PARADIGM THE REQUIREMENTS WORK? OW THE ANALYSIS WORK? OW THE DESIGN WORK? OW THE IMPLEMENTATION WORK? OW THE TEST WORK? OW 3 7 1 REQUIREMENTS ARTIFACTS 3 7 2 ANALYSIS ARTIFACTS 3 7 3 DESIGN ARTIFACTS 3 7 4 IMPLEMENTATION ARTIFACTS POSTDELIVERY MAINTENANCE RETIREMENT THE PHASES OF THE UNI? ED PROCESS 3 10 1 THE INCEPTION PHASE 3 10 2 THE ELABORATION PHASE 3 10 3 THE CONSTRUCTION PHASE 3 10 4 THE TRANSITION PHASE ONE- VERSUS TWO-DIMENSIONAL LIFE-CYCLE MODELS IMPROVING THE SOFTWARE PROCESS CAPABILITY MATURITY MODELS OTHER SOFTWARE PROCESS IMPROVEMENT INITIATIVES COSTS AND BENE? TS OF SOFTWARE PROCESS IMPROVEMENT TEAMS TEAM ORGANIZATION DEMOCRATIC TEAM APPROACH 4 2 1 ANALYSIS OF THE DEMOCRATIC TEAM APPROACH CLASSICAL CHIEF PROGRAMMER TEAM APPROACH 4 3 1 THE NEW YORK TIMES PROJECT 4 3 2 IMPRACTICALITY OF THE CLASSICAL CHIEF PROGRAMMER TEAM APPROACH BEYOND CHIEF PROGRAMMER AND DEMOCRATIC TEAMS SYNCHRONIZE-AND-STABILIZE TEAMS TEAMS FOR AGILE PROCESSES OPEN-SOURCE PROGRAMMING TEAMS PEOPLE CAPABILITY MATURITY MODEL CHOOSING AN APPROPRIATE TEAM ORGANIZATION THE TOOLS OF THE TRADE STEPWISE RE? NEMENT 5 1 1 STEPWISE RE? NEMENT MINI CASE STUDY COST–BENE? T ANALYSIS DIVIDE-AND-CONQUER SEPARATION OF CONCERNS SOFTWARE METRICS CASE TAXONOMY OF CASE SCOPE OF CASE SOFTWARE VERSIONS 5 9 1 REVISIONS 5 9 2 VARIATIONS CON? GURATION CONTROL 5 10 1 CON? GURATION CONTROL DURING POSTDELIVERY MAINTENANCE 5 10 2 BASELINES 5 10 3 CON? GURATION CONTROL DURING DEVELOPMENT BUILD TOOLS PRODUCTIVITY GAINS WITH CASE TECHNOLOGY TESTING QUALITY ISSUES 6 1 1 SOFTWARE QUALITY ASSURANCE 6 1 2 MANAGERIAL INDEPENDENCE NON-EXECUTION-BASED TESTING 6 2 1 WALKTHROUGHS 6 2 2 MANAGING WALKTHROUGHS 6 2 3 INSPECTIONS 6 2 4 COMPARISON OF INSPECTIONS AND WALKTHROUGHS 6 2 5 STRENGTHS AND WEAKNESSES OF REVIEWS 6 2 6 METRICS FOR INSPECTIONS EXECUTION-BASED TESTING WHAT SHOULD BE TESTED? 6 4 1 UTILITY 6 4 2 RELIABILITY 6 4 3 ROBUSTNESS 6 4 4 PERFORMANCE 6 4 5 CORRECTNESS TESTING VERSUS CORRECTNESS PROOFS 6 5 1 EXAMPLE OF A CORRECTNESS PROOF 6 5 2 CORRECTNESS PROOF MINI CASE STUDY 6 5 3 CORRECTNESS PROOFS AND SOFTWARE ENGINEERING WHO SHOULD PERFORM EXECUTION-BASED TESTING? WHEN TESTING STOPS FROM MODULES TO OBJECTS WHAT IS A MODULE? COHESION 7 2 1 COINCIDENTAL COHESION 7 2 2 LOGICAL COHESION 7 2 3 TEMPORAL COHESION 7 2 4 PROCEDURAL COHESION 7 2 5 COMMUNICATIONAL COHESION 7 2 6 FUNCTIONAL COHESION 7 2 7 INFORMATIONAL COHESION 7 2 8 COHESION EXAMPLE COUPLING 7 3 1 CONTENT COUPLING 7 3 2 COMMON COUPLING 7 3 3 CONTROL COUPLING 7 3 4 STAMP COUPLING 7 3 5 DATA COUPLING 7 3 6 COUPLING EXAMPLE 7 3 7 THE IMPORTANCE OF COUPLING DATA ENCAPSULATION 7 4 1 DATA ENCAPSULATION AND DEVELOPMENT 7 4 2 DATA ENCAPSULATION AND MAINTENANCE ABSTRACT DATA TYPES INFORMATION HIDING OBJECTS INHERITANCE, POLYMORPHISM, AND DYNAMIC BINDING REUSABILITY AND PORTABILITY REUSE CONCEPTS IMPEDIMENTS TO REUSE REUSE CASE STUDIES 8 3 1 RAYTHEON MISSILE SYSTEMS DIVISION 8 3 2 EUROPEAN SPACE AGENCY OBJECTS AND REUSE REUSE DURING DESIGN AND IMPLEMENTATION 8 5 1 DESIGN REUSE 8 5 2 APPLICATION FRAMEWORKS 8 5 3 DESIGN PATTERNS 8 5 4 SOFTWARE ARCHITECTURE 8 5 5 COMPONENT-BASED SOFTWARE ENGINEERING MORE ON DESIGN PATTERNS 8 6 1 FLIC MINI CASE STUDY 8 6 2 ADAPTER DESIGN PATTERN 8 6 3 BRIDGE DESIGN PATTERN 8 6 4 ITERATOR DESIGN PATTERN 8 6 5 ABSTRACT FACTORY DESIGN PATTERN CATEGORIES OF DESIGN PATTERNS STRENGTHS AND WEAKNESSES OF DESIGN PATTERNS REUSE AND THE WORLD WIDE WEB REUSE AND POSTDELIVERY MAINTENANCE PORTABILITY 8 11 1 HARDWARE INCOMPATIBILITIES 8 11 2 OPERATING SYSTEM INCOMPATIBILITIES 8 11 3 NUMERICAL SOFTWARE INCOMPATIBILITIES 8 11 4 COMPILER INCOMPATIBILITIES WHY PORTABILITY? TECHNIQUES FOR ACHIEVING PORTABILITY 8 13 1 PORTABLE SYSTEM SOFTWARE 8 13 2 PORTABLE APPLICATION SOFTWARE 8 13 3 PORTABLE DATA 8 13 4 MODEL-DRIVEN ARCHITECTURE CHAPTER PLANNING AND ESTIMATING PLANNING AND THE SOFTWARE PROCESS ESTIMATING DURATION AND COST 9 2 1 METRICS FOR THE SIZE OF A PRODUCT 9 2 2 TECHNIQUES OF COST ESTIMATION 9 2 3 INTERMEDIATE COCOMO 9 2 4 COCOMO II 9 2 5 TRACKING DURATION AND COST ESTIMATES COMPONENTS OF A SOFTWARE PROJECT MANAGEMENT PLAN SOFTWARE PROJECT MANAGEMENT PLAN FRAMEWORK IEEE SOFTWARE PROJECT MANAGEMENT PLAN PLANNING TESTING PLANNING OBJECT-ORIENTED PROJECTS TRAINING REQUIREMENTS DOCUMENTATION STANDARDS CASE TOOLS FOR PLANNING AND ESTIMATING TESTING THE SOFTWARE PROJECT MANAGEMENT PLAN PART B THE WORKFLOWS OF THE SOFTWARE LIFE CYCLE KEY MATERIAL FROM PART A LEARNING OBJECTIVE SOFTWARE DEVELOPMENT: THEORY VERSUS PRACTICE WORK? OW OVERVIEW METRICS VERSIONS AND CON? GURATIONS TESTING TERMINOLOGY EXECUTION-BASED AND NON-EXECUTION- BASED TESTING MODULARITY REUSE SOFTWARE PROJECT MANAGEMENT PLAN REQUIREMENTS DETERMINING WHAT THE CLIENT NEEDS OVERVIEW OF THE REQUIREMENTS WORK? OW UNDERSTANDING THE DOMAIN THE BUSINESS MODEL 11 4 1 INTERVIEWING 11 4 2 OTHER TECHNIQUES 11 4 3 USE CASES INITIAL REQUIREMENTS INITIAL UNDERSTANDING OF THE DOMAIN: THE MSG FOUNDATION CASE STUDY INITIAL BUSINESS MODEL: THE MSG FOUNDATION CASE STUDY INITIAL REQUIREMENTS: THE MSG FOUNDATION CASE STUDY CONTINUING THE REQUIREMENTS WORK? OW: THE MSG FOUNDATION CASE STUDY REVISING THE REQUIREMENTS: THE MSG FOUNDATION CASE STUDY THE TEST WORK? OW: THE MSG FOUNDATION CASE STUDY THE CLASSICAL REQUIREMENTS PHASE RAPID PROTOTYPING HUMAN FACTORS REUSING THE RAPID PROTOTYPE CASE TOOLS FOR THE REQUIREMENTS WORK? OW METRICS FOR THE REQUIREMENTS WORK? OW CHALLENGES OF THE REQUIREMENTS WORK? OW CASE STUDY KEY TERMS CLASSICAL ANALYSIS THE SPECI? CATION DOCUMENT INFORMAL SPECI? CATIONS 12 2 1 CORRECTNESS PROOF MINI CASE STUDY REDUX STRUCTURED SYSTEMS ANALYSIS 12 3 1 SALLY’S SOFTWARE SHOP MINI CASE STUDY STRUCTURED SYSTEMS ANALYSIS: THE MSG FOUNDATION CASE STUDY OTHER SEMIFORMAL TECHNIQUES ENTITY-RELATIONSHIP MODELING FINITE STATE MACHINES 12 7 1 FINITE STATE MACHINES: THE ELEVATOR PROBLEM CASE STUDY PETRI NETS 12 8 1 PETRI NETS: THE ELEVATOR PROBLEM CASE STUDY 12 9 1 Z: THE ELEVATOR PROBLEM CASE STUDY 12 9 2 ANALYSIS OF Z OTHER FORMAL TECHNIQUES COMPARISON OF CLASSICAL ANALYSIS TECHNIQUES TESTING DURING CLASSICAL ANALYSIS CASE TOOLS FOR CLASSICAL ANALYSIS METRICS FOR CLASSICAL ANALYSIS SOFTWARE PROJECT MANAGEMENT PLAN: THE MSG FOUNDATION CASE STUDY CHALLENGES OF CLASSICAL ANALYSIS OBJECT-ORIENTED ANALYSIS EXTRACTING THE ENTITY CLASSES OBJECT-ORIENTED ANALYSIS: THE ELEVATOR PROBLEM CASE STUDY FUNCTIONAL MODELING: THE ELEVATOR PROBLEM CASE STUDY ENTITY CLASS MODELING: THE ELEVATOR PROBLEM CASE STUDY 13 5 1 NOUN EXTRACTION 13 5 2 CRC CARDS DYNAMIC MODELING: THE ELEVATOR PROBLEM CASE STUDY THE TEST WORK? OW: OBJECT-ORIENTED ANALYSIS EXTRACTING THE BOUNDARY AND CONTROL CLASSES THE INITIAL FUNCTIONAL MODEL: THE MSG FOUNDATION CASE STUDY THE INITIAL CLASS DIAGRAM: THE MSG FOUNDATION CASE STUDY THE INITIAL DYNAMIC MODEL: THE MSG FOUNDATION CASE STUDY REVISING THE ENTITY CLASSES: THE MSG FOUNDATION CASE STUDY EXTRACTING THE BOUNDARY CLASSES: THE MSG FOUNDATION CASE STUDY EXTRACTING THE CONTROL CLASSES: THE MSG FOUNDATION CASE STUDY USE-CASE REALIZATION: THE MSG FOUNDATION CASE STUDY 13 15 1 ESTIMATE FUNDS AVAILABLE FOR WEEK USE CASE 13 15 2 MANAGE AN ASSET USE CASE 13 15 3 UPDATE ESTIMATED ANNUAL OPERATING EXPENSES USE CASE 13 15 4 PRODUCE A REPORT USE CASE INCREMENTING THE CLASS DIAGRAM: THE MSG FOUNDATION CASE STUDY THE SPECI? CATION DOCUMENT IN THE UNI? ED PROCESS MORE ON ACTORS AND USE CASES CASE TOOLS FOR THE OBJECT-ORIENTED ANALYSIS WORK? OW METRICS FOR THE OBJECT-ORIENTED ANALYSIS WORK? OW CHALLENGES OF THE OBJECT-ORIENTED ANALYSIS WORK? OW DESIGN DESIGN AND ABSTRACTION OPERATION-ORIENTED DESIGN DATA FLOW ANALYSIS 14 3 1 MINI CASE STUDY WORD COUNTING 14 3 2 DATA FLOW ANALYSIS EXTENSIONS TRANSACTION ANALYSIS DATA-ORIENTED DESIGN OBJECT-ORIENTED DESIGN OBJECT-ORIENTED DESIGN: THE ELEVATOR PROBLEM CASE STUDY OBJECT-ORIENTED DESIGN: THE MSG FOUNDATION CASE STUDY THE TEST WORK? OW: DESIGN FORMAL TECHNIQUES FOR DETAILED DESIGN REAL-TIME DESIGN TECHNIQUES CASE TOOLS FOR DESIGN METRICS FOR DESIGN CHALLENGES OF THE DESIGN WORK? OW IMPLEMENTATION CHOICE OF PROGRAMMING LANGUAGE FOURTH-GENERATION LANGUAGES GOOD PROGRAMMING PRACTICE 15 3 1 USE OF CONSISTENT AND MEANINGFUL VARIABLE NAMES 15 3 2 THE ISSUE OF SELF-DOCUMENTING CODE 15 3 3 USE OF PARAMETERS 15 3 4 CODE LAYOUT FOR INCREASED READABILITY 15 3 5 NESTED IF STATEMENTS CODING STANDARDS CODE REUSE INTEGRATION 15 6 1 TOP-DOWN INTEGRATION 15 6 2 BOTTOM-UP INTEGRATION 15 6 3 SANDWICH INTEGRATION 15 6 4 INTEGRATION OF OBJECT-ORIENTED PRODUCTS 15 6 5 MANAGEMENT OF INTEGRATION THE IMPLEMENTATION WORK? OW: THE MSG FOUNDATION CASE STUDY THE TEST WORK? OW: IMPLEMENTATION TEST CASE SELECTION 15 10 1 TESTING TO SPECI? CATIONS VERSUS TESTING TO CODE 15 10 2 FEASIBILITY OF TESTING TO SPECI? CATIONS 15 10 3 FEASIBILITY OF TESTING TO CODE BLACK-BOX UNIT-TESTING TECHNIQUES 15 11 1 EQUIVALENCE TESTING AND BOUNDARY VALUE ANALYSIS 15 11 2 FUNCTIONAL TESTING BLACK-BOX TEST CASES: THE MSG FOUNDATION CASE STUDY GLASS-BOX UNIT-TESTING TECHNIQUES 15 13 1 STRUCTURAL TESTING: STATEMENT, BRANCH, AND PATH COVERAGE 15 13 2 COMPLEXITY METRICS CODE WALKTHROUGHS AND INSPECTIONS COMPARISON OF UNIT-TESTING TECHNIQUES CLEANROOM POTENTIAL PROBLEMS WHEN TESTING OBJECTS MANAGEMENT ASPECTS OF UNIT TESTING WHEN TO REIMPLEMENT RATHER THAN DEBUG A CODE ARTIFACT INTEGRATION TESTING PRODUCT TESTING ACCEPTANCE TESTING CASE TOOLS FOR IMPLEMENTATION 15 24 1 CASE TOOLS FOR THE COMPLETE SOFTWARE PROCESS 15 24 2 INTEGRATED DEVELOPMENT ENVIRONMENTS 15 24 3 ENVIRONMENTS FOR BUSINESS APPLICATIONS 15 24 4 PUBLIC TOOL INFRASTRUCTURES 15 24 5 POTENTIAL PROBLEMS WITH ENVIRONMENTS CASE TOOLS FOR THE TEST WORK? OW 15 26 METRICS FOR THE IMPLEMENTATION WORK? OW CHALLENGES OF THE IMPLEMENTATION WORK? OW DEVELOPMENT AND MAINTENANCE WHY POSTDELIVERY MAINTENANCE IS NECESSARY WHAT IS REQUIRED OF POSTDELIVERY MAINTENANCE PROGRAMMERS? POSTDELIVERY MAINTENANCE MINI CASE STUDY MANAGEMENT OF POSTDELIVERY MAINTENANCE 16 5 1 DEFECT REPORTS 16 5 2 AUTHORIZING CHANGES TO THE PRODUCT 16 5 3 ENSURING MAINTAINABILITY 16 5 4 PROBLEM OF REPEATED MAINTENANCE MAINTENANCE OF OBJECT-ORIENTED SOFTWARE POSTDELIVERY MAINTENANCE SKILLS VERSUS DEVELOPMENT SKILLS REVERSE ENGINEERING TESTING DURING POSTDELIVERY MAINTENANCE CASE TOOLS FOR POSTDELIVERY MAINTENANCE METRICS FOR POSTDELIVERY MAINTENANCE POSTDELIVERY MAINTENANCE: THE MSG FOUNDATION CASE STUDY CHALLENGES OF POSTDELIVERY MAINTENANCE MORE ON UML UML IS NOT A METHODOLOGY CLASS DIAGRAMS 17 2 1 AGGREGATION 17 2 2 MULTIPLICITY 17 2 3 COMPOSITION 17 2 4 GENERALIZATION 17 2 5 ASSOCIATION NOTES USE-CASE DIAGRAMS STEREOTYPES INTERACTION DIAGRAMS STATECHARTS ACTIVITY DIAGRAMS PACKAGES COMPONENT DIAGRAMS DEPLOYMENT DIAGRAMS REVIEW OF UML DIAGRAMS UML AND ITERATION EMERGING TECHNOLOGIES ASPECT-ORIENTED TECHNOLOGY MODEL-DRIVEN TECHNOLOGY COMPONENT-BASED TECHNOLOGY SERVICE-ORIENTED TECHNOLOGY COMPARISON OF SERVICE-ORIENTED AND COMPONENT-BASED TECHNOLOGY SOCIAL COMPUTING WEB ENGINEERING CLOUD TECHNOLOGY WEB 3 0 COMPUTER SECURITY MODEL CHECKING PRESENT AND FUTURE

ISBN978-93-7768-082-4
Copyright Year2027
Pages613
Price$275.99
LanguageEnglish
FormatPDF