Professional Documents
Culture Documents
1
CHAPTER 1 Slide 1.2
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Figure 1.1
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
1
Cutter Consortium Data Slide 1.7
Conclusion Slide 1.8
_ 2002 survey of information technology _ The software crisis has not been solved
organizations
– 78% have been involved in disputes ending in litigation _ Perhaps it should be called the software
depression
_ For the organizations that entered into litigation: – Long duration
– In 67% of the disputes, the functionality of the – Poor prognosis
information system as delivered did not meet up to the
claims of the developers
– In 56% of the disputes, the promised delivery date
slipped several times
– In 45% of the disputes, the defects were so severe that
the information system was unusable
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Figure 1.2
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
2
Typical Classical Phases (contd) Slide 1.13
Typical Classical Phases (contd) Slide 1.14
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
_ Classical maintenance _ A fault is detected and corrected one day after the
– Development-then-maintenance model software product was installed
– Classical maintenance
_ This is a temporal definition
– Classification as development or maintenance depends _ The identical fault is detected and corrected one
on when an activity is performed day before installation
– Classical development
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
_ A software product has been installed _ The reason for these and similar unexpected
consequences
_ The client wants its functionality to be increased – Classically, maintenance is defined in terms of the time
at which the activity is performed
– Classical (perfective) maintenance
_ Another problem:
_ The client wants the identical change to be made
– Development (building software from scratch) is rare
just before installation (“moving target problem”) today
– Classical development – Reuse is widespread
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
3
Modern Maintenance Definition Slide 1.19
Modern Maintenance Definition (contd) Slide 1.20
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Figure 1.3
(a) Between 1976 and 1981
(b) Between 1992 and 1998
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
4
Requirements, Analysis, and Design Aspects (contd)
Slide 1.25
Requirements, Analysis, and Design Aspects (contd)
Slide 1.26
_ The
previous
_ The cost of figure
detecting and redrawn
on a
correcting a
fault at each linear
scale
phase
_ To correct a fault early in the life cycle _ Between 60 and 70% of all faults in large-scale
– Usually just a document needs to be changed products are requirements, analysis, and design
faults
_ To correct a fault late in the life cycle
– Change the code and the documentation _ Example: Jet Propulsion Laboratory inspections
– Test the change itself – 1.9 faults per page of specifications
– Perform regression testing – 0.9 per page of design
– Reinstall the product on the client’s computer(s) – 0.3 per page of code
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
5
1.6 Why There Is No Planning Phase Slide 1.31
Planning Activities of the Waterfall Model Slide 1.32
_ We cannot plan at the beginning of the project _ Preliminary planning of the requirements and
—we do not yet know exactly what is to be built analysis phases at the start of the project
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
_ Planning activities are carried out throughout the _ It is far too late to test after development and
life cycle before delivery
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
6
1.8 Why There Is No Documentation Phase Slide 1.37
Documentation Must Always be Current Slide 1.38
_ It is far too late to document after development _ Key individuals may leave before the
and before delivery documentation is complete
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
_ Documentation activities must be performed in _ The structured paradigm was successful initially
parallel with all other development and – It started to fail with larger products (> 50,000 LOC)
maintenance activities
_ Postdelivery maintenance problems (today, 70 to
_ There is no separate documentation phase 80% of total effort)
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
_ Both data and actions are of equal importance _ 1. With information hiding, postdelivery
maintenance is safer
_ Object: – The chances of a regression fault are reduced
– A software component that incorporates both data and
the actions that are performed on that data _ 2. Development is easier
– Objects generally have physical counterparts
_ Example: – This simplifies modeling (a key aspect of the object-
oriented paradigm)
– Bank account
» Data: account balance
» Actions: deposit, withdraw, determine balance
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
7
Strengths of the Object-Oriented Paradigm (contd)
Slide 1.43
Weaknesses of the Object-Oriented ParadigmSlide 1.44
_ 3. Well-designed objects are independent units _ 1. The object-oriented paradigm has to be used
– Everything that relates to the real-world item being correctly
modeled is in the corresponding object — – All paradigms are easy to misuse
encapsulation
– Communication is by sending messages
– This independence is enhanced by responsibility-driven
_ 2. When used correctly, the object-oriented
design (the way the operation is done is the paradigm can solve some (but not all) of the
responsibility of the object) problems of the classical paradigm
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
_ Open-source software
– Linus’s Law (“given enough eyeballs, all bugs are shallow”)
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
8
Object-Oriented Terminology Slide 1.49
Object-Oriented Terminology (contd) Slide 1.50
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.