Previous | Table of Contents | Next |
Organizing Notes Along Logical Components. Formal documentation of user specifications is important to the project teams effectiveness and efficiency. Team members should bear in mind particular areas when collecting specifications, namely the programming language, the GUI and windowing, database, and communications. Written notes should be organized according to logical components. Most systems require a main screen from which all other operations are managed. System components can be organized according to what is required on the main screen level and according to what is required for subgroups of the main level. Possible functions to launch from a main screen are data maintenance, reporting, tools such as data item searches, or utilities such as refreshing a screen from a database.
Painting Up Windows. In the next step in organizing specifications, project team members take the notes arranged by function and paint up a window that corresponds to the main function and as many windows as necessary for the subfunctions. They must resist the temptation to build deep layering into a system. If users have to call up several chained windows just to get to the one they need, the window navigation process becomes unmanageable and most users will likely give up. As flat an implementation as possible is best, but balance should be kept in mind. Generating too many screens on the same level that are required to be displayed at once jeopardizes the issue of optimized screen real estate. Team members should get the input of users on the issue of balance while also drawing on their own intuition and experience. Generally, however, one main window with the subfunctions spawned from a main menu bar or other widgets gives the best chance of functional success.
Reassessing Goals and Implementation Feasibility. At this point in the systems development process, team members should consider whether the goals of the system are too broad. They should also address the question of implementation feasibility.
Oftentimes, when a new integrated system, as opposed to a legacy system replacement, has been proposed, users requests are not entirely focused, yet alone finalized with any degree of precision or confidence. Users have a broad idea of what they want, but meeting all their business needs may actually require the development of more than one integrated system, or of several smaller subsystems chained together. Painting the windows clearly demonstrates to users how large or small the system will be, based on the specifications.
Dividing a system into manageable components wherever possible is better not only for the systems developers but for the users themselves. In Object-Oriented Analysis and Design with Applications (Redwood City, CA: Benjamin/Cummings, 1994), Grady Booch discusses the fact that the human brain can only manage a limited number of processes at a time while the computer can manage as many processes as the hardware can accommodate. Because the computer can handle many, many more processes than the human brain, functions should be separated into different systems. In this way a system that accommodates the physical limitations of the human brain is implemented rather than one that can only be comprehended by a computer. Separating out specifications into different systems also results in flatter, simpler, and targeted individual systems that are easier to develop concurrently, enhance, and maintain.
Defining Additional Components. At this point, developers have a prototype that can be critiqued and revised. It now becomes apparent where the other components of the integrated system come into play. Interaction with the database can now be defined because the origination point of data is known. The data types and sizes are also known because they have been designed into the windows. Determination of which windows and functions will communicate with each other becomes obvious. When all the windows are visually displayed, it is easy to identify which windows should publish data and which windows should receive it. Any other roles relevant to the systems integration process can be hooked in once the system is visually prototyped.
There are six major components of an integrated open systems environment:
Programming Language. The programming language is the component of the system that actually does the integration. As the glue between all the other components, it facilitates the interaction between the screens and the database, between the screens and the communication components, and so on. It must provide functions that help users do their jobs as smoothly and easily as possible. In addition to providing flexibility and performance, it must hook into the other components of the integrated open system.
Many information technology organizations use C or C++ programming languages because these languages meet the previously mentioned qualifications; when properly implemented, they are flexible, precise, and high-performing. Oddly enough, the very flexibility of the language creates a managerial challenge. When using these languages, developers are often tempted to reprogram and hone the programs a process that can become unnecessarily time-consuming. Project managers must be able to clearly define and limit the extent of the implementation and provide feedback to the developer.
Previous | Table of Contents | Next |