
Fundamentals of Software Engineering
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions
Content
- Cover Page
- Title Page
- Copyright Page
- Dedication
- About the Authors
- Acknowledgement
- Preface
- Errata
- Table of Contents
- 1. Introductory Concepts of Software Engineering
- Objective
- Introduction
- Definition
- Evolution and Impact of SE
- Software Engineering Process
- Software Engineering
- Levels of Software Process
- Importance of SW Project Construction
- Problems in System Development
- Solutions to the Problems
- Qualities of the Software
- System Analysis and Design
- System Analysis
- System Architecture and Design
- Summary
- Questions and Answers
- Exercises
- 2. Modelling Software Development Life Cycle
- Objectives
- System Analysis and Design
- Data and Process
- Process oriented approach
- Data oriented approach
- Types of Systems and System Developments
- Transaction processing system
- Management information system
- Decision support system
- Expert system
- Overview of SDLC
- Brief Description on Different Phases
- Feasibility study
- Requirement analysis and design
- Coding
- Testing
- Maintenance
- Types of Models
- The Iterative Waterfall Model
- The V-process Model
- The Spiral Model
- Software Prototyping
- Incremental Approach
- Evolutionary Model
- The Importance of Metaphors
- Summary
- Questions and Answers
- Exercises
- 3. Software Requirement Analysis and Specification
- Objectives
- Introduction To Software Requirement
- Requirement Engineering
- Software Requirements Specification
- Software Requirement Definition
- Software Requirement Specification
- Software Requirement Collection
- Traditional Methods for System Requirements
- Interviewing and listening
- Questionnaires
- Modern Methods for System Requirements
- CASE tools in JAD
- GSS with JAD
- Prototyping for system requirement
- Radical Methods for System Requirement
- Principles of Re-engineering
- Software Requirement Classification
- Functional Requirements
- Performance Requirements
- Design Requirements
- Derived Requirements
- Allocated Requirements
- Software Requirement Analysis
- Software Requirement Documentation
- Architecture/Design Documentation
- Technical Documentation
- User Documentation
- Summary
- Questions and Answers
- Exercises
- 4. Software Project Management Framework
- Objectives
- Project Definition
- Project Management
- Scope Management
- Scope planning
- Scope definition
- Create work breakdown structure (WBS)
- Scope verification
- Scope control
- Time Management
- Activity definition
- Activity sequencing
- Activity resource estimation
- Precedence Diagramming Method (PDM)
- Arrow Diagram Method
- Activity duration estimating
- Cost Management
- Software Measurement
- Empirical Cost Estimation
- Heuristic Cost Estimation
- Basic COCOMO
- Intermediate COCOMO
- Effort Adjustment Factors
- Advanced COCOMO
- Analytical Cost Estimation
- Resource and Schedule Estimates
- Human Resource Management
- Communication Management
- Risk Management
- Project Planning
- Steps in Project Planning
- Project size estimates
- Function Point Analysis
- Equivalent LOC of FP
- Projects as Proxies
- Feature Point Analysis
- Mythical Man-Month
- Project Scheduling through PERT/CPM
- Origin and Use of PERT
- Origin and Use of CPM
- Application of PERT and CPM
- Project network
- Mathematical Programming Method
- Diagram representation
- Critical path
- Solution by Network Analysis
- Critical Path Method (CPM)
- Time-Cost Curve
- PERT (Program Evaluation and Review Technique)
- Mathematical Programming Method
- Gantt Chart
- Points to be Remembered
- Summary
- Questions and Answers
- Exercise
- 5. Software Project Analysis and Design
- Objectives
- Introduction
- Design Considerations
- Levels of Design
- Low Level Design versus High Level Design
- Software Design Methodologies
- Function-Oriented Design
- Object-Oriented Design
- Coupling and Cohesion
- Cohesion
- Functional cohesion
- Sequential cohesion
- Communicational cohesion
- Procedural cohesion
- Temporal cohesion
- Logical cohesion
- Coincidental cohesion
- Coupling
- Data coupling
- Stamp coupling
- Control coupling
- Common coupling
- Content coupling
- Software Design Approach
- Top-Down Design
- Bottom-Up Design
- Software Specification Tools
- Decision Support Tools
- Decision table
- Decision tree
- Structured english
- Data Structure
- Data Dictionary
- Format of a data dictionary
- Data Flow Diagram
- Symbols used in DFDs
- Construction of DFD
- Developing zero level data flow diagram
- Explanation of 1st level DFD for payroll system
- Data Flow Oriented Design
- Transaction Centered Design
- Transform centered design
- Case Studies
- Reservation System
- Inventory Control
- Summary
- Questions and Answers
- Exercises
- 6. Object Oriented Analysis and Design
- Objective
- Introduction
- The Unified Modeling Language
- Object orientation
- Class
- Object Oriented Paradigm
- Abstraction
- Encapsulation
- Inheritance
- Polymorphism
- Messages
- Association
- Aggregation
- Object Oriented Analysis
- Object Oriented Design
- Object oriented software development
- Object Analysis
- Object Design
- Object-Oriented Entity-Relationship Model
- Object Implementation
- Unified Development Process
- Object Modeling using UML
- Modeling Using UML
- Perform the Detailed Design
- Static and Dynamic Modeling
- Dynamic Modeling: The State chart
- Dynamic Modeling: Sequence Diagram
- Use Case Diagram
- Use-case modeling
- Class Diagram
- Class Modeling
- Case study of an elevator
- Entity class modeling
- Complete class diagram
- State-Chart Diagram
- State diagram
- Interaction diagram / sequence diagram
- Collaboration diagram/ communication diagram
- Communication diagram
- What is a communication diagram?
- Activity diagram
- Component diagram
- Deployment diagram
- A Conceptual Sample Project
- Summary
- Questions and Answers
- Exercise
- Minicase
- 7. Designing Interfaces & Dialogues and Database Design
- Objectives
- User Interface Design
- Process of Designing Interfaces and Dialogues
- Deliverables and Outcomes
- Interaction Methods and Devices
- Command Language Interaction
- Menu Interaction
- Form Interaction
- Object-Based Interaction
- Natural Language Interaction
- Hardware Option for System Interaction
- Interface Design
- Structuring Data Entry
- Controlling Input Data
- Providing Feedback
- Providing Help
- Controlling User Access
- Database Design
- Database Models
- Hierarchal model
- Network model
- Relational model
- Entity Relationship Diagram
- Data Normalization
- Summary
- Exercises
- 8. Coding and Debugging
- Objectives
- Introduction
- Programming Language Characteristics
- Fundamentals of Computer Language
- Computer Languages
- Categories of Computer Languages
- Some Important Languages
- Coding Style
- Coding Quality
- Art of Debugging
- Traditional Debugging
- Modern Debugging
- Debugging Process
- Information Gathering
- Fault Isolation
- Fault Confirmation
- Documentation
- Fixing the Fault
- Test after Correction
- Debugging Tools
- Summary
- Questions and Answers
- Exercise
- 9. Software Testing
- Objective
- Introduction
- Test Plan
- Inspections
- Walkthrough
- Desk Checking
- Unit Testing
- Integration Testing
- Top-down approach
- Bottom-up approach
- Big-bang approach
- Mixed approach
- System Testing
- Alpha testing
- Beta testing
- Stub testing
- Acceptance Testing
- Static Testing
- Dynamic Testing
- Black-Box Testing
- Feasibility of black-box
- Black-box unit-testing techniques
- Equivalence testing and boundary value analysis
- Functional testing
- White-Box Testing
- Feasibility of white-box testing (testing to code)
- White-box unit-testing techniques
- Structural testing: Statement, branch, and path coverage
- Complexity Metrics
- Various Testing Strategies
- The Nature of Test Data
- The Test Strategy
- Activity network for system testing
- Prepare test strategies
- Prepare test plan
- Specify conditions for user acceptance testing
- Prepare test data for program testing
- Prepare test data for transition path testing
- Plan for user training
- Compile/assemble program
- Prepare job performance aids
- Prepare operational documents
- Guidelines For Module Testing
- Conclusion
- Questions and Answers
- Exercise
- 10. System Implementation and Maintenance
- Objectives
- Introduction
- Implementation Procedures
- Equipment Installation
- Training the Personnel
- Conversion from Manual to Computerized System
- Implementation Techniques
- Traditional Approach
- Incremental Approach
- System Acceptance
- System Evaluation & Performance
- System Acceptance Criteria
- Maintenance, Reliability, and Availability
- Maintenance
- Characteristics
- Types of Software Maintenance
- Maintenance Tasks
- Side Effects
- Measuring Maintenance Effectiveness
- Reverse Engineering
- Reengineerinmg
- Business Process Reengineering
- Questions and Answers
- Exercise
- 11. Reliability
- Objectives
- Introduction
- The Myth of Stable Requirements
- Concepts
- Errors
- Error Tolerance
- Error Processing
- System Faults
- Fault Tolerance
- Reliability Models
- Reliability Systems
- Availability
- Questions and Answers
- Exercise
- 12. Software Quality
- Objective
- Concept
- Software Qualities
- Metrics
- A Software Quality Engineering Program
- Tools and Techniques
- Characteristics of Software Quality
- Techniques for Improving Software Quality
- Software Quality Assurance (SQA)
- QA in Software Development and Maintenance Processes
- QA in the Waterfall Process
- ISO-9001
- History of ISO 9000
- ISO 9000
- Requirements of ISO 9001
- ISO 9000:1987 Version
- ISO 9000:1994 Version
- ISO 9000:2000 Version
- ISO 9000:2008 Version
- Certification
- Auditing
- Advantages
- Problems
- Quality Planning for Software
- Contract Review
- Software Development And Design
- Software Development
- Software Design
- Design and Development Planning
- Software Design and Development Planning
- Software Design Input
- Design Output
- Software Design Output
- Design Review
- Design Verification
- Design Validation
- Document and Data Control
- SEI CMM
- CMM
- Maturity Model
- Structure of CMM
- Levels of the CMM
- Six Sigmas in Software Engineering
- Six Sigma Dimensions
- Mission/Policy
- Goal
- Objectives
- Organization
- Methodology
- Promises
- Conclusion
- Questions and Answers
- Exercise
- 13. CASE and Reuse
- Introduction
- Objective
- Taxonomy of CASE tools
- Components of CASE
- CASE Documentation Generator Tools
- CASE Code Generator Tools
- Integrated CASE Environment
- The Integration Architecture
- The CASE Repository
- The Role of the Repository in I-CASE
- Advantages & Disadvantages of CASE Tools
- Component Model of Software Development
- Current Component Technologies
- Life Cycle of Component-Based Software Systems
- Software Reuse
- Software Reuse Assets
- Usage of Software Reuse
- Why Software Reuse Has Failed Historically
- Impediments to Reuse
- Strive for Successful Systematic Reuse
- Types of reuse
- Conclusion
- Questions and Answers
- Exercises
- 14. Recent Trends and Development in Software Engineering
- Introduction
- Current Trends in Software Engineering
- Adopting SE trends in Artificial Intelligence
- Software Engineering Trends
- Knowledge Based SE verses Application of Inductive Methods in Software Engineering
- Research Advancement in SE
- Automated Software Engineering
- Hypertext Support for Software Maintenance (Hyper Soft)
- Program Slicing (GRACE)
- Open Source Software Maintenance Support (ASLA)
- Symbolic Evaluation for Program Comprehension Support (SwMaster)
- Data Mining
- Empirical Software Engineering
- Evaluation of Software Modernizations (ELTIS)
- Software Inspections
- Software Metrics
- Software Maintenance Education
- Decision Making Support
- Data Modelling
- The Essential Objective of Utilizing Data Models are:
- Types of Data Models:
- Conceptual Model
- Attributes of a Reasonable Information Display:
- Logical Data Model
- Attributes of a Logical Information Display
- Physical Data Model
- Qualities of a Physical Information Display
- Advantages and Disadvantages of Data Model
- Ontology
- Tools for Ontology Development
- Protégé
- DUET
- XPetal
- Visual ontology modeler (VOM)
- Data Mining in Software Engineering
- Some Facts
- Conclusion
- 15. Model Questions with Answers
- Short Questions with Answers
- Essay Type Questions (in Brief)
- Model Test Papers
- Question Paper 1
- Question Paper 2
- Question Paper 3
- Question Paper 4
- Question Paper 5
- Question Paper 6
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.