1st Edition

Strategic Software Engineering An Interdisciplinary Approach

    360 Pages 36 B/W Illustrations
    by Auerbach Publications

    The pervasiveness of software in business makes it crucial that software engineers and developers understand how software development impacts an entire organization. Strategic Software Engineering: An Interdisciplinary Approach presents software engineering as a strategic, business-oriented, interdisciplinary endeavor, rather than simply a technical process, as it has been described in previous publications.

    The book addresses technical, scientific, and management aspects of software development in a way that is accessible to a wide audience. It provides a detailed, critical review of software development models and processes, followed with a strategic assessment of how process models evolved over time and how to improve them. The authors then focus on the relation between problem-solving techniques and strategies for effectively confronting real-world business problems. They also analyze the impact of interdisciplinary factors on software development, including the role of people and business economics. The book concludes with a brief look at specialized system development.

    The diverse backgrounds of the authors, encompassing computer science, information systems, technology, and business management, help create this book's integrated approach, which answers the demand for a comprehensive, interdisciplinary outlook encompassing all facets of how software relates to an organization.

    THE PROCESS AND ITS MODELS
    Software Development Strategies: Basic Planning and
    Control
    Introduction
    Characteristics of Software Development Strategies
    Life Cycle Models
    Risk-Reduction Models

    Software Development Strategies: Tools, Objects, and
    Reuse
    Introduction
    CASE Tools
    Object-Oriented and Reuse Models

    Software Development Strategies: Process Improvement
    Introduction
    Productivity-Driven Dynamic Process Modeling
    Human Factors in Development Models
    The Capability Maturity Model
    Personal and Team Software Development Models

    Software Development Strategies-Reinventing How It Is
    Done
    Introduction
    Open Source Model
    Agile Software Development
    Rapid Application Development (RAD) Models
    Workflow Application Models
    Aspect-Oriented Development

    An Assessment of Process Life-Cycle Models
    Introduction
    The Dimension of Time
    The Need for a Business Model in Software Engineering
    Classic Invalid Assumptions
    Implications of the New Business Model
    Role of the Problem-Solving Process in This Approach
    Redefining the Software Engineering Process

    STRATEGIES FOR SOLVING SOFTWARE PROBLEMS
    The Problem-Solving Process
    Introduction
    What is a Problem?
    What is Problem Solving?
    What is a Solution?

    Software Technology and Problem Solving
    Introduction
    Software Technology as Enabling Business Tool-What
    Computers Can Do
    Software Technology as a Limited Business Tool-What
    Computers Cannot Do
    A View of Problem Solving and Software Engineering

    Evolution of Software Development Strategies
    Introduction
    Current Challenges to Software Development
    Competing Views of Software Development
    The Engineering of Software
    The Process and the Model
    Progression in Software Engineering Strategies

    Diversification of Problem-Solving Strategies in Software
    Engineering
    Introduction
    Understanding Diversification in Software Engineering
    The Hidden Value of Differences
    Integration-Not Differentiation
    Diversity in Problem Solver Skills at the Project Management
    Level
    Diversity as Value-Adding Tool in Problem Analysis

    Strategies at the Problem Engineering Level
    Introduction
    Identifying Interdisciplinary Resources and Comprehensive
    Problem Identification
    Data Collection Phase
    Data Processing Phase
    Information Presentation Phase
    Strategies in Software Engineering

    INTERDISCIPLINARY FACTORS IN SOFTWARE
    DEVELOPMENT
    People and Software Engineering
    Introduction
    Interdisciplinary Background
    The Importance of People in the Problem-Solving Process
    Human-Driven Software Engineering
    The People Factor-Multidisciplinary Aspects
    The Team Factor
    The Customer Factor

    Economics and Software Engineering
    Introduction
    Economics and the Development of Software
    The Rationale for Software Economics
    The Influence of Software Economics on Software
    Engineering
    Software Economics
    Risk and Return
    Traditional Software Economics
    Software Cost

    Specialized System Development
    Introduction
    Principles of Specialized System Development
    Application-Based Specialized Development

    Biography

    Fadi P. Deek, James A. M. McHugh, Osama M. Eljabiri