ABSTRACT

Software Engineering: A Methodical Approach (Second Edition) provides a comprehensive, but concise introduction to software engineering. It adopts a methodical approach to solving software engineering problems, proven over several years of teaching, with outstanding results. The book covers concepts, principles, design, construction, implementation, and management issues of software engineering. Each chapter is organized systematically into brief, reader-friendly sections, with itemization of the important points to be remembered. Diagrams and illustrations also sum up the salient points to enhance learning. Additionally, the book includes the author’s original methodologies that add clarity and creativity to the software engineering experience.

New in the Second Edition are chapters on software engineering projects, management support systems, software engineering frameworks and patterns as a significant building block for the design and construction of contemporary software systems, and emerging software engineering frontiers. The text starts with an introduction of software engineering and the role of the software engineer. The following chapters examine in-depth software analysis, design, development, implementation, and management. Covering object-oriented methodologies and the principles of object-oriented information engineering, the book reinforces an object-oriented approach to the early phases of the software development life cycle. It covers various diagramming techniques and emphasizes object classification and object behavior. The text features comprehensive treatments of:

  • Project management aids that are commonly used in software engineering
  • An overview of the software design phase, including a discussion of the software design process, design strategies, architectural design, interface design, database design, and design and development standards
  • User interface design
  • Operations design
  • Design considerations including system catalog, product documentation, user message management, design for real-time software, design for reuse, system security, and the agile effect
  • Human resource management from a software engineering perspective
  • Software economics
  • Software implementation issues that range from operating environments to the marketing of software
  • Software maintenance, legacy systems, and re-engineering

This textbook can be used as a one-semester or two-semester course in software engineering, augmented with an appropriate CASE or RAD tool. It emphasizes a practical, methodical approach to software engineering, avoiding an overkill of theoretical calculations where possible. The primary objective is to help students gain a solid grasp of the activities in the software development life cycle to be confident about taking on new software engineering projects.

part A|37 pages

Fundamentals

chapter Chapter 1|18 pages

Introduction to Software Engineering

chapter Chapter 2|17 pages

The Role of the Software Engineer

part B|152 pages

Software Investigation and Analysis

chapter Chapter 3|16 pages

Project Selection and the Initial System Requirements

chapter Chapter 4|16 pages

Overview of Fundamental Object-Oriented Methodologies

chapter Chapter 5|16 pages

Object-Oriented Information Engineering

chapter Chapter 6|8 pages

The Requirements Specification

chapter Chapter 7|20 pages

Information Gathering

chapter Chapter 8|22 pages

Communicating Via Diagrams

chapter Chapter 9|26 pages

More Diagramming

chapter Chapter 10|15 pages

Decision Models for System Logic

chapter Chapter 11|10 pages

Project Management Aids

part C|104 pages

Software Design

chapter Chapter 12|18 pages

Overview of Software Design

chapter Chapter 13|25 pages

Database Design

chapter Chapter 14|18 pages

User Interface Design

chapter Chapter 15|19 pages

Operations Design

chapter Chapter 16|14 pages

Other Design Considerations

chapter Chapter 17|6 pages

Putting the Pieces Together

part D|46 pages

Software Development

chapter Chapter 18|11 pages

Software Development Issues

chapter Chapter 19|16 pages

Human Resource Management

chapter Chapter 20|16 pages

Software Economics

part E|32 pages

Software Implementation and Management

chapter Chapter 21|9 pages

Software Implementation Issues

chapter Chapter 22|9 pages

Software Management

chapter Chapter 23|10 pages

Organizing for Effective Management

part F|70 pages

Advanced Software Engineering Concepts

chapter Chapter 25|16 pages

Software Architectures, Frameworks, and Patterns

chapter Chapter 26|14 pages

New Frontiers in Software Engineering