1st Edition
Strategic Software Engineering An Interdisciplinary Approach
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.
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