rent-now

Rent More, Save More! Use code: ECRENTAL

5% off 1 book, 7% off 2 books, 10% off 3+ books

9780849339394

Strategic Software Engineering: An Interdisciplinary Approach

by ;
  • ISBN13:

    9780849339394

  • ISBN10:

    0849339391

  • Edition: 1st
  • Format: Hardcover
  • Copyright: 2005-05-26
  • Publisher: Auerbach Public

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $135.00 Save up to $38.81
  • Rent Book $96.19
    Add to Cart Free Shipping Icon Free Shipping

    TERM
    PRICE
    DUE
    USUALLY SHIPS IN 3-5 BUSINESS DAYS
    *This item is part of an exclusive publisher rental program and requires an additional convenience fee. This fee will be reflected in the shopping cart.

How To: Textbook Rental

Looking to rent a book? Rent Strategic Software Engineering: An Interdisciplinary Approach [ISBN: 9780849339394] for the semester, quarter, and short term or search our site for other textbooks by Deek; Fadi P.. Renting a textbook can save you up to 90% from the cost of buying.

Summary

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.

Table of Contents

Dedication xi
Preface xiii
Introduction xv
About the Authors xxv
Section I The Process and Its Models
1(124)
Software Development Strategies: Basic Planning and Control
3(36)
Introduction
3(3)
Characteristics of Software Development Strategies
6(5)
Life-Cycle Models
11(9)
The Waterfall Model
11(4)
Incremental and Iterative Models
15(5)
Risk-Reduction Models
20(19)
The Prototyping Model
20(5)
The Spiral Model
25(6)
The Cleanroom Model
31(4)
References
35(4)
Software Development Strategies: Tools, Objects, and Reuse
39(26)
Introduction
39(1)
Case Tools
39(4)
Object-Oriented and Reuse Models
43(22)
Object-Oriented Models
44(3)
Rational Unified Process Model (RUP)
47(4)
Commercial Off-the-Shelf Model (COTS)
51(7)
The Reengineering Model
58(4)
References
62(3)
Software Development Strategies: Process Improvement
65(22)
Introduction
65(1)
Productivity-Driven Dynamic Process Modeling
66(2)
Human Factors in Development Models
68(7)
The Capability Maturity Model
75(4)
Personal and Team Software Development Models
79(8)
References
83(4)
Software Development Strategies: Reinventing How It Is Done
87(18)
Introduction
87(1)
Open Source Model
88(2)
Agile Software Development
90(4)
Rapid Application Development (RAD) Models
94(3)
Workflow Application Models
97(4)
Aspect-Oriented Development
101(4)
References
103(2)
An Assessment of Process Life-Cycle Models
105(20)
Introduction
105(6)
The Dimension of Time
111(1)
The Need for a Business Model in Software Engineering
112(1)
Classic Invalid Assumptions
113(3)
First Assumption: Internal or External Drivers
113(1)
Second Assumption: Software or Business Processes
114(1)
Third Assumption: Processes or Projects
114(1)
Fourth Assumption: Process Centered or Architecture Centered
115(1)
Implications of the New Business Model
116(1)
Role of the Problem-Solving Process in This Approach
117(2)
Data
117(1)
Problem Definition
118(1)
Tools and Capabilities
118(1)
Redefining the Software Engineering Process
119(6)
Round-Trip Problem-Solving Approach
120(1)
Activities
120(1)
Goals
121(1)
Interdisciplinary Resources
121(1)
Time
121(2)
References
123(2)
Section II Strategies for Solving Software Problems
125(102)
The Problem-Solving Process
127(28)
Introduction
127(4)
What Is a Problem?
131(5)
Problems of Meeting Standards
134(1)
Problems of Selection between Alternatives
135(1)
Problems of Customer Satisfaction
135(1)
Problems of Goal Achievement
136(1)
Problems of Goal Evolution
136(1)
What Is Problem Solving?
136(12)
Models of Problem Solving
137(2)
Commonalities in Problem-Solving Models
139(3)
Complex Management-Driven Strategies
142(1)
Problem Reduction (Decomposition)
142(1)
Reusable Subproblems and Solutions
142(1)
Problem Expansion (Composition)
143(1)
Problem Misrepresentation
144(1)
Strategies Driven by Task Structuring
145(1)
Linear Problem-Solving Strategies
146(1)
Iterative Problem-Solving Strategies
146(1)
Parallel Problem-Solving Strategies
147(1)
Dynamic Problem-Solving Strategy
147(1)
Capabilities-Driven Strategies
147(1)
What Is a Solution?
148(7)
Problems and Solutions in Context of the Old Business Environment
148(3)
Problems and Solutions in Context of the Information Age
151(1)
References
152(3)
Software Technology and Problem Solving
155(18)
Introduction
155(2)
Software Technology as Enabling Business Tool---What Computers Can Do
157(4)
Exponential Growth in Capability
157(1)
Business Problem-Solving Optimization
157(1)
The E-Business Revolution
158(2)
Portability Power
160(1)
Connectivity Power
161(1)
Software Technology as a Limited Business Tool---What Computers Cannot Do
161(8)
People Have Different Needs That Change over Time
162(1)
Most Users Do not Understand Computer Languages
162(1)
Decisions and Problems---Complex and Ill Structured
163(1)
Businesses View Software Technology as a Black Box for Creating Economic Value
164(4)
Computers Cannot Work without People
168(1)
A View of Problem Solving and Software Engineering
169(4)
References
171(2)
Evolution of Software Development Strategies
173(16)
Introduction
173(1)
Current Challenges to Software Development
174(1)
Competing Views of Software Development
175(2)
The Engineering of Software
177(1)
The Process and the Model
178(3)
Progression in Software Engineering Strategies
181(8)
The Era of Management Isolation
181(1)
The Era of Traditional Software Engineering
182(1)
The Era of Business Evaluation of Software Engineering
183(1)
Maturity Era: the Era of Business-Driven Software Engineering
184(1)
Characteristics of Current Software Development
185(2)
References
187(2)
Diversification of Problem-Solving Strategies in Software Engineering
189(20)
Introduction
189(2)
Understanding Diversification in Software Engineering
191(5)
Driving Forces of Diversity in Development Strategies
191(5)
The Hidden Value of Differences
196(1)
Integration---Not Differentiation
197(6)
Investing in Diversification
198(1)
Factors That Affect Interdisciplinary Ignorance
198(1)
Unreliable Sources of Information
198(1)
Partial Knowledge
199(1)
Lack of Communication
200(1)
Interorganizational Ignorance
200(3)
Diversity in Problem Solver Skills at the Project Management Level
203(1)
Diversity as Value-Adding Tool in Problem Analysis
204(5)
References
206(3)
Strategies at the Problem Engineering Level
209(18)
Introduction
209(1)
Identifying Interdisciplinary Resources and Comprehensive Problem Identification
210(2)
The Reverse Engineering Method
210(1)
The Problem Decomposition Method
211(1)
Data Collection Phase
212(8)
Generate Stakeholders
212(1)
Interdisciplinary Perspective
213(1)
Rationale for Change
213(1)
Interdisciplinary Perspective
214(1)
The Measurement of Risks of Change
214(1)
Interdisciplinary Perspective
215(1)
Thorough Diagnosis
215(1)
Interdisciplinary Perspective
216(1)
Survey for Benchmarking and Setting Evaluation Criteria
216(1)
Initial Functional Requirements
216(1)
Interdisciplinary Perspective
217(1)
Initial Nonfunctional Requirements
218(1)
Interdisciplinary Perspective
218(1)
Tools Identification and Allocation
219(1)
Interdisciplinary Perspective
219(1)
Data-Processing Phase
220(2)
Validation and Verification Subphase
221(1)
Interdisciplinary Perspective
221(1)
Refinement Subphase
221(1)
Interdisciplinary Perspective
221(1)
Data Mining Subphase
222(1)
Interdisciplinary Perspective
222(1)
Information Presentation Phase
222(1)
Strategies in Software Engineering
223(4)
References
225(2)
Section III Interdisciplinary Factors in Software Development
227(66)
People and Software Engineering
229(14)
Introduction
229(1)
Interdisciplinary Background
230(1)
The Importance of People in the Problem-Solving Process
231(2)
The Roles of Users in Problem Definition
231(2)
Human-Driven Software Engineering
233(1)
The People Factor---Multidisciplinary Aspects
234(5)
People as Project Managers
235(4)
The Team Factor
239(1)
The Customer Factor
240(3)
References
241(2)
Economics and Software Engineering
243(24)
Introduction
243(1)
Economics and the Development of Software
244(2)
The Rationale for Software Economics
246(1)
The Influence of Software Economics on Software Engineering
247(2)
Software Economics
249(3)
Value Maximization
249(2)
Evaluating Investment Options
251(1)
Projects with Equal Risks
251(1)
Projects with Different Risks
252(1)
Risk and Return
252(2)
Traditional Software Economics
254(1)
Problems with Conventional Software Economics
254(1)
Software Cost
254(13)
Cost Estimation
255(10)
References
265(2)
Specialized System Development
267(26)
Introduction
267(1)
Principles of Specialized System Development
268(6)
The Roots of Specialized System Development
269(1)
Domain-Dependent Era: Before Software Development Methodology
269(1)
Domain-Independent Era: Early Software Development Methodology
270(1)
Generic Applications Era: Methodology-Intensive Software Development
270(1)
Return to Application-Focused Development Era: Software Development Postmethodology
271(1)
Generic versus Specialized Development
271(1)
The Problem-Solving Context in Specialized System Development
272(1)
Characteristics of System
273(1)
Characteristics of Expected Users
274(1)
Solution-Driven Capabilities, Experience and Knowledge
274(1)
Application-Based Specialized Development
274(19)
Pervasive Software Development
274(1)
Real-Time Software Development
275(3)
Web-Based Software Development
278(1)
E-business Software Systems
278(4)
Object-Oriented Development for Web Applications
282(1)
Customizable Web Applications
282(1)
Security-Driven Software Development
282(1)
Security-Driven Requirements Analysis
283(4)
Security-Driven Systems Design
287(3)
References
290(3)
Glossary 293(22)
Index 315

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program