دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: [2 ed.] نویسندگان: Elvis C. Towle Jr., Bradford A. Foster سری: ISBN (شابک) : 9780367746018, 0367746018 ناشر: CRC Press سال نشر: 2021 تعداد صفحات: [579] زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 77 Mb
در صورت تبدیل فایل کتاب Software Engineering: A Methodical Approach به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب مهندسی نرم افزار: رویکردی روشمند نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Cover Half Title Title Page Copyright Page Brief Contents Table of Contents Preface Acknowledgements Part A: Fundamentals Chapter 1: Introduction to Software Engineering 1.1 Definitions and Concepts 1.1.1 System 1.1.2 Software and Software Engineering 1.2 The Organization as a System 1.3 Information Levels in the Organization 1.3.1 Top Management 1.3.2 Middle Management 1.3.3 Junior Management and Operational Staff 1.3.4 Importance of Information Levels in Software Engineering 1.3.5 Alternate Organizational Settings 1.4 Software Life Cycle 1.4.1 Waterfall Model 1.4.2 Phased Prototype Model 1.4.3 Iterative Development Model 1.4.4 Rapid Prototype Model 1.4.5 Formal Transformation Model 1.4.6 Components-Based Model 1.4.7 Agile Development Model 1.5 Categories of Software 1.6 Alternate Software Acquisition Approaches 1.7 Software Engineering Paradigms 1.8 Desirable Features of Computer Software 1.9 The Software Engineering Dilemma 1.10 Summary and Concluding Remarks 1.11 Review Questions References and Recommended Readings Chapter 2: The Role of the Software Engineer 2.1 Historical Role 2.2 Modern Role of the Software Engineer 2.3 Job Description of the Software Engineer 2.3.1 Core Functions of the Software Engineer 2.3.2 Desirable Qualities of the Software Engineer 2.4 Tools Used by the Software Engineer 2.4.1 Coding Systems 2.4.1.1 Desirable Features of a Coding System 2.4.1.2 Types of Coding Systems 2.4.2 Forms Design 2.4.3 Data Analysis Charts 2.4.4 Technical Documents and Modeling Techniques 2.4.5 Software Planning and Development Tools 2.4.6 Object-Oriented Programming Languages 2.5 Management Issues with Which the Software Engineer Must Be Familiar 2.6 Summary and Concluding Remarks 2.7 Review Questions References and Recommended Readings Part B: Software Investigation and Analysis Chapter 3: Project Selection and the Initial System Requirements 3.1 Project Selection 3.2 Problem Definition 3.2.1 Constraints of a System 3.2.2 Aid in Identifying System Problems 3.2.3 Identifying the System Void 3.3 The Proposed Solution 3.4 Scope and Objectives of the System 3.5 System Justification 3.6 Feasibility Analysis Report 3.6.1 Technical Feasibility 3.6.2 Economic Feasibility 3.6.3 Operational Feasibility 3.6.4 Evaluation of System Alternatives 3.6.4.1 Evaluation Based on Quality 3.6.4.2 Evaluation Based on Cost 3.6.4.3 Putting the Pieces Together 3.7 Alternate Approach to the Feasibility Analysis 3.8 Summary of System Inputs and Outputs 3.9 Initial Project Schedule 3.10 Project Team 3.11 Summary and Concluding Remarks 3.12 Review Questions References and Recommended Readings Chapter 4: Overview of Fundamental Object-Oriented Methodologies 4.1 Software Revolution and Rationale for Object-Oriented Techniques 4.2 Information Engineering and the Object-Oriented Approach 4.3 Integrating Hi-tech Technologies 4.4 Characteristics of Object-Oriented Methodologies 4.5 Benefits of Object-Oriented Methodologies 4.6 Objects and Object Types 4.7 Operations 4.8 Methods 4.9 Encapsulation and Classes 4.9.1 Encapsulation 4.9.2 Class 4.10 Inheritance and Amalgamation 4.10.1 Inheritance 4.10.2 Amalgamation 4.11 Requests 4.12 Polymorphism and Reusability 4.13 Interfaces 4.14 Late Binding 4.15 Multithreading 4.16 Perception versus Reality 4.17 Overview of the Object-Oriented Software Engineering Process 4.18 Summary and Concluding Remarks 4.19 Review Questions Sources and Recommended Readings Chapter 5: Object-Oriented Information Engineering 5.1 Introduction 5.2 Engineering the Infrastructure 5.3 Diagramming Techniques 5.4 Enterprise Planning 5.5 Business Area Analysis 5.6 Software System Design 5.7 Software System Construction 5.8 Summary and Concluding Remarks 5.9 Review Questions References and/or Recommended Reading Chapter 6: The Requirements Specification 6.1 Introduction 6.2 Contents of the Requirements Specification 6.3 Documenting the Requirements 6.4 Requirements Validation 6.5 How to Proceed 6.6 Presentation of the Requirements Specification 6.7 The Agile Approach 6.8 Summary and Concluding Remarks 6.9 Review Questions References and Recommended Readings Chapter 7: Information Gathering 7.1 Rationale for Information Gathering 7.2 Interviewing 7.2.1 Steps in Planning the Interview 7.2.2 Basic Guidelines for Interviews 7.3 Questionnaires and Surveys 7.3.1 Guidelines for Questionnaires 7.3.2 Using Scales in Questionnaires 7.3.3 Administering the Questionnaire 7.4 Sampling and Experimenting 7.4.1 Probability Sampling Techniques 7.4.2 Non-Probability Sampling Techniques 7.4.3 Sample Calculations 7.5 Observation and Document Review 7.6 Prototyping 7.7 Brainstorming and Mathematical Proof 7.8 Object Identification 7.8.1 The Descriptive Narrative Approach 7.8.2 The Rule-of-Thumb Approach 7.8.3 Using Things to be Modeled 7.8.4 Using the Definitions of Objects, Categories, and Interfaces 7.8.5 Using Decomposition 7.8.6 Using Generalizations and Subclasses 7.8.7 Using OO Domain Analysis or Application Framework 7.8.8 Reusing Hierarchies, Individual Objects, and Classes 7.8.9 Using Personal Experience 7.8.10 Using the Class-Responsibility-Collaboration Method 7.9 End-User Involvement 7.10 Summary and Concluding Remarks 7.11 Review Questions References and Recommended Readings Chapter 8: Communicating Via Diagrams 8.1 Introduction 8.2 Traditional System Flowcharts 8.2.1 Information-Oriented Flowchart 8.2.2 Process-Oriented Flow Chart 8.2.3 Hierarchy- Input–Process-Output Chart 8.3 Procedure Analysis Chart 8.4 Innovation: Topology Charts 8.4.1 Information Topology Chart 8.4.2 User Interface Topology Chart 8.6 Object Flow Diagram 8.7 Other Contemporary Diagramming Techniques 8.7.1 State Transition Diagram 8.7.2 Finite State Machine 8.8 Program Flowchart 8.9 Summary and Concluding Remarks 8.10 Review Questions References and Recommended Readings Chapter 9: More Diagramming 9.1 Introduction 9.2 The Unified Modeling Language—A Cursory Introduction 9.3 Object-Relationship Diagrams—A Cursory Introduction 9.4 Fern Diagram 9.5 Representing Details about Object Types 9.5.1 Object Structure Diagram 9.5.2 CRC Card 9.6 Avoiding Multiple Inheritance Relationships 9.6.1 Delegation Using Aggregation 9.6.2 Delegation and Inheritance 9.6.3 Nested Generalization 9.7 Top-Down versus Bottom-Up 9.7.1 Top-Down Approach 9.7.2 Bottom-Up Approach 9.8 Use-Cases 9.8.1 Symbols Used in Use-case 9.8.2 Types of Use-cases 9.8.3 Information Conveyed by a Use-case 9.8.4 Bundling Use-cases and Putting Them to Use 9.9 Event Diagrams 9.9.1 Basic Event Diagrams 9.9.2 Event Types 9.10 Triggers 9.11 Activity Diagrams 9.12 Sequence Diagrams and Collaboration Diagrams 9.13 Summary and Concluding Remarks 9.14 Review Questions References and Recommended Reading Chapter 10: Decision Models for System Logic 10.1 Structured Language 10.2 Decision Tables 10.2.1 Constructing the Decision Table 10.2.2 Analyzing and Refining the Decision Table 10.2.3 Extended-Entry Decision Table 10.3 Decision Trees 10.4 Which Technique to Use 10.5 Decision Techniques versus Flowcharts 10.6 System Rules 10.6.1 Rule Definition 10.6.2 Declarative versus Procedural Statements 10.6.3 Types of Rules 10.7 Summary and Concluding Remarks 10.8 Review Questions References and/or Recommended Readings Chapter 11: Project Management Aids 11.1 PERT and CPM 11.1.1 Step 1: Tabulate the Project Activities 11.1.2 Step 2: Draw the PERT Diagram 11.1.3 Step 3: Determine ES, EF, LS, and LF for Each Activity 11.1.4 Step 4: Determine the Critical Path 11.1.5 Step 5: Conduct a Sensitivity Analysis 11.2 The Gantt Chart 11.3 Project Management Software 11.4 Summary and Concluding Remarks 11.5 Review Questions References and Recommended Readings Part C: Software Design Chapter 12: Overview of Software Design 12.1 The Software Design Process 12.2 Design Strategies 12.2.1 Function-Oriented Design 12.2.2 Object-Oriented Design 12.2.3 Advantages of Object-Oriented Design 12.2.4 Using Both FO and OO Strategies 12.3 Architectural Design 12.3.1 Approaches to Resource Sharing 12.3.1.1 Repository Model 12.3.1.2 Client-Server Model 12.3.1.3 Abstract Machine Model 12.3.1.4 Component Model 12.3.2 System Controls 12.4 Integration/Interface Design 12.5 Software Design and Development Standards 12.5.1 Advantages of Software Standards 12.5.2 Issues That Software Standards Should Address 12.6 The Design Specification 12.6.1 Contents of the Design Specification 12.6.2 How to Proceed 12.7 Summary and Concluding Remarks 12.8 Review Questions References and Recommended Readings Chapter 13: Database Design 13.1 Introduction 13.2 Approaches to Database Design 13.2.1 Conventional Files 13.2.2 Database Approach 13.2.3 Identifying and Defining Entities or Object Types 13.2.4 Identifying Relationships 13.2.5 Developing the ERD or ORD 13.2.6 Implementing Relationships 13.2.7 Preparing the Database Specification 13.3 Overview of File Organization 13.3.1 Sequential File Organization 13.3.2 Relative or Direct File Organization 13.3.3 Indexed Sequential File Organization 13.3.4 Multi-Access File Organization 13.4 Summary and Concluding Remarks 13.5 Review Questions References and Recommended Readings Chapter 14: User Interface Design 14.1 Fundamental Concepts 14.1.1 User Needs 14.1.2 Human Factors 14.1.3 Design Considerations 14.1.4 User Interface Preparation 14.2 Types of User Interfaces 14.3 Steps in User Interface Design 14.3.1 Menu or Graphical User Interface 14.3.2 Command-Based User Interface 14.4 Overview of Output Design 14.5 Output Methods versus Content and Technology 14.5.1 Printed Output 14.5.2 Monitor Display 14.5.3 Audio Output 14.5.4 Microfilm/Microfiche 14.5.5 Magnetic and Optical Storage 14.5.6 Choosing the Appropriate Output Method 14.6 Guidelines for Designing Output 14.6.1 Guidelines for Designing Printed Output 14.6.2 Guidelines for Designing Screen Output 14.7 Overview of Input Design 14.8 Guidelines for Designing Input 14.9 Summary and Concluding Remarks 14.10 Review Questions References and Recommended Reading Chapter 15: Operations Design 15.1 Introduction 15.2 Categorization of Operations 15.3 Essentials of Operations Design 15.4 Informal Methods for Specifying Operation Requirements 15.4.1 Traditional Methods 15.4.2 Warnier Orr Diagram 15.4.3 UML Notations for Object Behavior 15.4.4 Extended Operation Specification 15.5 Formal Specifications 15.6 Summary and Concluding Remarks 15.7 Review Questions References and Recommended Reading Chapter 16: Other Design Considerations 16.1 The System Catalog 16.1.1 Contents of the System Catalog 16.1.2 Building the System Catalog 16.1.3 Using the System Catalog 16.2 Product Documentation 16.2.1 The System Help Facility 16.2.1.1 Structure of the Help System 16.2.1.2 Content of the Help System 16.2.2 The User’s Guide and System Guide 16.3 User Message Management 16.3.1 Storage and Management of Messages 16.3.2 Message Retrieval 16.4 Design for Real-Time Systems 16.4.1 Real-Time System Modeling 16.4.2 Real-Time Programming 16.5 Design for Reuse 16.6 System Security 16.6.1 Access to the System 16.6.2 Access to System Resources 16.6.3 Access to System Data 16.7 The Agile Effect 16.8 Summary and Concluding Remarks 16.9 Review Questions References and Recommended Readings Chapter 17: Putting the Pieces Together 17.1 How a Software Engineering Project Begins 17.2 The First Deliverable 17.3 The Second Deliverable 17.4 The Third Deliverable 17.5 Other Subsequent Deliverables 17.6 Summary and Concluding Remarks 17.7 Review Questions Part D: Software Development Chapter 18: Software Development Issues 18.1 Introduction 18.2 Standards and Quality Assurance 18.2.1 The Relationship between Quality and Standards 18.2.2 Software Quality Factors 18.2.3 Quality Assurance Evaluation 18.3 Management of Targets and Financial Resources 18.3.1 Managing Budget and Expenditure 18.3.1.1 Budget Preparation 18.3.1.2 Budget Monitoring 18.3.2 Managing Software Cost and Value 18.4 Leadership and Motivation 18.5 Planning of Implementation Strategy 18.6 Summary and Concluding Remarks 18.7 Review Questions References and Recommended Readings Chapter 19: Human Resource Management 19.1 Management Responsibilities 19.2 Management Styles 19.2.1 Autocratic Management 19.2.2 Egalitarian (Democratic) Management 19.2.3 Laissez Faire Management 19.2.4 Path-Goal Leadership 19.2.5 Transformational Leadership 19.2.6 The Super Leader Approach 19.2.7 Task-Oriented Leadership 19.2.8 Relations-Oriented Leadership 19.2.9 Contingency Leadership 19.3 Developing Job Descriptions 19.4 Hiring 19.5 Maintaining the Desired Environment 19.5.1 Effective Communication 19.5.2 Conflict Resolution 19.5.3 Treating Outstanding Achievements and Errant Actions 19.6 Preserving Accountability 19.6.1 Designing and Assigning Work 19.6.2 Evaluating Performance 19.7 Grooming and Succession Planning 19.8 Summary and Concluding Remarks 19.9 Review Questions References and Recommended Reading Chapter 20: Software Economics 20.1 Software Cost versus Software Price 20.1.1 Software Cost 20.1.2 Software Price 20.2 Software Value 20.3 Evaluating Software Productivity 20.3.1 Size-related Metrics 20.3.2 Function-related Metrics 20.3.3 Assessment Based on Value Added 20.4 Estimation Techniques for Engineering Cost 20.4.1 Algorithmic Cost Models 20.4.2 The COCOMO Model 20.4.3 The COCOMO II Model 20.4.3.1 Application Composition Model 20.4.3.2 Early Design Model 20.4.3.3 Post-Architecture Model 20.5 Summary and Concluding Remarks 20.6 Review Questions References and Recommended Reading Part E: Software Implementation and Management Chapter 21: Software Implementation Issues 21.1 Introduction 21.2 Operating Environment 21.2.1 Central System 21.2.2 Distributed System 21.2.3 Other Environmental Issues 21.3 Installation of the System 21.4 Code Conversion 21.5 Change Over 21.5.1 Direct Change Over 21.5.2 Parallel Conversion 21.5.3 Phased Conversion 21.5.4 Distributed Conversion 21.6 Training 21.7 Marketing of the Software 21.8 Summary and Concluding Remarks 21.9 Review Questions Recommended Readings Chapter 22: Software Management 22.1 Introduction 22.2 Software Maintenance 22.2.1 Software Modifications 22.2.2 Software Upgrades and Patches 22.2.3 Maintenance Cost 22.3 Legacy Systems 22.4 Software Integration 22.5 Software Re-engineering 22.6 Summary and Concluding Remarks 22.7 Review Questions References and/or Recommended Readings Chapter 23: Organizing for Effective Management 23.1 Introduction 23.2 Functional Organization 23.3 Parallel Organization 23.4 Hybrid (Matrix) Organization 23.5 Organization of Software Engineering Firms 23.6 Summary and Concluding Remarks 23.7 Review Questions References and/or Recommended Readings Part F: Advanced Software Engineering Concepts Chapter 24: Using Database Systems to Anchor Management Support Systems 24.1 Overview of Management Support Systems 24.2 Building System Security through Database Design 24.3 Case Study: Dynamic Menu Interface Designer 24.3.1 Database Requirements of the DMID 24.3.2 Overview of the DMID’s User Interface Requirements 24.3.3 Management of System Constraints via the DMID 24.3.4 Access to System Resources 24.3.5 Usefulness and Applicability of the DMID 24.4 Selected MSS Project Ideas 24.4.1 Electoral Management System 24.4.2 Health Information Management System 24.4.3 Strategic Education Management System 24.4.4 Flight Information Management System 24.4.5 Financial Information Management System 24.4.6 Disease Recognition System 24.4.7 Cognitive Leadership Analysis System 24.4.8 Financial Status Assessment System 24.4.9 College/University Administrative Information System 24.5 Summary and Concluding Remarks 24.6 Review Questions References and/or Recommended Readings Chapter 25: Software Architectures, Frameworks, and Patterns 25.1 Software Architecture Tools 25.1.1 Structural Frameworks 25.1.2 Layered Architecture 25.1.3 Hierarchical Architecture 25.1.4 Publish/Subscribe Architecture 25.2 Software Frameworks 25.2.1 Structural Frameworks 25.2.2 Augmenting Functionality of Existing Language 25.2.3 Making Existing Functionality Easier 25.3 The Model-View-Controller Framework 25.3.1 Properties of the MVC Framework 25.3.2 Benefits of the MVC Framework 25.4 Software Patterns 25.4.1 Creational Patterns 25.4.2 Structural Patterns 25.4.3 Concurrency Patterns 25.4.4 Behavioral Patterns 25.5 Summary and Concluding Remarks 25.6 Review Questions References and/or Recommended Readings Chapter 26: New Frontiers in Software Engineering 26.1 Empirical Software Engineering 26.1.1 Rationale for Empirical Software Engineering 26.1.2 Approaches to Empirical Software Engineering 26.2 Data Science 26.2.1 Big Data 26.2.2 Data Warehousing 26.2.3 Data Mining 26.3 Bioinformatics 26.4 Machine Learning 26.4.1 Different Algorithms Used in Machine Learning 26.4.2 Machine Learning Today 26.5 Game Design 26.5.1 The Peculiar Problem of Game Design 26.5.2 Challenges of Integrating Software Engineering with Game Design 26.6 Augmented and Virtual Reality 26.6.1 What is Virtual Reality? 26.6.2 What is Augmented Reality? 26.6.3 Difference between Virtual Reality and Augmented Reality; Future Expectations 26.7 Internet of Things 26.7.1 What is the Internet of Things? 26.7.2 Adapting Software Engineering Techniques to Handle Networking from the Start 26.8 Cloud Computing 26.9 Summary and Concluding Remarks 26.10 Review Questions References and/or Recommended Readings Part G: Appendices Appendix A: Project Proposal for a Generic Inventory Management System A.1 Problem Definition A.2 Proposed Solution A.3 Scope of the System A.4 System Objectives A.5 Expected Benefits A.6 Overview of Storage Requirements A.7 Anticipated Outputs A.8 Feasibility Analysis Report A.8.1 Feasibility of Alternative A A.8.2 Feasibility of Alternative B A.8.3 Feasibility of Alternative C A.8.4 Feasibility of Alternative D A.8.5 Evaluation of Alternatives A.9 Initial Project Schedule Appendix B: Requirements Specification for a Generic Inventory Management System B.1 System Overview B.1.1 Problem Definition B.1.2 Proposed Solution B.1.3 System Architecture B.2 Storage Requirements B.2.1 Acquisitions Management Subsystem B.2.2 Financial Management Subsystem B.3 Operational Requirements B.4 System Rules B.4.1 Data Integrity Rules B.4.2 Procedural and Derivation Rules B.5 Summary and Concluding Remarks Appendix C: Design Specification for a Generic Inventory Management System C.1 System Overview C.1.1 Problem Definition C.1.2 Proposed Solution C.1.3 System Architecture C.2 Database Specification C.2.1 Introduction C.2.2 Acquisitions Management Subsystem C.2.3 Financial Management Subsystem C.2.4 Systems Control Subsystem C.3 User Interface Specification C.3.1 User Interface Topology C.3.2 Utility Operations C.3.3 Message Specification C.3.4 Help Specification C.4 Operations Specification C.4.1 System Rules C.4.2 Procedural and Derivation Rules C.4.3 Generic Pseudo-codes C.4.4 Acquisitions Management Subsystem C.4.5 Financial Management Subsystem C.4.6 System Controls Subsystem C.5 Summary and Concluding Remarks Index