Comments, Conclusion and Future Work

 

The Software Engineering approaches that have been carried out by the writers and their team are very well done, considering that the team does not have any OO experience beforehand and there is hardly any Computer Aided Software Engineering Tools. However, Software Engineering approaches have also gone through quite a considerable improvement since then.

 

In the process of developing the software, the writers did not mention about the way of handling the timing management of the project. One of the efficient methods of doing so is by using the Critical Path Method (also known as PERT). Using this method, the team will need to define the estimated time needed to develop a module. These estimations are then combined together to form a path where the project manager will then be able to find out the critical path(s) of the project, whereby a delay in the development of a model will cause a delay in the development of the whole system. In this way, it would be much more efficient for the project manager to keep track of the development process in order to avoid delay. Rather than having to cramp himself with all the different modules development, the project manager can focus on the specific team at different period of time. This method has proved to be very useful, which can be seen that it is still being used although it was first introduced in the early 1950’s

 

A significant problem which was faced by the teams in developing their software was the lack of the commercially available Computer Aided Software Engineering (CASE) Tools. In fact, at the time of the development there was no single, commercially available tool to support automation. These had led to a laborious time taken for designing the software and laborious task when change in documentation is needed.

 

Computer Aided Software Engineering tools have came a long way since then. At the present time there are hundreds of CASE tools available commercially. An example of a commonly used CASE tool is Rational Rose. In fact, Rational Rose has been used to aid the design of the UML diagram in the software development. At the present time, Rational Rose has improved significantly and its capabilities include automation translation of UML diagram into source code, reverse engineering, and other Software Engineering Features.

 

Another advancement in Software Engineering since the time of the software development is the introduction of the COCOMO II model which allows one to estimate the cost, effort, and schedule when planning a new software development activity. This model is introduced in the mid-1997.

 

The team in the development process used the Unified Modeling Language (UML) notation, which is a standard modeling process for software. This is a good practice as all the software developers should be able to grasp their work easier through the standard diagrams which are produced during the software development. This would make it easier if say, another group of software developers are assigned to improve the system in the future. UML, first introduced in 1995, has also undergone some development from UML 1.0 in 1996 to UML 1.1 in 1997.

 

The project mentioned in the article has proved to be a big step in the Software Engineering Field whereby the team uses OO Approach in their Team Management. This is so because at that point of time, OO has just gone through standardization in the late 1996. The OO approach is a well chosen approach as it promotes a good software design through reusability, abstraction, encapsulation and information hiding. In the team management, software development can be done independently by each team, where each team only needs to know the interfaces of the other teams’ works and not the details of what they are doing.

 

In conclusion, I would reckon that the project is a successful one. It is also one of the few projects which apply the OO Methodology at the time when the technique was still rarely used, and therefore in a sense, it is one of the pioneers in spearheading OO. At the present time, most software are being developed using OO Methodology.

 

 

Relevance to Lab Project

The methods use in the software development in the article is relevant to my group lab project only to a certain extent. In our lab project (3D Maze Game), the team structure is not as extensive as the one in the project mentioned in the article. However, the article did provide a very good insight about the usefulness of Object Orientation, which we are using in our lab.

 

Furthermore, the article made us realize the usefulness of the CASE tools that we are using in the lab. (In this case Rational Rose and to a certain extent Metamill software). The CASE tools are very useful especially in producing the UML, class and collaboration diagrams.

 

Related Work

  1. David Bellin and Susan Suchman Simone, The CRC Card Book, Addison Wesley Longman, 1997
  2.  Nancy M. Wilkinson, Using CRC Cards: An Informal Approach to O-O Software Development, SIGS Books, New York, 1995.
  3. Jim Arlow, Ila Neustadt, UML and the Unified Process: Practical Object-Oriented Analysis and Design, Addison Wesley, 2002
  4. Software Cost Estimation with Cocomo II by Barry W.Boehm, Ellis Horowitz, Ray Madachy, Donald Reifer, Bradford K. Clark, Bert Steece, A. Winsor Brown, Sunita Chulani, Chris Abts, Prentice Hall, 2000
  5. UML Distilled: Applying the Standard Object Modeling Language by Martin Fowler, Addison-Wesley, 1997.
Hosted by www.Geocities.ws

1