Introduction to Software Engineering

Published:
Author(s):
Request
Evaluation Copy

Purchasing Options

Hardback
$115.95
Add to cart
ISBN 9780849314452
Cat# 1445
 

Features

  • Uses a concise format that facilitates student learning
  • Offers progressive coverage of the stages of software development
  • Uses a hybrid approach, combining classical and object-oriented technologies
  • Addresses project management to familiarize readers with the environment faced in the professional work force
  • Establishes a systematic framework for hands-on learning using many examples of actual software industry practice
  • Summary

    Software engineering lies at the heart of the computer revolution. Software is used in automobiles, airplanes, and many home appliances. As the boundaries between the telecommunications, entertainment, and computer industries continue to blur in multimedia and networking, the need for software will only increase, and software will become increasingly complex. Introduction to Software Engineering gives your students the fundamentals of this growing and rapidly changing field.

    The book highlights the goals of software engineering, namely to write programs that have all the following attributes: efficient, reliable, usable, modifiable, portable, testable, reusable, maintainable, compatible and correct. The nine chapters cover topics that include project management, defining requirements, software design, coding, testing and integration, delivery and installation, documentation, maintenance, and research issues.

    The author uses a hybrid approach, combining object-oriented technology and classical programming techniques to solve computing problems. He also places a strong emphasis on Internet technology and resources. A simple, but non-trivial, running example illustrates all stages of the software engineering process. In addition, where applicable, he covers the impact of Internet technology.

    Introduction to Software Engineering presents the basics of software engineering in a concise and direct format. With emphasis on Internet technology, software tools for programming, and hands-on learning, this book effectively prepares students to move from an educational situation towards applying their knowledge to the complex projects faced in the professional arena.



    Features

    Table of Contents

    INTRODUCTION
    The Need for Software Engineering
    Are Software Teams Really Necessary?
    Software Engineering
    Software Lifecycles
    Different Views of Software Engineering Activities
    Software Engineering as an Emerging Discipline
    Some Techniques of Software Engineering
    Standards Commonly Used for Software Development Processes
    The Year 2000 Problem and Similar Problems
    Organization of the Book
    PROJECT MANAGEMENT
    Sub-Teams Needed in Software Engineering Projects
    The Nature of Project Teams
    Project Management
    Software Project Estimation
    Project Scheduling
    Project Measurement
    Project Management Tools
    The Role of Networks in Project Management
    Groupware
    An Example: Project Management for a Year 2000 Conversion Project
    REQUIREMENTS
    Some Problems with Requirements Determination
    Requirements Elicitation
    Requirements Traceability
    Software Architectures and Requirements
    Reengineering System Requirements
    Assessment of Feasibility of System Requirements
    Usability Requirements
    Specifying Requirements Using State Diagrams and Decision Tables
    Specifying Requirements Using Petri Nets
    Ethical Issues
    Some Metrics for Requirements
    The Requirements Review
    The Major Project - Problem Statement
    The Major Project - Requirements Elicitation
    The Major Software Project - Requirements Analysis
    SOFTWARE DESIGN
    Introduction
    Software Design Patterns
    Introduction to Software Design Representations
    Procedurally-Oriented Design Representations
    Software Architectures
    Software Design Principles for Procedurally-Oriented Programs
    What is an Object?
    Object-Oriented Design Representations
    Software Design Principles for Object-Oriented Programs
    Class Design Issues
    An Example of Class Development - The String Class
    User Interfaces
    Software Interfaces
    Some Metrics for Design
    Design Reviews
    A Manager's Viewpoint of Design
    Architecture of the Major Software Engineering Project
    Preliminary Design of the Major Software Project
    Subsystem Design of the Major Software Project
    Detailed Design for the Major Software Project
    CODING
    The Choice of Programming Language
    Coding Styles
    Coding Standards
    Coding, Design, Requirements, and Change
    Some Coding Metrics
    Coding Reviews and Inspections
    Configuration Management
    A Management Perspective on Coding
    Coding of the Major Software Project
    TESTING AND INTEGRATION
    Types of Software Testing
    Black-Box Module Testing
    White-Box Module Testing
    Reducing the Number of Test Cases by Effective Test Strategies
    Testing Objects for Encapsulation and Completeness
    Testing Objects with Inheritance
    General Testing Issues for Object-Oriented Software
    Test Plans
    Software Integration
    Managing Change in the Integration Process
    Performance and Stress Testing
    Quality Assurance
    Software Reliability
    A Manager's Viewpoint on Testing and Integration
    Testing the Major Software Project
    Integrating the Major Software Project
    DELIVERY, INSTALLATION, AND DOCUMENTATION
    Delivery
    Installation
    Internal Documentation
    External Documentation
    Design Rationales
    Installation, User, Training, and Operations Manuals
    On-Line Documentation
    Reading Levels
    A Manager's View of Delivery, Installation, and Documentation
    Delivery, Installation, and Documentation of the Major Software Project
    MAINTENANCE
    Introduction
    Corrective Software Maintenance
    Adaptive Software Maintenance
    Preventative Software Maintenance and the Year 2000 Problem
    How to Read Requirements, Designs, and Source Code
    A Manager's Perspective on Software Maintenance
    Maintenance of the Major Software Project
    RESEARCH ISSUES IN SOFTWARE ENGINEERING
    Some Important Research Problems in Software Engineering
    How to Read the Software Engineering Research Literature
    APPENDIX: COMMAND-LINE ARGUMENTS
    REFERENCES

    Editorial Reviews

    "The approach is practical throughout, with heavy emphasis on team projects, using the Internet as a resource, with discussion of tools in common use."
    -Software Quality Professional, Vol. 3, Issue 4, September, 2001


    Promo Copy

    Related Titles