Muutke küpsiste eelistusi

Real-Time Agility: The Harmony/ESW Method for Real-Time and Embedded Systems Development [Pehme köide]

  • Formaat: Paperback / softback, 560 pages, kõrgus x laius x paksus: 236x179x30 mm, kaal: 920 g
  • Ilmumisaeg: 25-Jun-2009
  • Kirjastus: Addison-Wesley Educational Publishers Inc
  • ISBN-10: 0321545494
  • ISBN-13: 9780321545497
Teised raamatud teemal:
  • Formaat: Paperback / softback, 560 pages, kõrgus x laius x paksus: 236x179x30 mm, kaal: 920 g
  • Ilmumisaeg: 25-Jun-2009
  • Kirjastus: Addison-Wesley Educational Publishers Inc
  • ISBN-10: 0321545494
  • ISBN-13: 9780321545497
Teised raamatud teemal:
Real-time and embedded systems face the same development challenges as traditional software: shrinking budgets and shorter timeframes. However, these systems can be even more difficult to successfully develop due to additional requirements for timeliness, safety, reliability, minimal resource use, and, in some cases, the need to support rigorous industry standards.

 

In Real-Time Agility, leading embedded-systems consultant Bruce Powel Douglass reveals how to leverage the best practices of agile development to address all these challenges. Bruce introduces the Harmony/ESW process: a proven, start-to-finish approach to software development that can reduce costs, save time, and eliminate potential defects.

 

Replete with examples, this book provides an ideal tutorial in agile methods for real-time and embedded-systems developers. It also serves as an invaluable in the heat of battle reference guide for developers working to advance projects, both large and small.

 

Coverage includes





How Model-Driven Development (MDD) and agile methods work synergistically The Harmony/ESW process, including roles, workflows, tasks, and work products Phases in the Harmony/ESW microcycle and their implementation Initiating a real-time agile project, including the artifacts you may (or may not) need Agile analysis, including the iteration plan, clarifying requirements, and validation The three levels of agile design: architectural, mechanistic, and detailed Continuous integration strategies and end-of-the-microcycle validation testing How Harmony/ESWs agile process self-optimizes by identifying and managing issues related to schedule, architecture, risks, workflows, and the process itself

 

Arvustused

Regardless of your perceptions of Agile, this is a must read! Douglasss book is a powerful and practical guide to a well-defined process that will enable engineers to confidently navigate the complexity, risk, and variability of real-time and embedded systemsincluding CMMI compliance. From requirements specification to product delivery, whatever your modeling and development environment, this is the instruction manual.

Mark Scoville, software architect

 

This book will provide you with the framework of agile development for real-time projects ranging from embedded systems to web-based, data collection applications. I wish I had this book three years ago when we began a real-time, embedded drilling control system project, but all my engineers will be getting copies now that it is available. And, for my academic colleagues, this is the perfect book for graduate seminars in applied software development techniques.

Don Shafer, chief technology officer, Athens Group; adjunct professor, Cockrell School of Engineering, The University of Texas at Austin

 

We have used Dr. Douglasss books on real-time (Doing Hard Time, Real-Time UML, and Real-Time Design Patterns) for years. His books are always informative, accessible, and entertaining. Real-Time Agility continues that tradition, and I cant wait to introduce it to my colleagues.

Chris Talbott, principal software designer

 

Until now, agile software development has been mostly applied within the IT domain. This book breaks new ground by showing how to successfully traverse the perceived chasm between agility and real-time development. Although embedded systems impose challenging constraints on development teams, you can always benefit from increasing your agility.

Scott W. Ambler, chief methodologist/Agile, IBM Rational; author of Agile Modeling

