Program DesignHow to design programs that result in simple, re-usable and easy to maintain code |
| home |
|
| home
|
|
Course contents:
Course of the month
|
Development departments wrestle with two persistent and major problems, maintenance and enhancement of existing code, and the feeling that they have written this code before somewhere. All programs require maintenance and enhancement at some point in their lives, but not all programs are designed to allow modification. Program structures can be ill-conceived, undocumented, based on unwarranted assumptions, or just not designed at all. When change is required effort can be wasted trying to shoehorn the new need into the existing constructs, sometimes with unpredictable or catastrophic results. Modular components with clearly defined interfaces are the key to successful program design. These components are candidates for re-use in a range of applications. Moreover, well-structured programs have longer lives and allow for change. In this way, modular components contribute towards the goals of maintainability and re-use. This course is for programmers who design and write solutions to programming problems. The course is particularly suitable for those about to make the transition to object-oriented programming. Attendees should be familiar with at least one programming language, for example C, Basic, COBOL, Pascal or Java. This course teaches the principles of functional modularity by showing both how to define modular components and how to improve the modularity of interfaces by applying a program design health check. Data modularity - the encapsulation of data behind a set of related functional interfaces - extends these principles to provide a powerful means of structuring program designs. Encapsulation also forms the bridge to the use of object-oriented technology. On successful completion of the course, attendees will be able to:
A mixture of discussion, best practices, and realistic, practical examples is employed in this course to exemplify and re-enforce principles. All design constructs are related to programming language implementations and the whole course is based on well-established software engineering principles. Two days non-residential. In-house only. |
| home Copyright © 2006 Stehle Associates. All rights reserved. |
|