1) ATC defined and documented a software development process that applied to both new software development projects as well as enhancements to existing systems. The process drew upon concepts and processes defined as part of the Rational Unified Process (RUP) and techniques and tools defined as part of the Unified Modeling Language (UML).
2) ATC defined the system architecture to support a three-tiered (n-tiered) client/server architecture consisting of a presentation layer, business logic layer, and a database layer. The architecture was designed to take maximum advantage of object-oriented analysis and design techniques, component development, and the use of design patterns. To accommodate the transition to the new architecture, the functionality of various legacy components were made accessible by designing and writing wrapper components that adapted the interface of the legacy component to an object interface. The system architecture made use of the following technologies: Rational Rose, C++, Oracle Stored Procedures, Functions, and Packages, and an Oracle database on a Unix platform.
3) ATC designed and constructed foundation classes in C++ to support the transition of the product development tools from Cobol and C to C++ and Rational Rose. The foundation classes included services to communicate with the Oracle database, maintain (validate, authorize) and persist business data to a back-end Oracle database, report and log errors, and present application information both on personal computers and radio frequency devices. Other services included a messaging infrastructure for communicating with radio frequency devices, data marshaling utilities, and utilities for communicating with legacy Cobol components.
4) ATC managed and mentored in-house staff in how to manage software re-engineering projects for a typical team size of five to ten professionals.
5) ATC was responsible for mentoring team members in object-oriented analysis and design, tiered client/server architectures, the Unified Modeling Language (UML), and the Rational Unified Process (RUP). ATC also mentored team members in best practices and guidelines for designing and constructing software using Rational Rose and C++.
After six of the team members attended an Object Oriented Analysis and Design class taught by Rational Software Corporation, the lead in-house designer from the team wrote these comments to his management:
""After completing the recent Rational Rose training sessions last week, I have a much stronger appreciation for our current architecture and even greater confidence that we are heading in the right direction. The main objective of the sessions was to teach sound design principles and how to implement them using Rational Rose. To that end, Rational Software has developed what they call the Rational Unified Process (RUP) which builds upon the Unified Modeling Language (UML). This process encourages what they consider to be best practices for good software design. What really amazed me was how accurately our current environment models RUP. The men who taught the class could have used our system as an example to support their class curriculum.
In summary, I came out of these sessions very impressed with how Jim Berg has put our environment together. It appears (at least to me) that we are very closely adhering to what would be the industry standard for systems architecture and design. Furthermore, Jim has proven to be an excellent mentor for the AWCS development team.""