Thursday, January 26, 2012

System Analysis and Design: Assignment 8


Use Case for Student Application
Actors: Student, UGTO Officer, Cashier
Description:  The student inquires requirements in UGTO so that they will know all they must give for the student application in the university. Then the UGTO will receive the given requirements of the student application and give the applicants their respective USEPAT schedule. All the applicants can take USEPAT exam if they pay a USEPAT fee in the cashier. Then the applicant will pay in the cashier and receive an official receipt for the proof in UGTO that they can now take a USEPAT exam. The very important requirements on the application in the university is that they must a high school graduate and can give a Form-138 for the proof of finishing high school and also a Certificate of Good Standing from the Principal’s office. If the applicant cannot provide on those requirements then they cannot continue in applying in the university.

Use Case for USEPAT Examination
Actors: Student, UGTO
Description:  After the UGTO has given a USEPAT schedule and their location or venue for examination then the student must arrive on those schedule he has given. After presenting the official receipt on the UGTO officer, then the applicant can now take the exam. The applicant must have a pencil for the exam. After taking the exam, the applicant will know if they can take and enroll a Bachelor’s Degree or Vocational courses depending on the result of the exam. The only thing that an applicant cannot take a USEPAT exam if they did not pay on the cashier for the USEPAT fee.

Use Case for English Bridge Program
Actors: Student, Institute of Language, Cashier
Description:  The applicant must present the USEPAT result in Institute of Language for the verification of enrolling the applicant on English Bridge Program if he has a failing grade on English test of USEPAT exam or giving him exemption of EBP if he passes the English test. For the applicant who must take the EBP must first pay in the cashier for the EBP fee and module then the applicant must present the official receipt in Institute of Language for receiving the EBP module. The applicants undergo a 10-day program in EBP and after completing that requirement is that they receive a certificate for completing the program. Only the applicant who did not pay the EBP fee who cannot pursuit the English Bridge Program.

Use Case for Medical Examination
Actors: Student, Clinic Personnel
Description:  The student must take a medical examination for the requirements in enrolling in the university. The student only goes to the clinic for the Physical Examination and then fill-up the required form for their data in the clinic.

Use Case for Interview
Actors: Student, College Faculty
Description:  The student must first take an interview on their chosen college or course they want to take and then goes to the respective location of those colleges. They will be interviewed by the college faculties because they are the one who decide if the student passes and qualified in enrolling in their college and their respective courses. Only the student who take a USEPAT examination who can be interviewed by the college faculties.


Sunday, January 22, 2012

System Analysis and Design: Assignment 3


This assignment 3, defines what project manager is? Then basically, we did interview a system analyst so that our information here is the basis of our answers in this assessment. In general terms, he said that he must work with his responsibilities of executing, planning, and closing in any project, computer networking, and software or telecommunications development. By that definition according to the project manager, he is working in related branch in computer networking and software development because he is working in the information system development. Moreover, a project manager is also the responsible for accomplishing the stated project objectives. The key project management responsibilities include creating clear and attainable project objectives, building the project requirements, and managing the triple constraint for projects, which are cost, time, and quality which is also known as scope. In addition to that, a project manager is often a client representative and has to determine and implement the exact needs of the client, based on knowledge of the firm they are representing. The ability to adapt the procedures of the contracting party, and to form close links with the nominated representatives, is essential in ensuring that the key issues of cost, time, quality and above all, client satisfaction, can be realized. According to him, being a project manager is very hard and difficult for adapting that kind of issues and situations. Handling all those kinds of problems could be considered of being a good and effective project manager. For him, he could meet all those qualifications because he has the complex experience of being a project manager for a couple of years. Based on him, the term and title project manager has come to be used generically to describe anyone given responsibility to complete a project. However, it is more properly used to describe a person with full responsibility and the same level of authority required completing a project. He said that if a person does not have high levels of both responsibility and authority then they is better described as a project administrator, coordinator, facilitator or expeditor. Being a project manager is very essential in the IT business industry because they lead and handle the big project that was assigned to him. Project manager has many responsibilities to do their effectively and efficiently. However, there are many hindrance and obstacles when doing their jobs. For more information he had answered during the interview is that there are specific responsibilities of being a project manager like him. He said it varies depending on the industry, the company size, the company maturity, and the company culture. Yet, there are some responsibilities that are common to all project managers. First, he emphasized the responsibility of developing the project plan, managing the project stakeholder, managing the project team, managing the project risk, managing the project schedule, managing the project budget, and last but not the least managing the project conflicts.
Ms. Sharon Lei Lomantas is also a project manager in their team in City Information and Technology Center and a System Analyst. A project manager, according to Ms. Lomantas, is the one who organizes the task of every team member in the given project and the leader of the information system project of the company. Ms. Lomantas said that a project manager must have many experiences in handling a team in a project because of the complexity of t hat profession and for the reason that it is crucial in the hands, skills and characteristics of the project manager the successfulness of the project. As a project manager, he or she must have a high leadership skills for him or her to effectively guide and implement the necessary steps that a team must do in order to achieve the correct requirement that the client want to. And to be an effective leader, a project manager must had an experience before as a member in a team in a large project of a company because in that way, a project manager can fully understand the hardships, the necessary responsibilities of every team member, and every individual members of the team their skills and capabilities as how they must work their jobs in the project. As Ms. Sharon Lei Lomantas said, a project manager does not necessarily need to involve in programming task because it is a burden for a project manager to do that kind of task for the reason that he is the only leader in the team and he supervise all the task of every member in the team. The project manager only dictates to the every individual in the team their respective tasks but the project manager must know first the individual capabilities of the team members for him to correctly assign the important tasks in the project, and each member has individual task based on their capabilities because the project might fail if the project manager did not correctly assign the important tasks to the one who cannot fulfill the assign duty. The project manager also dictates to the team members on how to do all those tasks that they were assigned for them to really understand their main purpose in the project, and the project manager is the leader in the team and must lead the flow of the project. We had also interviewed Mr. Mark Fernandez who is working in Digital Interface, Inc., and he said that a project manager does not necessarily have a high IQ but the important is that he must be a critical thinker. A critical thinker in all aspect of the project, whether in financial, in resources, in management, and other related issues that may affect the development of the project. To be a project manager does not need to have a high IQ for the reason that managing a team in a project can be learned through experience and having an experienced to be a member in a team in the project especially if you are a system developer or a system analyst in the team, because those positions are very crucial in the success of the project. And if the project manager does not correctly assess and guide a system developer and system analyst there proper tasks that they must accomplish, there is a high possibility that a project may fail or maybe the deadline of the project is delay because of the slow development process of the project. A project manager, according Mr. Mark Fernandez, knows how to assess a problem that affecting the flow of the project, example in the delayed gathering of data of the system analyst. Because of the work of the system analyst is the foundation of the information system project. Mr. Mark Fernandez must always follow-up the deadline of the project for the client.

