Thursday, December 22, 2011

System Analysis and Design: Assignment 6



          Many professionals who are working in the field of information system have different point of views regarding in creating and developing a software project in any companies and organizations in the world. Because different professionals in information system have different experiences in developing a projects, each of them have different strategies or techniques they want to implement in finishing the given project. Kayak nga kahit na ipagsasama pa ang iba't-ibang klaseng propesyunal sa isang malaking proyekto ng system development, hindi talaga maiiwasan na mayroong taliwas na pinaniniwalaan kung anong sistema o istratehiya ang ipapatupad o gagawin para maging matagumpay sa ginagawang proyekto ng grupo. Software engineering must not always deal with software development, but also developing good software by using such available knowledge with the help of different and various methods and effective use of tools. There are so many various existing software development approaches, that are defined and designed that are employed during the development process of software. There is particular life cycle in each process models that they are following in order to ensure success in the process of software development.

          It is very obvious that the two professionals in information system, Juan and Pedro, have different point of view regarding their projects on what they must do to create a new system or only modify the existing system they are using. It is very difficult to give the two different professionals a project that they must work on, who have different principles in creating a system development, because they may always argue in what method they must use to finish the creation and development of the project. In my own understanding, these differences of the two professionals can result to argument that can lead to misconception or missing the objectives of the project. It is very important that there will be teamwork to be able to work in harmonious way every individual in the team for the project to have a clear objective of the project.  Between the two professionals who have different point of view on what methods they must prefer to use to come up a new and more effective system they must use, I most see the effectiveness of the method that Juan want to implement in the project because, as what process of the method he want to implement, I saw the resemblance of the Waterfall Model method process he was talking about in the conversation because he wants to review the existing documents of the old system to see any defects or any improvements and modifications he want to apply in the old system. In that way, the old system can improve itself to the fullest because these modifications can enhance more the capabilities of the system that is why the Waterfall Model method of the system development life cycle is the most common method, and the first method that a man had created and the predecessor of the later software development method. Most of the existing system development models that had created were all derived from the Waterfall Model method because it has an all well planned process and methods to improve more the system. That is why the Waterfall Model is very common in all of the professionals in the information system industry because of its linear method. Maybe that is the reason that Juan prefer to use the method of Waterfall Model because it is all well planned process and it can detect the mistakes and any flaws in the program because of the complexity of the working program, and it is not in any circumstances that there is always a chance that the program cannot be effective anymore because of the always changing times and the fast pace technology in our age. So I discuss everything about the Waterfall Model to validate the proof that Juan really uses the Waterfall Model to have some improvements and modifications in the system they are using in the present. The Waterfall Model is using the development in a sequential software development model, and seen as flowing steadily downwards through several phases. These are the following phases in the Waterfall Model that followed perfectly in sequential order: Requirements specification, System Design, Implementation, Integration, Testing, Installation, and Maintenance. In Juan's approach in their conversation with Pedro, he is always specifying in the project that in the analysis is to first examine the old system and to have a review in the documents of the existing system. It has some common factors or definitions of the first phase of the Waterfall Model, the Requirements specification or System Analysis, from the statement of Juan during the conversation. The Requirements specification or System Analysis is the gathering of all the possible requirements of the system to be developed. The requirements also gathered from the end users because they are the one who is active in the usage of the system and the finished product of the software development. All of the requirements gathered are analyzed for their validity and the possibility of studying the requirements in the system to be developed. In these phase only, there are so many modifications that can be point out in the problems specifications. Just like the examination of the old system by Juan, he is reviewing the documents of the existing system sa kadahilanang kailangan makita muna ang lahat ng mga problema kailangan resolbahin sa old system para makapagbigay solusyon and modification of the existing system for it to properly function in the objectives of the modified system and to catch up the fast pace technology. Mas gusto ko ang proseso gagawin ni Juan kasi mas mapadaling baguhin at ayusin kung anong problema ang makikita sa old system kasi mas mapabuti pa ang modified system sa kadahilanang mas madali itong gawin dahil mayroon ng foundation kung anong gagawin para mapa-improve ang lahat ng kailangan baguhin at iimprove sa isang software system kaya mas napabilib ako sa istratehiya giganawa ni Juan. Pwede rin ginagamit ni Juan ang Reuse model of the system development model method kasi kagayang kagaya ang sinasabi ni Juan sa mga salita niya sa proseso ginagamit sa Reuse Model. Because the basic foundation of the Reuse Model is that the system should be built using the existing components, as opposed to custom-building new components. The Reuse Model is obviously suitable to Object-Oriented computing environments, which have become one of the premieres technologies in the present system development industry. The use of Reuse Model is that the libraries of software modules are maintained that can be reuse for the future modification of the system. These components of the Reuse Model are of two types: the Procedural Modules and the Database Modules. Every time they are building a new system, the developer or the creator will borrow a duplicate of a module from the system library and then plug it into a function or procedure. If the needed module is not accessible, the developer will build it a new one, and store a duplicate in the system library for the future use of it. If the modules are well constructed, the developer with minimum changes can implement them. These are the following steps that the Spiral Model can verify that Juan really uses this kind of method in his modification of their existing system. The first is the Definition of Requirements, then the Definition of Objects, Collection of Objects, Creation of Customized Objects, Prototype Assembly, Prototype Evaluation, Requirements Refinements, and the Object Refinement. The Definition of the Requirements is the initial step in system requirements that are collected. These requirements are usually a subset of the complete system requirements. This first process of the Spiral Model is very similar to the first process of the Waterfall Model, the Requirements specifications and gathering. This process may have resemblance of the two methods, the Waterfall Model and the Prototype Model; because it is very important to the development or modification of the existing system to really discuss and identify the potential upgrades or development of the old system, or maybe some problems exist in the usage of that system software. The next process is the Definition of Objects, this process is using the objects which can support the necessary system components, and it can be identified. Next is the Collection of Objects, this process allows the scanning of the system libraries so that it can determine whether or not the required objects are obtainable. The duplicate of the needed objects are downloaded from the system. Then the Creation of Customized Objects is the identification of the objects which of them are needed, and if the needed function or procedure in the existing library is not available, then the needed library is created. Then the Prototype Assembly is the creation of the prototype version of the system or the modification of that system using the important objects that can be used in the system. Next is the Prototype Evaluation, the prototype is evaluated to determine if it sufficiently deal with the customer’s needs and requirements. Then the next process is the Requirements Refinement, the requirements are additionally refined as a more detailed version of the prototype is created. Then the last is the Objects Refinement, the objects are refined to reflect the changes made in the requirements.

