17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective...
-
Upload
elisabeth-bilby -
Category
Documents
-
view
218 -
download
0
Transcript of 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective...
![Page 1: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/1.jpg)
17 Dec 2002
FIO Development Process
Bill Tomlin
![Page 2: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/2.jpg)
17 Dec 2002/BT 2
Introduction
Historical perspective Good practice
Design Testing
Development methods compared Recommendations
![Page 3: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/3.jpg)
17 Dec 2002/BT 3
Ada – Enchantress of Numbers Born December 10, 1815 1842 plan to calculate Bernoulli
numbers using Babbage’s ‘Difference Engine’
First programmer 1979 ADA language
“I am much annoyed at your having altered my Note. You know I am always willing to make any required alterations myself, but that I cannot endure another person to meddle with my sentences”
![Page 4: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/4.jpg)
17 Dec 2002/BT 4
Good Practice: Design Top-down, Use Case driven Identify high-level components Decide interfaces Apply to sub-components Low coupling, high cohesion A simple model says a lot…
![Page 5: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/5.jpg)
17 Dec 2002/BT 5
: BuyerSeller : GoI : Aggregator
Create Socket
Listen
Select Escrow
Escrow Application Form
Completed Form
Socket Connection
Send Fields (XML)
Confirmation (XML)
Close Socket
Confirmation (HTTP)
![Page 6: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/6.jpg)
17 Dec 2002/BT 6
Example: The Database
Single, consistent access method Hide implementation details Good performance Ease of maintenance Access control Pre-compilation Connection pooling
![Page 7: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/7.jpg)
17 Dec 2002/BT 7
“Good and clear interfaces reduce bugs. Avoiding complexity reduces bugs.” - Linus Torvald
“Spend time on architecture not maintenance.” - Jean-Claude Wipple
![Page 8: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/8.jpg)
17 Dec 2002/BT 8
Testing
Apply principles of engineering to software Bottom-up unit testing Catch errors early
Cheaper Less embarrassing Saves time
![Page 9: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/9.jpg)
17 Dec 2002/BT 9
January 28, 1986
![Page 10: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/10.jpg)
17 Dec 2002/BT 10
An “O-ring” fails
![Page 11: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/11.jpg)
17 Dec 2002/BT 11
“Major malfunction”
![Page 12: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/12.jpg)
17 Dec 2002/BT 12
What went wrong…
Rubber used to seal joints failed to expand at 0ºC
The component wasn’t tested in the right way
The engineer wasn’t listened to The risk assessment was wrong
(1/100 000 vs. 1/100)
![Page 13: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/13.jpg)
17 Dec 2002/BT 13
“For a successful technology, reality must take precedence over public relations, for nature cannot be fooled” - Feynman
![Page 14: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/14.jpg)
17 Dec 2002
Methods
Waterfall
Iterative
Common
depends on scale of project…
![Page 15: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/15.jpg)
17 Dec 2002/BT 15
2
Architecting a dog house
Can be built by one personRequires
Minimal modelingSimple processSimple tools
2
Architecting a dog house
Can be built by one personRequires
Minimal modelingSimple processSimple tools
…can be a lot of dogs to house
![Page 16: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/16.jpg)
17 Dec 2002/BT 16
3
Architecting a house
Built most efficiently and timely by a teamRequires
ModelingWell-defined processPower tools
3
Architecting a house
Built most efficiently and timely by a teamRequires
ModelingWell-defined processPower tools
![Page 17: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/17.jpg)
17 Dec 2002/BT 17
4
Architecting a high rise
4
Architecting a high rise
![Page 18: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/18.jpg)
17 Dec 2002/BT 18
Waterfall MethodRequirements
Design
Implementation
Test
Analysis
![Page 19: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/19.jpg)
17 Dec 2002/BT 19
Waterfall Method
Advantages Simple Stability - harder to
introduce late changes Testers get early
specifications to work from
Project planning is easier
Disadvantages Risky - no early working releases Inflexible – can’t change
requirements or design Cannot respond to changing
circumstance Testing late and on critical path Projects usually too late and too
expensive Communications can break
down…
![Page 20: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/20.jpg)
17 Dec 2002/BT 20
1. Customer requested:
2. Analyst Specified:
3. Designer Specified:
4. Programmer Implemented:
5. Installed:
6. Customer really needed:
![Page 21: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/21.jpg)
17 Dec 2002/BT 21
Iterative Method
ProjectInitiation
Elaboration
increment #1
increment #2
increment #n
... ... ...
TransitionProjectClosure
Maintenance
Construction
![Page 22: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/22.jpg)
17 Dec 2002/BT 22
Iterative Method
Advantages Can calibrate and
refine plan more accurate
Working releases all through lower risk
Allow reappraisal Whole development
process regularly performed
Disadvantages Developers may keep
writing fresh code, not bug fixing
Core product may need re-architecting with new functionality
Planning more complex More chaotic
![Page 23: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/23.jpg)
17 Dec 2002/BT 23
"A complex system that works is invariably found to have evolved from a simpler system that worked" - Gall 1986
![Page 24: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/24.jpg)
17 Dec 2002/BT 24
Common Method
![Page 25: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/25.jpg)
17 Dec 2002/BT 25
Development in FIO…
Lack of clear method Good people but high turnover Assumed knowledge Fragmented information Interesting production environments Sporadic use of CVS, SourceSafe Eclectic, wordy document content, if they exist High coupling between components
![Page 26: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/26.jpg)
17 Dec 2002/BT 26
Recommendations…
![Page 27: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/27.jpg)
17 Dec 2002/BT 27
Start with a simple process… An “FIO project approach” document Standard set of project artifacts
Requirements - what Design (UML) - how Code, makefiles, sql Instructions: how to build & deploy
All artifacts in CVS/SourceSafe Single repository for FIO Obvious location Consistent naming All DB access via stored procedures
![Page 28: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/28.jpg)
17 Dec 2002/BT 28
…which we can evolve
Document templates Code templates Coding standards Libraries Reviews Quality plans, testing DevTestProduction environments Release procedures Widen scope beyond FIO ?
![Page 29: 17 Dec 2002 FIO Development Process Bill Tomlin. 17 Dec 2002/BT2 Introduction Historical perspective Good practice Design Testing Development methods.](https://reader035.fdocuments.us/reader035/viewer/2022062519/56649ca15503460f9495fd65/html5/thumbnails/29.jpg)
17 Dec 2002/BT 29
Questions/Comments ?