Interviewed person:
Ms. Sharon Lei Lomantas


System Analysis and Design: Assignment 2

System analyst has a major and general role for making the IT industry so progressive nowadays. Having the accurate one is the best thing to define well the system analyst. These facts are from slideshare.net. This is very usable to make people aware of how important they are in computer industry. The precision of definition is enough to us to widen our knowledge about these matters. These are the following roles. First, the role of an analyst is to help organizations understand the challenges before them to make this transition and to ensure that the needs and expectations of the client are represented correctly in the final solution. Working this kind of matter is very essential for making a good and precise plan for these. Second, each company needs to define the specific roles and responsibilities that an analyst plays in their organization. However, the general roles and responsibilities of an analyst are defined below. Defining the roles first in the early part of planning is very important too. Third, in general, the analyst is responsible for ensuring that the requirements set forth by the business are captured and documented correctly before the solution is developed and implemented. One of the most important things in doing a project is making the documentations more effective and efficient way so that the clients are very excited for the output of their expectations. Fourth, in some companies, this person might be called a Business Analyst, Business Systems Analyst, Systems Analyst or a Requirements Analyst. Thus, it means this kind of analyst is very important in business industries. They are very in demand in this field where as their brilliant mind and skills are much needed. Fifth, while each of these titles has their particular nuances, the main responsibility of each is the same to capture and document the requirements needed to implement a solution to meet the clients' business needs. In this situation, it emphasizes that making documentations is also the process of very tiring days of rigid planning, without these one, it might absolutely the project would not meet the customer’s needs and requirements Sixth, if requirements are not captured and documented, the analyst is accountable.  If the solution meets the documented requirements, but the solution still does not adequately represent the requirements of the client, the analyst is accountable.      Another role is, Process Responsibilities. Once the Analysis Phase begins, the analyst plays a key role in making sure that the overall project successfully meets the client needs. These include analyzing and understanding the current state processes to ensure that the context and implications of change are understood by the clients and the project team. Developing an understanding of how present and future business needs will impact the solution. Identifying the sources of requirements and understanding how roles help determine the relative validity of requirements. Developing a Requirements Management Plan and disseminating the Plan to all stakeholders. Then, identifying and documenting all business, technical, product and process requirements. Working with the client to prioritize and rationalize the requirements. Helping to define acceptance criteria for completion of the solution. Again, this does not mean that the analyst physically does all of this work. There may be other people on the team that contribute, including the project manager. However, if the finished solution is missing features, or if the solution does not resolve the business need, then the analyst is the person held accountable. Pertaining to analyst skills, generally, analysts must have a good set of people skills, business skills, technical skills and soft skills to be successful. These include having good verbal and written communication skills, including active listening skills. Being well organized and knowing good processes to complete the work needed for the project. Building effective relationships with clients to develop joint vision for the project. Assisting the project manager by managing client expectations through careful and proactive communications regarding requirements and changes. Negotiating skills to build a final consensus on a common set of requirements from all clients and stakeholders. Ensuring that stakeholders know the implications of their decisions, and providing options and alternatives when necessary.
In general term, a system analyst, recommends software and systems, researches, problems, plans solutions, and coordinates development to meet business or other requirements. They will be familiar with multiple varieties of programming languages, operating systems, and computer hardware platforms. Because they often write user requests into technical specifications, the systems analyst are the liaisons between vendors and information technology professionals. They may be responsible for developing cost analysis, design considerations, and implementation time-lines. System Analyst, in an IT Business Analyst, they are more focused on system design and the technical aspects of the solution. Their role is mostly system solution centric which means it does not generally participate in the requirements gathering process, and is involved in the creation of functional and technical specifications. This is the professional who, once requirements are clearly defined, crates the functional solution, and by working with the technical team architect and developers, creates technical specifications and designs. For short, to make the facts short, generally, the system analyst may plan a system flow from the ground up. Interact with the customers to learn and document requirements that are then used to produce business requirements documents. Write technical requirements from a critical phase. Interact with designers to understand software limitations. Help programmers during system development, examples are provide use cases, flowcharts or even Database design. They perform system testing and deploy the completed system with sample/live data with the help of testers. Document requirement or contribute to user manuals. Whenever a development process is conducted, the system analyst is responsible for designing components and providing that information to the developer. Implement the new system, and they prepare high quality documentation. Working as a system analyst has many considerations. Having a system analyst of working a big project, the company could really benefit it a lot. First thing first, the data gathered can be highly reliable, without system analyst this can’t be happened in a more organized way. Secondly, the system analyst could able to see what is being done. Third, their observations are less expensive compared to other techniques. And the last but not the least, it allows the system analyst to do work measurement. For this case, working as a system analyst has also the disadvantages of making the project. First, the people or the workers feel uncomfortable and uneasy being watched by others. Workers might feel very conscious about their doings on how they will handle it during those times. They might perform differently when bring observed. However, the work being observed may not involve the level of difficulty or volume normally experienced during that time period. Second, some activities may take place at odd times. It might be inconvenience for the system analyst. The task being observed is subjected to type of interruptions. Yet, some task may not be in the manner n which they are observed. Lastly, Sometimes people act temporarily and perform job correctly when they are being observed. They might actually violate the standard of manner. 
As we had interviewed Ms. Sharon Lei Lomantas, I fully understood now the lectures and the teachings of our instructor of SAD subject and the reports of our classmates because she have much experienced of being a System Analyst in the office of City Information Technology Center in Davao City Hall Office. Ms. Lomantas was graduated in AMA on 1994 with a course of Bachelor of Science in Computer Science and she started working in City Information and Technology Center in Davao City Hall on 1994 also and in this present she’s an Information System Analyst III in CITC. Their projects were Motorized Tricycle Franchising System, Senior Citizens ID System, DCG Web Portal, Infrastructure Project Monitoring System, Davao City Animal Profile Information System, and a lot more because they have done a lot of projects since their team in CITC worked in Davao City Hall. As we are discussing the works as a System Analyst, there are lots of hard decisions to be made to make the project more efficient and successful. In the office of CITC in Davao City Hall, there are also lots of programmers and they are all in one team. We also ask the question of Mr. Gamboa about the best decision to choose by a System Analyst if the company is giving a project in a small budget, and her answer fits the answer of Mr. Gamboa that a System Analyst must always think any possible alternatives to fit the cost of the project to the amount of budget given by the client. And as a System Analyst, when proposing a project to the stakeholders or clients, they must also present lots of solutions or possible alternatives for the clients to choose what best alternatives they must implement in the project. In choosing a different system development life cycle models, it depends on the different kinds of project to work on what specific SDLC model we must implement because each SDLC model has a specific functions and rules to follow in creating a software projects. And she suggests as a beginner, we must use the traditional model to safely implement and finish the project we are trying to work. She also discussed that it is not advisable to the programmer to use multiple SDLC model in one specific project because it may cause confusion in using different tasks and process in each SDLC model, and it may also result in the failure of the project because there is no specific goal if using a multiple SDLC models. It is possible for the team of programmers to use a hybrid SDLC model if they are already experts in creating different software projects in their professions but they must set a goal in the project if they are using a hybrid model. And she gives an advice to us in working project software that we must have a thorough planning in working such a project because one of the reasons of failure in the project is on the spot work of a project without a clear planning phase of the project. And another discussion she discussed about the work of the system analyst is that the system analyst doesn’t always involved in doing a programming task in creating a project, but it depends on the  task that the project manager or the company and organization he is working with told him what task he must do in the project. But probably the system analyst is the one who do the entire data gathering for the project and must guide the flow of the system development than doing the programming tasks. The responsibility of the system analyst in the project is to gather data from the planned company project and ensure that the collected data is reliable for them to create a secure and correct output of the proposed system. And if there is a chance that there is a problem occurs in the system, the system analyst has an obligation to review the system until he find the error that they encounter the project, and he must help all the type in the system developer because the work of the system analyst is the first platform of the development of the system. They have given us a copy of their CITC Development Guidelines that was saved in MS Excel but we cannot post it in blog or any public website because of the ownership of this file and we are the only one in our group that they give us an authority to have a copy of this. But despite on that matter, I only summarize the details that their CITC Development Guidelines followed in their respective projects they had worked on. They used an Agile Model Driven Development, there are five phases AMDD Cycle and these were Initial Requirements, Envisioning, Initial Architectural Envisioning, Iteration Model, and Model Storming. In Initial Requirements, they must identify the high-level scope of the project. In Envisioning, they identify the initial requirements stack and an architectural vision. In Initial Architectural Envisioning, they are now working the technology diagram, user-interface model, domain model, and etc. In Iteration Model, they are integrating the modeling in iteration effort, and they need to model enough to give good estimates and to plan the work for the iteration. This was also the task of user-interface prototype and physical data model. In Model Storming, they work through specific issues in JIT manner; the stakeholders are actively participating, and the requirements are evolving throughout the project.  We had also interviewed Mr. Pabilona about this topic and he said that to be an effective system analyst, according to Mr. Ariel Pabilona, the person must first experience to be a system developer in a project for them to know the process and the work of a system analyst because each work that had done by the system developer must first be approved by the system analyst and the flow of the process in the system. Because the system developer and the system analyst is a partner in the team and the system developer always depends on the work of the system analyst because the system analyst is the researcher and the one gathering data for the project and the work of the system developer always based on the work of the system analyst. That is why to be an effective system analyst must first experience as a system developer in a project.

