Information Technology Reference
In-Depth Information
and generality. In fact, the Jackson Development Method programs initially were
used in an effort to try and make COBOL programming easier to modify and be
reused.
Level-oriented design has some advantages as well as some drawbacks and is
ranked third out of the fourth approaches. Regarding the advantages of level-oriented
design, the top-down approach is a very modular approach to software design, which
is an advantage. The top-down approach also is not particularly difficult to use as
well. However, as discussed above, this approach focuses on very specific tasks that
have to be done and puts little emphasis on data structures. In other words, data
structures are usually only thought of after procedures have been defined generally.
Moreover, if the program needs to updated or revised, problems may occur because
changes to one part of the software system often causes problems in another portion
of the software. In other words, every time software is updated, all the procedures that
rely on the old data structure would need to be analyzed and changed accordingly.
Programmers usually have to approach a program as a series of single functions. As
a result, programmers are not likely to incorporate evolutionary changes in the data
structures into the big picture of the overall system. Thus, the top-down approach
provides few ways to reuse existing pieces of software.
The last ranked method is the data flow design method, also known as structured
design. As discussed, this method is very modular. However, several significant issues
are encountered when using structured analysis and structured design in modeling
a real-time system. Probably the most troublesome part of structured design is that
tracking changes can be tricky, which translates into a low level of anticipation
of change. Also, any change in the program requirements generally translates into
significant amounts of code that will probably need to be rewritten. As a result, this
approach is unpractical to use if significant software changes need to be made in the
future.
4.4.1
Future Trends
Software design is a relatively new field of engineering, especially when compared
with some other engineering disciplines like mechanical or civil engineering. It is
therefore important to discuss what the future may hold for software design methods.
If one were to ask any computer programmer what the future of software engi-
neering was, there would probably be a very wide variety of answers given. However,
there is a common thread among all of these answers. It is that software development
continues to become more complex, and developers must work at increasingly higher
levels of abstraction to cope with this complexity. 21 Indeed, if there is one issue that
most software developers could agree on, it is that as software becomes more and
more complicated, it is important to develop new types of methods and procedures
to aid software engineers in designing a software system.
One important shift that may be occurring currently is the approach to recognize
that software architecture is an important aspect of software development. Software
21 http://www.ibm.com/developerworks/rational/library/6007.html#trends.
Search WWH ::




Custom Search