TIENE EN SU CESTA DE LA COMPRA
en total 0,00 €
The best way to learn software engineering is by understanding its core and peripheral areas. Foundations of Software Engineering provides in-depth coverage of the areas of software engineering that are essential for becoming proficient in the field. The book devotes a complete chapter to each of the core areas. Several peripheral areas are also explained by assigning a separate chapter to each of them.
Rather than using UML or other formal notations, the content in this book is explained in easy-to-understand language. Basic programming knowledge using an object-oriented language is helpful to understand the material in this book. The knowledge gained from this book can be readily used in other relevant courses or in real-world software development environments.
This textbook educates students in software engineering principles. It covers almost all facets of software engineering, including requirement engineering, system specifications, system modeling, system architecture, system implementation, and system testing. Emphasizing practical issues, such as feasibility studies, this book explains how to add and develop software requirements to evolve software systems.
This book was written after receiving feedback from several professors and software engineers. What resulted is a textbook on software engineering that not only covers the theory of software engineering but also presents real-world insights to aid students in proper implementation.
Students learn key concepts through carefully explained and illustrated theories, as well as concrete examples and a complete case study using Java. Source code is also available on the book's website. The examples and case studies increase in complexity as the book progresses to help students build a practical understanding of the required theories and applications.
Table of Contents
Introduction to Software Engineering
Introduction
Components of a Computer
Building the Software Products
What Is Software Engineering?
Why Software Engineering?
Challenges in Software Engineering
Project Management and Software Engineering
Costs Involved in Software Development
Methodologies Used for Software Development
Some Careers in Software Engineering
Software Industry Size
Code of Ethics
Book Organization
Chapter Summary
Recommended Reading
Software Engineering Methodologies
Introduction
Why a Methodology?
Agile Methodologies
Waterfall Model
Rational Unified Process
Spiral Model
Incremental Iteration Model
eXtreme Programming
Scrum
Methodology for Implementing SaaS Products
Methodology for Implementing COTS Products
A Discussion on the Usage of Software Development Models
Popular Process Standards
Process Standards and Software Engineering Methodologies
Software Process Activities
Chapter Summary
Recommended Reading
Feasibility Study
Introduction
Feasibility Study for Software Projects
Finding the Economic Feasibility of Requirements
Finding the Technical Feasibility of Requirements
Prototyping
Pilot Projects
Chapter Summary
Recommended Reading
Software Requirement Specifications
Introduction
Software Engineering Methodologies and Requirement Management
Implementation of the Requirements 6
Requirement Types
Sources of Requirements
Categories of Users
Software Requirement Life Cycle
Requirement Gathering (Elicitation)
Requirement Analysis
Requirement Specification
Requirement Management
Case Study
Chapter Summary
Recommended Reading
Software High-Level Design and Modeling
Introduction
Methodology Used
How to Reduce Complexity in Software Design
Logical Design for Software Architecture
Architecture Design Patterns
Client-Server Architecture
Web-Based Architecture
Service-Oriented Architecture
Software Component Design Fundamentals
Component Diagrams
Data Flow Diagram
Software Design Patterns
Programming Language Considerations
Types of Programming Languages: A Brief Review
Security
Performance
Case Study
Chapter Summary
Recommended Reading
Software User Interface Design and Construction
Introduction
Graphical User Interface
Graphic Control Elements
Hyper Text Markup Language
Cascading Style Sheets
Client-Side Scripting
Asynchronous JavaScript and XML
Simple (Model-View) User Interface
Model-View-Controller
Case Study
Chapter Summary
Recommended Reading
Software Middle Layer Design and Construction
Introduction
Software Design and Implementation and Software Engineering Methodology
Procedural Programming: A Brief Introduction
Object-Oriented Programming
Basics of Programming Languages
Variables and Variable Types
Operators
Decision Trees and Loops
Methods
Classes
Objects and Object-Oriented Programming Packages
Database Programming
Model-View-Controller Revisited
Refactoring
Client-Side and Server-Side Scripts
Debugging
Case Study
Chapter Summary
Recommended Reading
Database Design and Construction
Introduction
Databases and Software Engineering Methodologies
Database Types
Database Languages
Database Entities
Database Design
Database Management Systems
Object Relational Databases
Case Study
Chapter Summary
Recommended Reading
Software Testing (Verification and Validation)
Introduction
Software Testing and Software Engineering Methodologies
Introduction to Different Types of Software Testing
Introduction to Verification and Validation
Introduction to Levels of Software Testing (Validation)
Verification
Unit Testing
Integration Testing
System Testing
User Acceptance Testing
Other Important Tests
Test Case Design
Test Preparation
Test Life Cycle
Case Study
Chapter Summary
Recommended Reading
Software Release
Introduction
Software Release and Software Engineering Methodology
Integration
Documentation
Release Cycles
User Training
Deployment
Software Migration Strategies
Software Product Release Checklist
Chapter Summary
Recommended Reading
Software Maintenance
Introduction
Software Maintenance and Software Engineering Methodology
Production Environment Maintenance
Production Environment Monitoring
Maintenance Process
Types of Software Maintenance
Software Maintenance Strategies
Reverse Engineering
Chapter Summary
Recommended Reading
Configuration and Version Management
Introduction
Configuration Management and Version Control Concepts
CVS Systems
Chapter Summary
Recommended Reading
Software Project Management
Introduction
Project Management and Software Engineering Methodologies
Project Planning
Project Monitoring and Controlling
Project Team Management
Project Customer Management
Supplier