Interviewed person:
Ms. Sharon Lei Lomantas
Mr. Ariel Pabilona




References:
http://www.slideshare.net/infinityrulz/roles-responsibilities-of-system-analyst-3043450
http://www.modernanalyst.com/TheProfession/Roles/SystemsAnalyst/tabid/184/Default.aspx

Thursday, January 19, 2012

System Analysis and Design: Assignment 7

 
 

Use Case for Student Application
Actors: Student, UGTO, Cashier
The student must go first to UGTO for the requirements and the scheduling of USEPAT examination and then payment of USEPAT in cashier.

Use Case for USEPAT Examination
Actors: Student, UGTO
Under the supervision of UGTO personnel, the student takes the USEPAT Examination.

Use Case for English Bridge Program
Actors: Student, Institute of Language, Cashier
The student will take an EBP Examination under the supervision of IL personnel. If the student fail the exam, he will undergo EBP class and have a payment for it in the cashier.

Use Case for Interviewing
Actors: Student, Faculty
The student will undergo interviewing in respective colleges of choice.

Use Case for Medical Examination
Actors: Student, Clinic
The student will undergo Medical Examination with the supervision of Clinic Doctor

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

Tuesday, December 20, 2011

System Analysis and Design: Assignment 5


In assessment number 5, we need to consider our school which is University of Southeastern Philippines of how do we know that the life cycle was developed there, and  also how do we know if it meets our needs? Well, in answering this question I refer it from my previous assessment for the system development model’s framework which is the Waterfall Model for the cycle that out university has. Yet, waterfall model is the basis of other system to have a progress for model’s framework. Upang matukoy nang maigi ang Waterfall Model, ay mariing ibibigay ko muna ang kaangkop angkop na definition nito, ito ay isang chronogical software development on which it can be seen tulad nang isang pinong tubig na umaagos pababa na hinahalintulad sa isang water falls. And because it so sequential and flowing in an organized manner, so this model passes in different kind of phases. There is a process on which the Waterfall Model has, on which one should move sa kasunod na phase only if the preceding phase or process ay kompleto na at perpekto. The consequence of discrete, and walang pag-iskip sa kung saan man parte ito o ang pag-exceed between them are the developments of every phase in the waterfall model. Nowadays, many professionals that see this approach as rigid in particular. Ang modify and edit or develop sa waterfall model has been created all throughout the years. Moreover, new variants of the model have been emerged. However, how many years had passed, ang waterfall model ay nagawa sa kapanahonang iyon ni Royce. Royce did propose as the popular named “The Waterfall Model” na pangunahing konsepto. According to Royce, he said that the model he had created was flawed. However, time passed and then his documentation and supported facts about these matter ware explored by others kung papaano madevelop ng maayos ang waterfall model to an Iterative Model. Kung naguguluhan ka kung ano ito, ito ang modelo na may ibang method of effective structured system development model. Maraming mga feedbacks, reviews and comments sa kanyang mga ginawang mga theorya tungkol sa waterfall model. Lalung-lalo na sa kanyang mga nagawang dokumentasyon kaukol nito. And one of the feedbacks is that it comes from each phase that influences the previous phases, which is the same and comparable to other system development models. Yet, this models is used widely and highly regarded by many in the current days. Even if the intention of Royce of his waterfall model idea is good to have a better and improve changing model which is Iterative model, the Waterfall Model is still widely use in the present because of its purely sequential and effective chronological process. And the structure of Waterfall Model in software development ay palaging ini-rerefer to any other approaches to software creation which is seen as inflexible and non-iterative. Despite those obstacles and problems th waterfall model engaged by always been attacking of how many years for being too unrealistic when it comes in meeting the needs of the clients quickly and easily. Moreover, having the theoretical basis for other prosesong modelo o process models because it is for the closest resemble of generic model for improving and developing software. May mga phases ang water model, these are the following phases, and it is sequential order, first is Requirements Specifications, System Design, Implementation, Integration, Testing, Installation, and Maintenance. The Requirement specification phase, it captures all possible requirements of the system to be developed and improved. Ang lahat nang requirements na ito on which it must be gathered from the end user (who will be using the system) at the start of the software development phase, peru ang mga requirements must have some set of functions and constraints that the end user expects from the system. Pagkatapos mangalap ng mga information o mag-gather ng datum, ang mga requirements are analyzed for their validity whether it is valid or not or available or unavailable. And also studied for the possibility and probability of incorporating the requirements in the system to be developed and improved. At ang panghuli, ito ay ang creation of a document of requirement specification which serves the purpose of guideline para sa nasabing kasunod na phase nito.
          Peru ang ibang sources had a statement that a  System Conceptualization ang pinakaunang step para sa prosesong ito because it refers to the consideration of all aspects of the targeted business or companies’ function or process, with the aims of determining how each of those aspects relates with one another, and which aspects will be incorporated into the system, and the extensive communication between the customer or client and the developer is essential or very important. Nang dahil dito, the first step is mainly the job of a system analyst na napakahalaga sa ganitong aspeto. The purpose of his profession in a team project of collecting and gathering ng mga facts and detailed information and datum. In addition to that, ang pagkakaroon ng matinding analysis on the gathered data with the aims and goal of determining and defining how these requirements  and issues will be accommodated in the system. At ang pinaka-unang proseso nang waterfall model is very crucial in the hands of the system analyst and project manager because ito ay ang foundation of the software development, and for some instances that the system requirements they have gathered are incorrect or didn’t meet the needs of the customers or client. And next is,  they proceed in the next phase kahit na hindi kompleto o perpekto for gathering and analysis of the system requirement, there is a case on which in the earlier part of the doings that there is no sure for having the proper output of making the software development and then it leads to project failure para sa grupo. In this case, waterfall model is very important of having a perfect na pagsisimula sa isang phase bago simulan ang susunod na process para walang aberya mangyayari sa project at tuloy tuloy na ito sa tamang proseso o daan sa pagtatapos nang software development. Napakahalaga sa aspetong ito, na lahat ng kalahok sa grupong sotware development ay mapag-matyag at mapag-obserba para matukoy o malaman kaagad ang problema sa simula pa lamang. Kung may ganitong karakteristiks ang mga tao sa isang grupo sa pagdevelop ng software development, malamang ay successful sila at the last and final phase of the project. In the System and Software Design, it is really essential in understanding the requirements well of the end user and having an idea on how should the end product looks like before starting the actual coding phase. Knowing it first is very important, and maintindihan mabuti anf problem and sample output’s client. Ang pinaka unang phase of requirements specifications are studied in the second phase and a system design is prepared. System Design ay nakakatulong to define the overall system architecture, and specifying hardware and system requirements. The specifications of system design must serve as an input for the next phase. Kinakailangang mabuti na maidentify ang mga detalye on how the system will be constructed to perform necessary tasks after the requirements have been collected and analyzed. Thus,  the System Design phase is focused on the data requirements, and software and interface construction. Ang basehan ng second phase’s success depends on the completion and perfection of the first phase’s requirements gathering and analysis because the design is mainly dependable kung gaano katama, akma o accurate, and also how worthy the data gathered from the sources. Designing a system maybe difficult if the gathered data is inaccurate in some reason that limited resources or limited information with the system analyst’s lack of responsibility in working his tasks. Ang kasunod ay ang Implementation phase, the actual coding is started here. Dito nagsisimula ang lahat,  and the work is divided in modules or units after receiving the system design documents. The system is the first to be developed of one small programs called units. Units, which are integrated in the next phase. Every unit is developed or improve and tested for their functionality and it is called unit testing. The purpose of unit testing is to verify if the modules or units meet their specification or not. Ang implementasyong ito ay ang phase na kung saan it can also be called programming because this process is mainly worked by coding all those design presented using any programming languages like java or c++  and etc. It  involves the creation of the system software. All those requirements and systems specifications are all translated into machine readable computer code from the System Design phase.


