home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of Shareware - Software Farm 2
/
wosw_2.zip
/
wosw_2
/
CPROG
/
MS.ZIP
/
ARC5_1.CHP
< prev
next >
Wrap
Text File
|
1993-06-15
|
5KB
|
118 lines
%
#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