2nd Edition

Software Engineering A Methodical Approach, 2nd Edition

By Elvis Foster, Bradford Towle Jr. Copyright 2021
    578 Pages 232 B/W Illustrations
    by Auerbach Publications

    578 Pages 232 B/W Illustrations
    by Auerbach Publications

    578 Pages 232 B/W Illustrations
    by Auerbach Publications

    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. Fundamentals
    Chapter 1. Introduction to Software Engineering
    Chapter 2. The Role of the Software Engineer

    Part B. Software Investigation and Analysis
    Chapter 3. Project Selection and Initial System Requirement
    Chapter 4. Overview of Fundamental Object-Oriented Methodologies
    Chapter 5. Object-Oriented Information Engineering
    Chapter 6. The Requirements Specification
    Chapter 7. Information Gathering
    Chapter 8. Communication Via Diagrams
    Chapter 9. More Diagramming
    Chapter 10. Decision Models for System Logic
    Chapter 11. Project Management Aids

    Part C. Software Design
    Chapter 12. Overview of Software Design
    Chapter 13. Database Design
    Chapter 14. User Interface Design
    Chapter 15. Operations Design
    Chapter 16. Other Design Considerations
    Chapter 17. Putting the Pieces Together

    Part D. Software Development
    Chapter 18. Software Development Issues
    Chapter 19. Human Resource Management
    Chapter 20. Software Economics

    Part E. Software Implementation and Management
    Chapter 21. Software Implementation Issues
    Chapter 22. Software Management
    Chapter 23. Organizing for Effective Management

    Part F. Advanced Software Engineering Concepts
    Chapter 24. Using Database Systems to Anchor Management Support Systems
    Chapter 25. Software Architectures, Frameworks, and Patterns
    Chapter 26. New Frontiers in Software Engineering

    Part G. Appendices
    Appendix A. Project Proposal for a Generic Inventory Management System
    Appendix B. Requirements Specification for a Generic Inventory Management System
    Appendix D. Design Specification for a Generic Inventory Management System


    Elvis C. Foster is Professor of Computer Science at Keene State College. He holds a Bachelor of Science (BS.) in Computer Science and Electronics, as well as a Doctor of Philosophy (PhD) in Computer Science (specializing in software engineering and database systems) from University of the West Indies, Mona Jamaica. His research interests include the development as well as evaluation of management support systems for contemporary organizations.

    Bradford A. Towle, Jr. is an Assistant Professor of Computer Science at Florida Polytechnic University and is the interim-department chair. He holds a Bachelor of Science degree (BS) in Computer Engineering from Montana State University, Master of Science (MS), and Doctor of Philosophy (Ph.D.) in Computer Science and Engineering from the University of Nevada, Reno (specializing in artificial intelligence and robotics).