In the coding phase or implementation phase, one of the important phases in the software development. Yet,  there are lots of individuals must be grouped in this process because of the complexity and kalakihan ng project of the process that must be worked out, but it depends on the system they are working with and the skills of the programmer possess kung gaaano ba sila kagaling o madiskarte. Well, and also the programmer must always interact with the designer to make their work complement each other because having misunderstanding with their works may cause major disaster in the software development and may also cause of wasting the important time they might use in creating and implementing the desired design. Kung hindi nila makipagcommunicate ng maayos sa isa’t isa ay maaring magkakaroon sila nang communication breakdown. At kung magkakaroon ng communication breakdown ay napakatinding abala ito para sa ibang kagrupo sa trabaho na team project kung tatawagin. Kelangan din ang matinding team spirit sa parting ito nang sa ganuon ay magkaroon ng epektibong output para sa mga kliyente. After creating and implementing the designed system, it is important to have some testing of the coded software to ensure that the system created is working well. Try and try until it works successfully, and test and test over and over again to have the correct output. Testing and also detecting some bugs and errors in the programmed system are also important because working a large system might encounter some technical errors due to overlapping statements and functionalities in the program. In Integration and System testing, it is first divided the system into units which are developed and tested for their functions. After that, the units will be integrated into a complete system during integration phase and have some testing to check if all modules or units can coordinate each other, and the system as a whole behaves as per the specification. Pagkatapos ng napaka successful na testing and error checking, at ito ay wala nang mali pa sa pag- test sa mga softwares, then it is finally delivered to the client or customer. Testing has generally focused on two areas. These two areas are include the following:  internal efficiency and external effectiveness. The external effectiveness goal is to have verification on the software if it is functioning according to the system design, and that it is performing all the important functions or sub-functions. While the internal efficiency goal testing is to make sure that the program codes is standardized, efficient, and well documented.  Nang dahil sa  iterative nature, internal efficiency testing can be a labor intensive process. Then, ang pinakahuling step ay ang  waterfall model is the maintenance phase, and the operations and maintenance phase is the phase of the waterfall model which is virtually a never-ending phase. All in all, ang lahat ng mga problema na maaring makita sa paggawa at pagdevelop ng system, ngunit hindi ito nakikita sa panahong development life cycle, ay maari lamang malaman at makita pagkatapos nitong i-deploy at gamitin ng mga customer kasi hindi lahat ng mga problema maaaring mangyari ay medaling madetect habang pinaplano at ginagawa pa ito bilang isang proyekto. Kaya ang mga isyung nauugnay sa isang system ay maari lamang masolusyunan kapag ito ay pagkatapos maideploy ang system. The problems are not all come into picture directly and easily but they arise from time to time and need to be solved as fast as possible, that is why this process is called maintenance. Ang pagmamaintain ng software ay mahalaga din sa bawat phase na ito. Maintanance is also modifying over and over again to have a better and improved software systems. Sa lahat ng system that have created in any individual, establishments, companies, and organization, there has always been a maintenance process in the software system they are using because of the reason that there is no perfect software system that a man had created in the technological age, and every devices, every software we are using must have a maintenance in its lifetime. Technology is changing every moment, therefore maintenance is very important. May mga  advantages sa paggamit nang Waterfall Model in the software development, one of it is that the work and control in the waterfall model has a clear compartmentalization because it is easier to set schedule for everyone’s tasks to be completed within a specific period of time since there is a compartmentalization. Ang isa pang advantage nito is that the waterfall model if the work of the particular phase has over after it was done working, it is the time para makapagsimula sa kasunod na phase of the model. Because of it, there is no overlapping of every phases or the product does not need to have to go through different iterative steps. And most of the time  managers are prefer to use the waterfall model in their software project because it is the easiest model to use and to implement due to its linear model. Thus, the managers are like to reduced in a large extent the cost of its resources because the processes of the waterfall model are carried out in a linear manner. This in turn ay nakakatulong nga malaki in reducing the cost of the project considerably. Ang pinakahuli-hulihan is the creation of documentation and running a test happens at the end of each phase, which in turn, helps in maintaining the quality of the project. Kung mayroong advantage in  using a waterfall model in a particular system development, then mayroong ding some disadvantages with the usage of that model. Isa sa mga disadvantages is the time consuming of gathering in all the important requirement specifications and the analysis of all the data, because it is very essential to collect and gather all the possible requirements in the process of requirement gathering and analysis phase in order to properly design the system, peru hindi lahat nang panahon is  that the requirements are received at once due to some lack of cooperation of some end users or customers. Kadalasan , ang  requirements na kelangan para gather o collect galling sa mga customer ay pwedeng mailagay sa listahan  kahit pagkatapos ng end of the process of requirement gathering and analysis phase na makakaapekto sa system development process and the success and development of solving the sa negatibong aspeto. And also, kadalasan sa mga programmers na nakaka-experience na gumawa o lumikha ng database design ay nakakaexperience din with this  kind of problem arising from not well planned project and one of it is the problem in the early phase are never been solved completely during the timeline of working that phase. Lastly, it is a fact na maraming mga difficulties at problema sa particular phase na hindi nasosolve and move to the next phase of the process because ang nakikita lang nila ay ang mga problema and errors of the previous phase when there are some mismatch and flaws of the two phases. At ang resulta nito ay halatang-halata na not good ang structured system design inside and outside nang dahil sa hindi lahat nang problems are related to that phase are solved during the same phase. Yet, the other reason is that the project is not partitioned in every phases in a flexible way because of its linear manner. Kaya nga ang pinili kong sulosyon para maresolba ang mga problema tungkol sa mga problema sa unibersidad, kayaga ng kabagalan ng enrollment system, ay ang paggamit ng waterfall model kasi ang mga process nito ay angkop para sa unibersidad.  Kasi ginagawa ng waterfall model ang striktong pagpaplano sa mga problema at masolusyunan kaagad ang mga nakikitang depekto sa sistema.

