The New Software Engineering This Book Is Licensed Under a Creative Commons Attribution 3.0 License
Total Page:16
File Type:pdf, Size:1020Kb
The New Software Engineering This book is licensed under a Creative Commons Attribution 3.0 License The New Software Engineering Sue Conger Copyright © 2008 by Sue Conger For any questions about this text, please email: [email protected] The Global Text Project is funded by the Jacobs Foundation, Zurich, Switzerland This book is licensed under a Creative Commons Attribution 3.0 License This edition was scanned and converted to text using Optical Character Recognition. We are in the process of converting this edition into the Global Text Project standard format. When this is complete, a new edition will be posted on the Global Text Project website and will be available in a variety of formats upon request. The New Software Engineering 2 A Global Text ____ - THE NEW____________ - SOFTWARE -----____ - ENGINEERING--------------- __________- CONTENTS ____________~ ____-- CHAPTER 1 _____________________ Methodologies 34 OVERVIEW OF __________ Process Methodology 34 SOFTWARE ENGINEERING 1 _____ Data Methodology 34 Object-Oriented Methodology 35 Introduction 1 Semantic Methodologies 37 Software Engineering 2 No Methodology 38 Applications 5 User Involvement in Application Development 39 Application Characteristics 5 Overview of the Book 40 Application Responsiveness 13 Applications 40 Types of Applications 17 Project Life Cycles 40 Applications in Business 22 Part I: Preparation for Software Engineering 40 Project Life Cycles 23 Part II: Project Initiation 40 Sequential Project Life Cycle 23 Part III: Analysis and Design 41 Iterative Project Life Cycle 29 Part IV: Implementation and Operations 41 Learn-as-You-Go Project Life Cycle 31 Summary 41 PART 1 _____________________________________ PREPARATION FOR SOFTWARE ENGINEERING 45 _____ CHAPTER 2 ____________ CHAPTER 3 _____________ LEARNING APPLICATION _______ PROJECT MANAGEMENT 57 _____ DEVELOPMENT 46 _________ Introduction 57 Introduction 46 Complementary Activities 58 How We Develop Knowledge and Expertise 46 Project Planning 58 Learning 46 Assigning Staff to Tasks 62 Use of Learned Information 48 Selecting from Among Different Expert/Novice Differences in Problem Alternatives 64 Solving 48 Liaison 67 How to Ease Your Learning Process 50 Project Sponsor 67 Application Development Case 50 User 67 History of the Video Rental Business 51 IS Management 69 ABC Video Order Processing Task 51 Technical Staff 69 Discussion 53 Operations 69 Summary 54 Vendors 69 v vi Contents Other Project Teams and Departments 70 Completeness 86 Personnel Management 70 Ambiguity 86 Hiring 70 Semantics 86 Firing 71 Volume 86 Motivating 71 Data Collection Techniques 87 Career Path Planning 72 Single Interview 87 Training 72 Meetings 92 Evaluating 72 Observation 94 Monitor and Control 74 Temporary Job Assignment 95 Status Monitoring and Reporting 74 Questionnaire 95 Automated Support Tools for Project Document Review 97 Management 79 Software Review 98 Summary 80 Data Collection and Application Type 98 Data Collection Technique and Data Type 98 Data Type and Application Type 99 CHAPTER 4 ______________________ Data Collection Technique and Application DATA GATHERING FOR ____________ Type 101 APPLICATION DEVELOPMENT 83 _____ Professionalism and Ethics 102 Ethical Project Behavior 103 Introduction 83 Ethical Reasoning 106 Data Types 83 Summary 107 Time Orientation 84 Structure 84 I ____ PARTII ___________________________________ 111 ______________________________ I ____ PROJECT INITIATION CHAPTER 5 _____________________ Summary of the Architectures 125 ORGANIZATIONAL _________________ Translating Information into Architecture 128 REENGINEERING Architecture Analysis and Redesign 133 AND ENTERPRISE _________ Implementation Planning 140 PLANNING 113 __________ Enterprise Analysis Without Organization Design 143 Introduction 113 Automated Support Tools for Organizational Conceptual Foundations of Enterprise Reengineering and Enterprise Analysis 143 Reengineering 113 Summary 143 Planning Reengineering Projects 117 Reengineering Methodology 119 Identify Project Sponsor 120 CHAPTER 6 _____________________ Assign Staff 121 APPLICATION FEASIBILITY ___________ Scope the Project 122 ANALYSIS AND PLANNING 148 ______ Create a Schedule 123 Identify Mission Statement 124 Introduction 148 Gather Information 124 Definition of Feasibility Terms 148 Contents vii Feasibility Activities 150 Evaluate Financial Feasibility 187 Gather Information 150 Document the Recommendations 193 Develop Alternative Solutions 159 Automated Support Tools for Feasibility Evaluate Alternative Solutions 170 Analysis 194 Plan the Implementation 17'2 Summary 195 PART III _______________- ANALYSIS AND DESIGN 199 ____________ Introduction 199 Transform Analysis 295 Application Development as a Translation Complete the Structure Chart 303 Activity 202 Design the Physical Database 310 Organizational and Autom.ated Support 209 Design Program Packages 312 Joint Application Development 210 Specify Programs 317 User-Managed Application Development 216 Automated Support Tools for Process-Oriented Structured Walk-Throughs 217 Design 319 Data Administration 218 Strengths and Weaknesses of Process Analysis CASE Tools 222 and Design Methodologies 322 Summary 225 Summary 324 CHAPTER7 ______________________ CHAPTER 9 ___________ PROCESS-ORIENTED ____________ DATA-ORIENTED ANALYSIS 328 ___ ANALYSIS 227 _________________ Introduction 328 Introduction 227 Conceptual Foundations 329 Conceptual Foundations 227 Definition of Business Area Analysis Terms 329 Sum.mary of Structured Syst~ms Analysis Business Area Analysis Activities 339 Terms 228 Develop Entity-Relationsl1ip Diagram 339 Structured Systems Analysis Activities 231 Decompose Business Functions 356 Develop Context Diagrarp. 234 Develop Process Depen<~ency Diagram 363 Develop Data Flow Diagram 241 Develop process Data Flow Diagram 372 Develop Data Dictionary 261 Develop and Analyz,e Entity /process Automated S"!lpport Tools 270 Matrix 381 Summary 270 Software Support for Data-Oriented Analysis 387 Summary 387 CHAPTER 8 _____________ PROCESS-ORIENTED DESIGN 279 ___ CHAPTER 10 __________________ DATA-ORIENTED DESIGN 391 ____ Introduction 279 Conceptual Foundations 279 Introduction 391 Definition of Structured Design Terms 280 Conceptual Foundations 391 Process Design Activities 293 Definition of Information Engineerfng Design Transaction Analysis 294 Terms 392 viii Contents Information Engineering Design 401 What We Know and Don't Know from OOA Analyze Data Use and Distribution 401 and OOD 534 Define Security, Recovery, and Audit Automated Support Tools for Object-Oriented Controls 410 Design 534 Develop Action Diagram 424 Summary 535 Define Menu Structure and Dialogue Flow 438 Appendix: Unix/C++ Design of ABC Rental 539 Plan Hardware and Software Installation and Testing 445 Automated Support Tools for Data-Oriented CHAPTER13_~ _________ Design 453 SUMMARY AND FUTURE _______ Summary 456 OF SYSTEMS ANALYSIS, _______ DESIGN, AND ___________ METHODOLOGIES 554 _______ CHAPTER11 ___________ Introduction 554 OBJECT-ORIENTED ANALYSIS 459 ____ Comparison of Methodologies 554 Introduction 459 Information Systems Methodologies Framework Conceptual Foundations of Object-Oriented for Understanding 555 Analysis 459 Humphrey's Maturity Framework 562 Definition of Object-Oriented Terms 461 Comparison of Automated Support Object-Oriented Analysis Activities 463 Environments 565 Develop Summary Paragraph 464 Research Relating to Analysis, Design, and Identify Objects of Interest 468 Methodologies 568 Identify Processes 473 Business and Technology Trends that Impact Define Attributes of Objects 479 Application Development 569 Define Attributes of Processes 483 Legacy Systems; 570 Perform Class Analysis 486 Repositories and Data Warehouses 570 Draw State-Transition Diagram 492 Client/Server 571 Automated Support Tools for Object-Oriented Multimedia 572 Analysis 497 Globalization 572 Summary 497 Summary 574 CHAPTER 12 ___________ CHAPTER 14 ___________ OBJECT-ORIENTED DESIGN 501 ___ FORGOTIEN ACTIVITIES 579 ____ Introduction 501 Introduction 579 Conceptual Foundations 501 Human Interface Design 579 Definition of Object-Oriented Design Terms 502 Conceptual Foundations of Interface Object-Oriented Design Activities 508 Design 579 Allocate Objects to Four Sub domains 509 Develop a Task Profile 580 Draw Time-Order Event Diagram 512 Option Selection 590 Determine Service Objects 517 Functional Screen Design 601 Develop Booch Diagram 521 Presentation Format Design 605 Define Message Communications 525 Field Format Design 620 Develop Process Diagram 529 Conversion 625 Develop Package Specifications and Identify Current and Future Data Prototype 533 Locations 626 Contents ix Define Attribute Edit and Validate Criteria 627 User Documentation 631 Define Data Conversion Activities and Mix of On-Line and Manual Timing 627 Documentation 631 Select and Plan an Application Conversion Automated Support Tools for Forgotten Strategy 627 Activities 632 ABC Conversion Strategy 629 Summary 633 PARTIV __________________________________ IMPLEMENTATION AND MAINTENANCE 637 ______ Introduction 637 CHAPTER16 ______________~---- PURCHASING ______________ HARDWARE ___________ CHAPTER15 ____________________ AND SOFTWARE 666 ________ CHOOSING AN __________ IMPLEMENTATION ________________ Introduction 666 LANGUAGE 640 ________________ Request for Proposal Process 667 Develop and Prioritize Requirements 667 Introduction 640 Develop Schedule and Cost 667 Characteristics of Languages 640 Develop Request for Proposal 668 Data Types 640 Manage Proposal Process 669 Data