Foreword xvii
Preface xix
Acknowledgments xxv
About the Author xxvii
Introduction to Agile and Real-Time Concepts
1(32)
The Agile Manifesto
1(2)
Why Agile?
3(5)
Properties of Real-Time Embedded Systems
8(6)
Benefits of Agile Methods
14(11)
Rapid Learning
15(1)
Early Return on Investment
16(3)
Satisfied Stakeholders
19(1)
Improved Control
20(1)
Responsiveness to Change
21(3)
Earlier and Greater Reduction in Project Risk
24(1)
Efficient High-Quality Development
25(1)
Agile Methods and Traditional Processes
25(6)
Planning
26(1)
Depth-First Development
27(3)
Test-Driven Development
30(1)
Embracing Change
30(1)
Coming Up
31(2)
Concepts, Goals, and Benefits of Model-Driven Development
33(58)
What Is MDA?
33(3)
Why Model?
36(5)
Key Concepts of MDA
41(26)
Model
41(2)
Metamodel
43(2)
CIM
45(1)
PIM
45(4)
PSM
49(6)
PSI
55(2)
Model Transformation
57(10)
MDA Technologies
67(6)
MOF
67(1)
UML
68(1)
SysML
69(1)
XMI
70(1)
CWM
70(1)
Profiles
70(3)
Benefits of MDA
73(1)
Portability
73(1)
Reusability
74(1)
Isolation from Technology Churn
74(1)
Harmony's Five Key Architectural Views
74(16)
Subsystem and Component Architecture
76(1)
Concurrency and Resource Management Architecture
77(4)
Distribution Architecture
81(1)
Safety and Reliability Architecture
82(2)
Deployment Architecture
84(3)
Secondary Architectural Views
87(3)
Coming Up
90(1)
Harmony/ESW Principles and Practices
91(64)
Harmony Core Principles
91(39)
Your Primary Goal: Develop Working Software
92(2)
Measure Progress against the Goal. Not the Implementation
94(1)
Your Primary Measure of Progress Is Working Software
95(1)
Don't Put Defects in Your Software!
95(8)
Continuous Feedback Is Crucial
103(9)
The Five Key Views of Architecture
112(4)
Supplementing Your Architecture with Secondary Architectural Views
116(1)
Plan, Track, and Adapt
117(1)
The Leading Cause of Project Failure Is Ignoring Risk
118(2)
Continuous Attention to Quality
120(3)
Modeling Is Crucial
123(5)
Optimizing the Right Things
128(2)
Harmony Core Practices
130(23)
Incrementally Construct
130(3)
Use Dynamic Planning
133(5)
Minimize Overall Complexity
138(4)
Model with a Purpose
142(2)
Use Frameworks
144(2)
Prove the System under Development Is Correct---Continually
146(1)
Create Software and Tests at the Same Time
147(2)
Apply Patterns Intelligently
149(1)
Manage Interfaces to Ease Integration
150(2)
Use Model-Code Associativity
152(1)
Coming Up
153(2)
Process Overview
155(42)
Why Process at All?
155(8)
Harmony/ESW Process Introduction
158(5)
Harmony Time Frames
163(5)
Prototype-Based Spiral Development
168(3)
Harmony Macrocycle Process View
171(6)
Prespiral Planning
173(1)
Defining and Deploying the Development Environment
174(1)
Developing Stakeholder Requirements
175(1)
Controlling the Project
176(1)
Change Management
176(1)
Harmony Spiral in Depth
177(14)
Continuous Integration
180(1)
Analysis
180(3)
Design
183(5)
Prepare for Validation
188(1)
Model Review
188(1)
Validation
189(1)
Increment Review (Party Phase)
190(1)
What about Systems Engineering?
191(1)
What about CMMI?
192(2)
Combining Agile, MDA, and Harmony
194(1)
Coming Up
194(3)
Project Initiation
197(72)
What Do You Need to Get Started? The Baby Bear Plan
198(1)
Prespiral Planning
199(51)
Creating the Schedule
200(14)
Creating the Team Structure
214(1)
Planning for Reuse
215(2)
Planning for Risk Reduction
217(2)
Specifying the Logical Architecture
219(10)
Performing the Initial Safety and Reliability Analysis
229(21)
Developing Stakeholder Requirements
250(8)
Defining the Product Vision
252(1)
Finding and Outlining Stakeholder Requirements
252(3)
Detailing the Stakeholder Requirements
255(1)
Reviewing Stakeholder Requirements
256(2)
Defining and Deploying the Development Environment
258(4)
Tailoring the Development Process
259(2)
Installing, Configuring, and Launching Development Tools
261(1)
Installing and Configuring the CM Environment
261(1)
Continuous Integration
262(4)
What Is CM?
262(1)
Continuous Configuration Management
263(3)
Coming Up
266(3)
Agile Analysis
269(60)
Prototype Definition
272(38)
Plan the Iteration
273(5)
Specifying the User Interface
278(1)
Detailing the Use Cases
279(17)
Generating System Requirements
296(2)
Managing Safety and Reliability Requirements
298(1)
Use Case White-Box Analysis
299(10)
Use Case Consistency Analysis
309(1)
Detailing System Requirements
309(1)
Object Analysis
310(18)
Identifying Objects and Classes
313(4)
Example from the Targeting Scanner Subsystem
317(4)
Refining the Collaboration
321(4)
Creating the Unit Test/Suite
325(1)
Translating the Model into Code
325(2)
Executing the Model
327(1)
Factoring the Elements into the Model
327(1)
Executing Unit Tests
327(1)
Making the Change Set Available
328(1)
Coming Up
328(1)
Agile Design
329(44)
Optimization and the Use of Design Patterns
331(8)
Design patterns
331(3)
Applying Design Patterns
334(5)
Architectural Design
339(19)
Primary and Secondary Architectural Views
339(2)
Architectural Design Workflow
341(1)
Optimizing Subsystem and Component Architecture
341(2)
Optimizing Concurrency and Resource Management Architecture
343(4)
Optimizing Distribution Architecture
347(2)
Optimizing Safety and Reliability Architecture
349(2)
Optimizing Deployment Architecture
351(2)
Optimizing Secondary Architectural Views
353(1)
Adding Architecture to the Transporter
353(5)
Mechanistic Design
358(4)
Mechanistic Design Workflow
358(1)
Optimizing the Mechanistic Model
358(3)
Practical Example: Optimizing the Collaboration
361(1)
Detailed Design
362(9)
Detailed Design Workflow
364(1)
Identifying ``Special Needs'' Classes
365(2)
Optimizing Classes
367(4)
Coming Up
371(2)
Agile Testing
373(30)
Testing Concepts
375(5)
Kinds of Test Cases
376(2)
Levels of Testing
378(1)
Test-Driven Development
379(1)
Model-Based Testing
380(5)
Testing Workflows
385(3)
Unit Test
388(2)
Unit Test Planning
388(2)
Unit Test Execution
390(1)
Integration Test
390(7)
Continuous Integration
394(1)
Managing Integration Tests
395(1)
Validating and Accepting Changes to the Baseline
396(1)
Making the Baseline Available
397(1)
Validation Testing
397(4)
Preparing for Validation
397(3)
Validation
400(1)
Coming Up
401(2)
Agile Process Optimization
403(24)
Understanding Dynamic Planning
404(3)
Tracking and Controlling
407(7)
Controlling Project Workflow
407(1)
Refining and Deploying the Development Environment
408(2)
Updating Risks
410(1)
Updating the Schedule
411(3)
Updating the Hazard Analysis
414(1)
Change Management
414(3)
Change Management Workflow
414(3)
Model Reviews
417(3)
The ``Party Phase''
420(4)
Party Phase Workflow
420(1)
Issue Questionnaire
421(1)
Reviewing Process
422(1)
Reviewing the Schedule
422(1)
Reviewing the Defect List and Defect Rates
423(1)
Reviewing the Reuse Plan
423(1)
Reviewing the Risk Management Plan
424(1)
Summary
424(3)
Appendix A: Starfleet ZX-1000 Transporter System Requirements Specification
427(20)
Overview
427(1)
Operational Modes
427(3)
Cargo Transport Mode
428(1)
Biomaterials Transport Mode
428(1)
Personnel Transport Mode
429(1)
Operational Submodes
429(1)
Detoxification Submode
429(1)
Biofilter Submode
429(1)
General System Requirements
430(7)
Timeliness Requirements
430(1)
Power Requirements
431(1)
Target Scan and Coordinate Lock
432(1)
Dematerialization
432(1)
Pattern Storage
433(1)
Doppler Compensations
433(1)
Matter Stream Transmission
433(1)
Rematerialization
434(1)
Operator Control
434(1)
Transportation Sequencing
434(2)
System Configuration
436(1)
Major System Components
437(3)
Operator Console
437(2)
Transport Chamber
439(1)
Transport Sequencer
439(1)
Primary and Secondary Energizing Coils
439(1)
Phase Transition Coils
439(1)
Quantum Molecular Imaging Scanners
439(1)
Pattern Buffer
439(1)
Biofilter
440(1)
Emitter Array
440(1)
Targeting Scanners
440(1)
Secondary Functions
440(7)
Site-to-Site Transport
441(1)
Pattern Buffer Storage
441(1)
Hazardous Material Dispersal
441(1)
Near-Warp Transport
441(1)
Warp Transport
441(1)
Life Sign Scanner
442(1)
Biofilter
442(2)
Hazardous Materials Filter
444(1)
Phase/Frequency/Packet Compensation
445(2)
Appendix B: Harmony/ESW and CMMI: Achieving Compliance
447(36)
Abstract
447(1)
CMMI Basics
447(5)
Process Areas
448(2)
Maturity Levels
450(2)
Achieving CMMI Compliance with Harmony/ESW
452(29)
Maturity Level 1
452(1)
Maturity Level 2
452(10)
Maturity Level 3
462(16)
Maturity Level 4
478(1)
Maturity Level 5
479(2)
Summary
481(1)
Further Reading
482(1)
Glossary 483(12)
Index 495
Bruce Powel Douglass is chief evangelist for IBM Rational, a leading producer of tools for real-time systems development. He contributed to the original specication of the Unified Modeling Language and is former co-chair of the Object Management Groups Real-Time Analysis and Design Working Group. He consults to many companies and organizations on building both small- and large-scale, real-time, safety-critical systems. He is the author of several books showing how to apply software development best practices in real-time and embedded systems development, including Doing Hard Time, Real-Time UML, Real-Time Design Patterns (all from Addison-Wesley) and Real-Time UML Workshop for Embedded Systems (Elsevier).