Sunday, December 18, 2011

System Analysis and Design: Assignment 4


The very first system development models that had created and made the basis of the other system development model’s framework is the Waterfall Model. The Waterfall model is a sequential software development which can be seen as a flowing steadily downwards by the development, like a water fall, that passes through several phases. The Waterfall Model has a process that one should move to the next phase only if the preceding phase or process is completed and perfected. The developments of every phase in the waterfall model are as a consequence of discrete, and there is no jumping back and forth or overlap between them. As many professionals now in the present that see this approach as particularly rigid, modifying the waterfall model has been made over the years and new variants of the model have emerged. This Waterfall Model had been created several decades ago by Royce on 1970. He was proposed as what is now popularly called The Waterfall Model as an initial concept, and he made a statement that the model he had created was flawed. Then his documentation was explored on how the waterfall model could be developed into an Iterative Model, another method of structured system development model. And it has a feedback from each phase that influences the previous phases, which is similar to other system development models used widely and highly regarded by many in the present. Kahit na ang intensyon ni Royce sa kanyang ginawang Waterfall Model ay pagbutihin, palawagin at i-improve into an Iterative Model, the Waterfall Model is still widely use in the present because of its purely sequential process. And the term Waterfall Model in software development structure has always been refer to any approach to software creation which is seen as inflexible and non-iterative. Even though the waterfall model has always been attacked in many years for being too rigid and unrealistic when it comes in meeting the needs of the customers quickly, but still the waterfall model is still popular in the present at ang pagkakaroon ng teoritikal na basehan para sa ibang prosesong modelo o process models dahil para ito ay ang pinakamalapit na resembolo ng henerikong modelo para sa pagpapa-unlad ng pagbabago o pagdevelop ng mga software. The waterfall model has followed the phases perfectly in sequential order, namely, Requirements Specifications, System Design, Implementation, Integration, Testing, Installation, and Maintenance. The Requirement specification phase must capture the all possible requirements of the system to be developed. These requirement gathering must be gathered from the end user (who will be using the system) at the start of the software development phase, but those requirements must have some set of functions and constraints that the end user expects from the system. After gathering data, the requirements are analyzed for their validity, and also studied for the possibility of incorporating the requirements in the system to be developed. Then the last is the creation of a document of requirement specification which serves the purpose of guideline for the next phase. But some source stated that System Conceptualization must be the first step in the process because it refers to the consideration of all aspects of the targeted business function or process, with the goals of determining how each of those aspects relates with one another, and which aspects will be incorporated into the system, and the extensive communication between the customer and the developer is essential. That is why the first step is mainly the job of a system analyst because it is the purpose of his profession in a team project of collecting and gathering required data, and having an analysis on the collected data with the goal of determining how these requirements will be accommodated in the system. And the first process in the waterfall model is very crucial in the hands of the system analyst and project manager because this is the foundation of the software development, and for some instance that the system requirements they have gathered are incorrect or mayroong pagkukulang at taliwas sa kagustuhan ng kliyente, and they proceed in the next phase without completing or perfecting the gathering and analysis of the system requirement, mayroon sigurong mangyayaring hindi maganda sa pagsisimula ng software development at mahahantong sa project failure ng isang team kasi importante sa waterfall model ang pagperpekto sa isang phase bago simulan ang susunod na process para walang aberya mangyayari sa project. In the System and Software Design, it is really important in understanding the requirements of the end user and having an idea on how should the end product looks like before starting the actual coding phase. The first phase of requirements specifications are studied in the second phase and a system design is prepared. System Design helps in defining the overall system architecture, and specifying hardware and system requirements. The specifications of system design must serve as an input for the next phase. It is really necessary in identifying the details on how the system will be constructed to perform necessary tasks after the requirements have been collected and analyzed, and the System Design phase is focused on the data requirements, and software and interface construction. The basis of the second phase’s success depends on the completion and perfection of the first phase’s requirements gathering and analysis because the design is mainly dependable on how accurate and worthy the data gathered from the sources. Designing a system maybe difficult if the gathered data is inaccurate in some reason that limited resources or limited information with the system analyst’s lack of responsibility in working his tasks. Next is the Implementation phase, the actual coding is started here and the work is divided in modules or units after receiving the system design documents. Ang system ay una munang dinedevelop sa isang maliliit na programs na tinatawag na units, which are integrated in the next phase. Every unit is developed and tested for their functionality and it is called unit testing. The purpose of unit testing is to verify if the modules or units meet their specification. This implementation phase can also be called programming because this process is mainly worked by coding all those design presented using any programming languages, and involves the creation of the system software. All those requirements and systems specifications are all translated into machine readable computer code from the System Design phase. In the implementation phase or coding phase, there are lots of individuals must be grouped in this process because of the complexity of the process that must be worked out, but it depends on the system they are working with and the skills of the programmer possess, and the programmer must always interact with the designer to make their work complement each other because having misunderstanding with their works may cause major disaster in the software development and may also cause of wasting the important time they might use in creating and implementing the desired design. After creating and implementing the designed system, it is important to have some testing of the coded software to ensure that the system created is working well, and detect some bugs and errors in the programmed system because working a large system might encounter some technical errors due to overlapping statements and functionalities in the program. In Integration and System testing, it is first divided the system into units which are developed and tested for their functions. After that, the units will be integrated into a complete system during integration phase and have some testing to check if all modules or units can coordinate each other, and the system as a whole behaves as per the specification. After running a successful testing of the software, it is finally delivered to the client. Testing has generally focused on two areas, namely, internal efficiency and external effectiveness. The goal of external effectiveness is to have verification on the software if it is functioning according to the system design, and that it is performing all the important functions or sub-functions. While the goal of internal efficiency testing is to make sure that the program codes is standardized, efficient, and well documented.  Because of its iterative nature, internal efficiency testing can be a labor intensive process. Then the last step of the waterfall model is the maintenance phase, and the operations and maintenance phase is the phase of the waterfall model which is virtually a never-ending phase. Sa pangkalahatan, ang lahat ng mga problema na maaring makita sa paggawa at pagdevelop ng system, ngunit hindi ito nakita sa panahonng development life cycle, ay maari lamang malaman at makita pagkatapos nitong i-deploy at gamitin ng mga customer kasi hindi lahat ng mga problema maaaring mangyari ay medaling madetect habang pinaplano at ginagawa pa ito bilang isang proyekto. Kaya ang mga isyung nauugnay sa isang system ay maari lamang masolusyunan kapag ito ay pagkatapos maideploy ang system. The problems are not all come into picture directly and easily but they arise from time to time and need to be solved as fast as possible, that is why this process is called maintenance. Every system that have created in any individual, establishments, companies, and organization, there has always been a maintenance process in the software system they are using because of the reason that there is no perfect software system that a man had created in the technological age, and every devices, every software we are using must have a maintenance in its lifetime. There are some advantages in using the Waterfall Model in the software development, one of it is that the work and control in the waterfall model has a clear compartmentalization because it is easier to set schedule for everyone’s tasks to be completed within a specific period of time since there is a compartmentalization. The other advantage of the waterfall model is that if the work of the particular phase has over after it was done working, it is the time to start for the next phase of the model. Because of it, there is no overlapping of every phases or the product does not need to have to go through different iterative steps. And most of the managers are prefer to use the waterfall model in their software project because it is the easiest model to implement due to its linear model, and the managers are like to reduced in a large extent the cost of its resources because the processes of the waterfall model are carried out in a linear manner. This in turn helps the client or the organization in reducing the cost of the project considerably. Then the last is the creation of documentation and running a test happens at the end of each phase, which in turn, helps in maintaining the quality of the project. If there is an advantage in using a waterfall model in a particular system development, there are also some disadvantages with the usage of that model. One of the disadvantages is the time consuming of gathering in all the important requirement specifications and the analysis of all the data, because it is very important to collect and gather all the possible requirements in the process of requirement gathering and analysis phase in order to properly design the system, but not all of the time that the requirements are received at once due to some lack of cooperation of some end users or customers. Sometimes the requirements that must need to gather from the customer can be added to the list even after the end of the process of requirement gathering and analysis phase that can affect the system development process and the success of solving the negative aspects. And most of the programmers or every individual who had an experienced in creating a database design also experienced this kind of problem arising from not well planned project and one of it is the problem in one phase are never solved completely during the timeline of working that phase and it is a fact that many problems regarding in that particular phase arise after the phase is signed off and move to the next phase of the process because they only see the problem and errors of the previous phase when there are some mismatch and flaws of the two phases. And that results in badly structured system because not all of the problems related to that phase are solved during the same phase and the other reason is that the project is not partitioned in every phases in a flexible way because of its linear manner. And as the reasons of the requirements of the end users are only getting added to the list even if the requirement gathering and analysis phase was finished, not all of the requirements are fulfilled and being put into process, and this results in development of almost unusable system. That is why some of the system development can experience the increase of cost of resources because of the problem of some requirements are not fulfilled of the finished project and they want to meet the added requirements in the newer version of the system. There are so many criticisms that also arises because many real projects in the present rarely follow the sequential flow that the model proposes, and most of the beginning of the project is that there is often a very great deal of uncertainty in their requirements and goals, and it is then difficult for the client to identify those criteria on a detailed level. And the waterfall model does not provide accommodation  in this natural uncertainty very well. Using the waterfall model in the development of the system can be a long, painstaking process that does not give way in a working version of the system until late in the process. But even though there are arises some or few disadvantages that may experience in applying the waterfall model, it still to continue to be one of the popularly and widely used software development approach in the business and information technology industry in the world. This can be attributed to the fact that many of the advantages in using the waterfall model can outweigh or go beyond the disadvantages of it in certain kind of system projects. And the waterfall model perfectly fit for a particular project that the team who handled it does not have lots of experiences in creating a large system development.
Another sytem develoment model that had created by man to address nad modify the traditional system develoment life cycle is the Prototype Model. 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 improvethe software as what they are created. There are different types of the Prototype Model of system develoment life cycle. Each of the different types have their own advatages and disadvantages but the protype model has its purpose in constantly changing until it reaches their intendedend 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 cooperationin different developers. Every developers 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 program will combine resulting in a whole new program. Patch Up Protoype is a fast development model because everyone is working on a different field, and if every developers are 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 experoenced project manager who can monitor the development of the program. The project manager only controls the work flow of the developers and ensure there is no overlapping of functions happende 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 ir could be tested as planned, even though it is not a fully operational program. The prototype or the main sotware 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 maintenace ofspecific parts isvery important. Then the third type is the First os 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 a software but in another form. This selected features prototype is only introduced in the public the only selected features or limited access to some imortant tools in the program.
The another type of system development model is the Exploratory model, this used occasionaly to design and develop a computer system and this is an experimental, research-based system develoment model. This is the process that involved in the Exploratory model:
·         The work is determined at starting point. It as gathered together all of the information in attempt to get an idea on what will be the new system looks like, and how it can be done.
·         A rudimentary first-generation system is put together, based on the idea that has been formulated in the previous step.
·         The first-generation system is need to test to see how it performs,what will be updates need to do, and what it can and cannot perform.
·         A second-generation system is created from the first system, based on the improvements planned in the previous step.
·         The second-generation system is tested. There have an evaluation of the performance,and the possibility of improvements determined.
·         Then the process is repeated as many time as necessary to get the satisfaction of the end users,or until it is decided the the project is unusable.
·         Then the last is the routine maintenace is carried out on a long-term basis to avoid large-scale failures and to minimize downtime.

References:

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

http://www.learn.geekinterview.com/it/sdlc/prototype-model.html
http://www.buzzle.com/editorials/1-5-2005-63768.asp
http://www.ctg.albany.edu/publications/reports/survey_of_sysdev/survey_of_sysdev.pdf