While Pedro is using the Prototype Model of the system development model method, based on my understanding about their conversation with Juan because he wants to develop and implement a new system in their departments. And because some of the detailed facts he discussed about the creation of the new system is that he wants to create and develop a new system in the short span of time. That is why I thought that Pedro wants to use the Prototype Model in the development of a new software system in his department.  The Prototype Model is the development of the program that is not based on strict planning, but instead it is based on the response of the end users. Because most of the traditional system development life cycle are those type of development who have all focused on the developers and not in the end users. The concept of prototyping has its bases on the development by creating prototypes after prototypes until the software created has been perfected. The Prototype Model is building slowly from a simple concept of what is a program, and the software is updated and tested little by little in a real time environment. The users have its participation and able to test and improve the software as what they are created. There are different types of the Prototype Model of system development life cycle. Each of the different types has their own advantages and disadvantages but the prototype model has its purpose in constantly changing until it reaches their intended end users and functions. There are mainly four types of Prototype Models that is based on their development planning: The Patch Up Prototype, Non-Operational Prototype, First of a Series Prototype, and Selected Features Prototype. The first type of the Prototype Model is the Patch Up Prototype, it is the of Prototype Model that encourages cooperation in different developers. Every developer will only work on a specific part of a program, and after each of the developers has done their part, the integration of the program will takes place and each of the programs will combine resulting in a whole new program. Patch Up Prototype is a fast development model because everyone is working on a different field, and if every developer is highly skilled, there is no need in overlapping in a specific function of work. The Patch Up Prototype as the type of software development model that only need a strong and experienced project manager who can monitor the development of the program. The project manager only controls the work flow of the developers and ensures there is no overlapping of functions happened among different developers. The second type of Prototype Model is the Non-Operational Prototype. The Non-Operational Prototype Model is only used on a certain part of the program that should be updated. The specific part of the program will work it could be tested as planned, even though it is not a fully operational program. The prototype or the main software is not affected by updates and modifications as the dummy program is applied in the application. This non-operational prototype is only implemented when certain problems in a specific part of the program arises, and because the software could be in a prototype mode for a very long time, updating and maintenance of specific parts is very important. Then the third type is the First of a Series Prototype, this is also known as beta version and could be very efficient if it is properly launched. But even though it is fully functional software, the only aim of it being in a beta version is to gather feedbacks, and suggestions. This kind of prototype model could be very successful if it is properly done. And the last and fourth type of prototype model is the Selected Features Prototype. It is also a beta version of releasing software but in another form. This selected features prototype is only introduced in the public the only selected features or limited access to some important tools in the program. These are the steps a Prototype Model is using in the process of system development: the Requirements Definition or Collection, the System Design, Prototype Creation or Modification, the Assessment, Prototype Refinement, and the System Implementation. The Requirements Definition or Collection is similar to the System Conceptualization phase of the Waterfall Model but not as complete as that process. The data or information collected is typically limited to a subset of the complete system requirements. In the System Design, once the preliminary layer of requirements data or information is collected, or new data or information gathered, it is quickly integrated into a new or existing design so that it may be doubled into the prototype. The Prototype Creation or Modification is that the data or information from the system design is quickly turned over in to a prototype. This may indicate that the creation or modifications of documents information, new coding process, or modifications to existing coding. Then the Assessment is that the prototype is presented to the end user or customers for the review. Comments and suggestions are collected from the end users or customers. This Assessment is very important in the creation of new system software because the developer must know the important details they can get from the reviews of the end users or customers in the software system they are using in order to relate those suggestions in the modifications of the working software system. Next is the Prototype Refinement, the data or information collected from the end users or customers is absorb and the prototype is improve. The developer must modify the prototype to make it more effective and efficient. Then the last phase is the System Implementation. In most cases, the software system is revising once requirements are understand. Sometimes, the iterative process eventually creates a working system that can be the foundation for the fully functional system. Each of those processes is very important to develop a new system in a shirt span time because it can easily develop a new system using those processes in this method. 

          So I conclude that despite of their differences in what method they must in the software project they working with, I preferably suggest that they might use the Spiral Model of system development method because the Spiral Model method was designed to include the best features from the Waterfall Model and the Prototyping Model, and they also introduce a new process in this latest method, the risk assessment. This risk assessment is new to this Spiral Model because it assesses the potential risk of the process they are taking in the development of the project. The term spiral is describing the process that is followed as the development of the system take place. This Spiral Model is very similar to the Prototyping Model because the initial version of the system is developed, and then repetitively modified the based input of the receiving part from the customer evaluation. But the Spiral Model is not that similar in all aspects of the Prototyping Model because the development of each version of the system is with awareness of the designed using the steps involved in the Waterfall Model. With each repetitive step around the spiral is more complete versions of the system are built. I can also suggest that they can also use the new software development method of Creating and Combining Model because this type of system development model has all the foundation of the previous model that had been created in the previous times and it can also be useful if the some individuals or teammates who are arguing of some aspects regarding the methods they must use in the development of the system software. In many cases, some parts and processes from various system development models are integrated to support systems development. This happens for the reason that most models were designed to provide a framework for achieving success only under a certain set of conditions. When the conditions change away from the limits of the certain model on what is using, the outcome from using it are no longer predictable. When this circumstance occurs, it is sometimes important to change the existing model to contain the change in conditions, or implement or combine the different system development models to accommodate the new conditions. The choice of a suitable system development model’s turning point mainly on two factors, the organizational environment and the nature of the application. Frank land, from the London School of Economics, recommends that the suitable approach to system design, system analysis, system development, and system implementation could be based on the connection between the information systems and its organizational environment. That is why some of the arguments on the conversation between Juan and Pedro can be pointed out in the combining of their ideas on what system development method they must use to have some peaceful and workable team they can work on. The later development of some software development model method can be very useful in some point on a certain project because in the industry of information system, the technologies are in fast pace changing in organizational environment and the needs of the customers of a faster finished product of new system software that the developers are creating or developing in their industry.

References:

http://it.toolbox.com/wiki/index.php/Prototyping_Model 

http://www.ctg.albany.edu/publications/reports/survey_of_sysdev/survey_of_sysdev.pdf

No comments:

Post a Comment