Software Engineering A Methodical Approach 2nd Edition by Elvis Foster, Bradford Towle – Ebook PDF Instant Download/Delivery. 0367769433, 9780367769437
Full download Software Engineering A Methodical Approach 2nd Edition after payment
Product details:
ISBN 10: 0367769433
ISBN 13: 9780367769437
Author: Elvis C. Foster; Bradford A. Towle Jr.
Software Engineering A Methodical Approach 2nd Table of contents:
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.4.8 V-shaped 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.5 Data Flow Diagrams
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/Leadership 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 Servant Leadership
19.2.10 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
People also search for Software Engineering A Methodical Approach 2nd:
software engineering method
software engineering concepts and methodologies
software engineering a practitioner’s approach pressman
software engineering a practitioner’s approach 8th edition github