home *** CD-ROM | disk | FTP | other *** search
- %
- #EF
- #T15,1,Chapter 5 General Design Considerations Pg. 1
- #HS,1,4,80,25,11,1
- #C4,R5
- ~W~IStructured Design And Development~Y~I
-
- Back in the days of the brontosaurus and the saber-toothed tiger, say the
- 50's and 60's, producing software was a new discipline and programs tended
- to resemble spaghetti. After a while people much wiser than myself found
- that structured programs were more easily maintainable, more portable, and
- more reliable.
-
- #WN
- ~W~IWhy Structured Design?~Y~I
-
- I was in computing for several years before I realized one basic fact;
- computer programs ~R~Iaren't written to be read by computers~Y~I, they're written
- so ~R~Ihumans can read them~Y~I.
-
- #WN
- Surprised? ~G~IIt's true~Y~I. There's not a single computer on the market today
- that can read a C program directly. Every one of them need a program to
- translate C to binary. We call those programs compilers.
-
- #WN
- %
- #EF
- #T15,1,Chapter 5 General Design Considerations Pg. 2
- #HS,1,4,80,25,11,1
- #C4,R5
- ~Y~IIf programs are meant to be read by humans, then what can we do to make
- them more readable? Well one answer is to use ~C~Istructured design and
- programming techniques~Y~I. Structured design will also help us build software
- that is easily integrated into a large variety of games. And that's what I
- like, getting the most mileage out of my efforts. I tell my students that,
- in programming, ~W~I~Flaziness is a virtue~Y~I~N. The more use they can get out of a
- piece of code that they have written, the more successfully lazy they have
- been.
-
- #WN
- Another reason for using these techniques is that you might want to sell
- your program to a software publisher for them to market. That may mean they
- will take over the maintenance of the program. If so, they'll be much more
- willing to |buy your code| if it's well organized and easily maintainable.
-
- #WP
- %
- #EF
- #T15,1,Chapter 5 General Design Considerations Pg. 3
- #HS,1,4,80,25,11,1
- #C4,R5
- ~Y~ISoftware has a given length of time that is its ~M~Iuseful lifespan~Y~I. The
- lifespan of some software is short. Most software for the CP/M operating
- system came and went rather quickly. Other pieces of software continue for
- a long time. The vi editor for Unix is about as old as I am. We call this
- lifespan the |software life cycle|.
-
- #WN
- #C4,R11
- ~KDuring the life cycle of a program there are several distinct phases. First
- is usually analysis and design. Next comes development, then maintenance.
- Figure 5.1 on the next screen shows the software life cycle.~k
- #WP
- %
- #EF
- #T15,1,Chapter 5 General Design Considerations Pg. 4
- #HS,1,4,80,25,11,1
- #C4,R5
- ~W~IFigure 5.1~Y~I
- The Software Life Cycle
-
-
- │ │ │ │
- Maintenence │ ┌───────────┐
- │ │ │ └───────────┘
- │ │
- Testing │ │ ┌────────────┐
- │ └────────────┘
- │ │ │ │
- Development │ ┌────────────┐
- │ └────────────┘
- │ │ │ │
- Design │ ┌──────────┐
- │ └──────────┘ │ │
- └──────────────────────────────────────────────────
- Time -->
-
- #WP
- %
- #EF
- #T15,1,Chapter 5 General Design Considerations Pg. 5
- #HS,1,4,80,25,11,1
- #C4,R5
- ~Y~IOf the three main phases shown in the figure above, which do you think
- costs the most? Most of my students usually answer that development is the
- most expensive, but that's not correct. It's ~R~Imaintenance~Y~I.
-
- #WN
- Fixing bugs, adding new features, and other maintenance tasks are often
- where 75% to 85% of the money spent on a piece of software goes. In my
- experience, it's closer to 85% than to 75%. This means that anything we can
- do to bring down the cost of maintenance will save us money.
-
- #WN
- At many large software companies, they've found that extra time and money
- spent in design and development can sometimes lead to an order of
- magnitude savings during maintenance. Almost without exception, the extra
- time in the early phases of the project is used to do structured design and
- development.
-
- #WN
- Structured design may add a bit more overhead to a program, but it is well
- worth it.
- #WP
- #QT,T,arc5_1
- #X