Saturday, March 8, 2008

Week 2

This week, the content of this unit begun to introduce basic concepts of system development. I am impressed by several interesting ideas, such as what system development should be done for organisation, flexible developing approaches, making decision on whether to purchase a system or develop by self, and OO approach for more natural system development for developer.

Aims for organisation needs
Needs of organisation should be the focal factors for system development. The reasons why a system is being developed are usually because organisations want to achieve better performance results by altering their core systems. Ultimately, being more effective, productive and competitive are their goals to keep their organisation operate healthily. So, whether a system development is done properly or not can directly affect the performance of a organisation. Sometimes some fatal mistakes done by system development could cause serious damage to a organisation. A improper system development could consume huge loss of time and resource to make the situation of an operation worse rather than improved.

Flexible developing approaches
There some different developing methodologies to develop a system for developers to work through various development situations. System analysts can adopt the most suitable one by identifying the needs of their customers. A small clear project request from a customer, in which the detail of functions is predictable, could lead system developer to adopt waterfall approach. On the other hand, if a system requested to develop is large, OO approach could be more appropriate. Sometimes customer doesn't really know what they want to build for a system, developer may need to use scrum or XP approaches to quickly create some small functions for their customers to review, and then iterate it until completely meets the requirement. Therefore, developing a system should be flexible in terms of methodologies, as system requirements are various.

Decision for in-house or outsourcing development
Developing a system require a lot of resource from many aspects of an organisation, especially the resource of IT experts. Organisation have to evaluate its ability to build system by itself before start the development process. If they don't have enough resource, purchasing product from software companies, which are specialising in some specific areas could be a good choice. This way to build a system require lower cost and set up a system much faster. But usually it couldn't meet what customer need entirely. So it may not be a good choice for long term use, but may be a good choice for urgent needs or adding a few more functions onto existing system.

Object Oriented approach, a virtual method
OO approach has concepts that are similar to real natural world, so it helps develop system more naturally in comparison with others. In OO approach, developer can virtually create system comprised of many components, which can be virtually represented by UML. So through the medium of UML people can clearly understand how the internal parts of a system interact with each other. It contributes to a better understanding between customers and developers, as customer don't need a lot of technology skills background to understand the use case diagram. Also, it help developer assess the feasibility of functions in a system. Problems can be identified more easily, and developer are allowed make changes without causing lots of changes to other components, as one of features of OO approach is object independence.

No comments: