Friday, December 23, 2011

John Juan and Peter Pedro

Note: Assignment 6 of System Analysis and Design

When it comes to the communication between two or more people from different fields of work and specialty, there is a tendency that they will not understand each other and most probably there will be misunderstanding and argument to decide who is right or who is wrong or whose idea or proposal is better than the other. Misunderstanding happens mostly to people who discusses all about highly critical issues that needs careful and, if possible, the highest attention. This happens as for the reason that the topic they talk over is very important to each other due to the huge effect on both sides. One wrong decision may lead to a loss of business, lowering of the level of integrity of a person, and other discouraging events. At some point in time, one person may think that his solution is better than the other who believes that his way is the better way out. Both of them may be right anyhow, but what is being weighed in here is of which consequences would solve the problem, yield far better results, and lesser expenditure and risks. The most important thing to consider is that the benefits should outweigh the costs.

The Situation
By understanding the situation between John Juan and Peter Pedro, we could assume that the condition needed to happen or to meet is the call for a change or improvement in the information systems of the department which is managed by Peter Pedro where the systems professional assigned is John Juan. It seems that Juan aims to investigate first the processes of the whole system, reviewing and observing the details of how the old system functions, and after that, determine which parts really needs improvements and are targeted for renovation or should be kept. On the other hand, Pedro believes that Juan’s style is just like any other he had experienced where the professional team suggests to make similar steps as mentioned by Juan then after all they (Pedro’s department) only gets the same old system but just slightly customized. Pedro now does not want to be confined in the old system so he recommends that they better identify a list of requirements for their system and let Juan and his team develop it.
This paper aims to answer the following questions or problems: 
  1. Obviously these two workers have different views on how the systems analysis phase should be conducted. Comment on whose position you sympathize with the most.
  2. What method would you propose they take? Why?
To understand more of the situation and to answer the above mentioned questions and problems, it seems right to understand first the nature of the two characters involved in the dialogue, the system analyst John Juan and the department manager Peter Pedro.

John Juan
John Juan, as stated in the situation, is a system professional working on a project for the company managed by Peter Pedro. Specifically, John Juan can be called as a system analyst based on the conversation of two people concerned. To know the duties and responsibilities of John Juan, we should first define and understand what a system professional, more specifically a system analyst is. So what is the work of a system analyst?
Based on the previous assessments, and by my own understanding, a system analyst is a specialist in formulating or designing solutions, specifically by developing information systems, for a wide variety of businesses and other organizations that needs support in technological aspect. A system analyst is married to the concept of system development life cycle (SDLC). He or she does the following:
  • A system analyst investigates the problem.
    • The first step of the system development life cycle is to investigate the current status of the client company or what is the problem all about. System analyst gathers basic information of everything the system is all about. He or she interviews some of the employee who are going to be the users of the system, or asks the person who truly understands the whole process or the flow of the business (for example, in an enrollment system, a system analyst should know what would be the different steps of the enrollment, who are the people involved in this step, or how long will the operational time be). The system analyst would also ask the client to define his or her basic requirements that the to-be-system must have.
  • A system analyst analyzes the situation.
    • After the system analyst gathers enough information, he or she would now analyze the situation. He or she would work on understanding everything that happens during the operation of the system. The system analyst studies the problem, what is the possible reason why such problem arises, and what would be the best way to solve the problem considering many things such as efficiency, cost, and other components critical to a business. In analyzing, a system analyst would still be in constant communication to the client for it would be faster to understand the unique process of the business.
  • A system analyst designs the solution.
    • By fully understanding the problem, the system analyst could now design the system. He or she creates the database design, the user interface, and other important parts of the system while still considering the wants and needs of the client company. The system analyst also decides what tools and approaches he or she must use for the system to be finished on time and efficiently.
  • A system analyst develops what he designed.
    • In this step, the system analyst now uses different tools such as programming tools and other utilities needed in developing systems. The system analyst now may also be called a system developer. He or she develops the system based on the design created, where he displays his or her skills in programming, constructing the system by modules for an easier approach.
  • A system analyst installs the system.
    • In this stage, the system has now attained the defined requirements of the client. The system is now to be deployed in the operation area ready to be tested by the users. The system analyst should train the users on how to use the finished system or how it works.
  • A system analyst evaluates the installed system.
    • Even though the system has finished developing, the system analyst should now evaluate how the users reacted to the system or how are they with the system. He or she should know if the client is happy with the resulting system the system analyst has developed. If there are any requirements failed to meet, the system analyst should handle the failure and continue developing it until the client is satisfied.
  • A system analyst should maintain the system.
    • There is no perfect system. Eventually, bugs and malfunctions will occur and as a system analyst, he or she should be prepared for the worst. Thus, a system analyst should know how to maintain the system where possible bugs and malfunctions will be prevented.
So basically, a system analyst is a specialist who creates an information system as a solution or an answer to any business problem that another person have and unable to solve by himself or herself.

Peter Pedro
While John Juan is a system professional specifically in the area of system analysis who deals with clients to solve their problems, Peter Pedro is the client who hires systems analyst like John Juan. Based on the conversation or dialogue between John Juan and Peter Pedro, he (Peter Pedro) is a manager of a department of a company. To understand the part of Peter Pedro, let us define what a manager of a department does.
A department manager aims to improve the outcome of a business using solutions created by successful management of integrated workforce. Specifically, the department manager can do the following on a department:
  • Add new users within the department
o   A department manager can decide who can be a worker in his or her department. He makes sure that his or her co-workers are skilled enough to generate better work and choose persons who he or she thinks that are easy to be managed.
  • Reassign users to another department.
o   A department manager can reassign an employee to another department if he or she thinks that his or her (employee) specialty is not really on the current department residence but to another department of the company. With this, the efficiency of the other department may be improved and also is the department managed by the one who decided to transfer the worker to another department.
  • Change Job Titles for users within the department.
o   On a specific department, there are also different types of work could be found; and if the department manager can see that the skills of the employee or worker is not suitable to his or her original assignment, and is better to be working on another job, the department manager can reassign the worker’s job title.
  • Assign users in their department as Document Owners and/or Document Reviewers
o   Some specific works on a department deals with documents. Specifically, an employee can be a document owner or a document reviewer. And as a department manager, he or she must know who to assign or who has the skill to become a document owner or a document reviewer.
  • Assign users in the department as Proxy Authors.
o   Proxy authors are persons who can sign some documents for specific persons (being absent or on a leave) who are unable to do so. By persons who are absent or on leave, one of them is the department manager. So when that happens, a certain employee must be authorized to sign a document if a signature is really in need. And with that, the department manager must assign a person who can become a Proxy Author.

To become a department manager, one should have the following basic skills:
  • The ability to lead and motivate the team
  • Excellent communication and ‘people’ skill
  • A strong commitment to customer service
  • The ability to work under pressure and handle challenging situations
  • Confidence, drive, and enthusiasm
  • Decision-making ability and a sense of responsibility
  • Sound business sense
  • An understanding of retail laws, security, and health and safety
 
Peter Pedro, who is a department manager, should basically have the skills and ability to do his roles in a company specifically in his department.

Now that we already know and understand the different roles of John Juan, who is a system professional, and Peter Pedro, who is a department manager, this time, we will dwell on the system development life cycle which is a framework of how an information system is created.

Systems Development Life Cycle (SDLC)
As how I defined a while ago what systems development life cycle (SDLC) is, it is a framework used by system analysts and developers in creating different information systems, and is composed of different phases.
  • Feasibility
o   The feasibility study is used to determine if the project should get the go-ahead. If the project is to proceed, the feasibility study will produce a project plan and budget estimates for the future stages of development.
  • Requirement Analysis and Design
o   Analysis gathers the requirements for the system. This stage includes a detailed study of the business needs of the organization. Options for changing the business process may be considered. Design focuses on high level design like, what programs are needed and how are they going to interact, low-level design (how the individual programs are going to work), interface design (what are the interfaces going to look like) and data design (what data will be required). During these phases, the software's overall structure is defined. Analysis and Design are very crucial in the whole development cycle. Any glitch in the design phase could be very expensive to solve in the later stage of the software development. Much care is taken during this phase. The logical system of the product is developed in this phase.
  • Implementation
o   In this phase the designs are translated into code. Computer programs are written using a conventional programming language or an application generator. Programming tools like Compilers, Interpreters, and Debuggers are used to generate the code. Different high level programming languages like C, C++, Pascal, and Java are used for coding. With respect to the type of application, the right programming language is chosen.
  • Testing
o   In this phase the system is tested. Normally programs are written as a series of individual modules, these subjects to separate and detailed test. The system is then tested as a whole. The separate modules are brought together and tested as a complete system. The system is tested to ensure that interfaces between modules work (integration testing), the system works on the intended platform and with the expected volume of data (volume testing) and that the system does what the user requires (acceptance/beta testing).
  • Maintenance
o   Inevitably the system will need maintenance. Software will definitely undergo change once it is delivered to the customer. There are many reasons for the change. Change could happen because of some unexpected input values into the system. In addition, the changes in the system could directly affect the software operations. The software should be developed to accommodate changes that could happen during the post implementation period.
 
John Juan and Peter Pedro on System Analysis Phase
In a situation where an old system is about to be replaced with a new one, examining the former is an important part in the system analysis phase for the reason that this step will be able to help the systems professional to know more about the old system. If the existing information system’s features and functional requirements are made known to the systems professional, then it will not be difficult for him to discover the real problem about that particular system and will be able to help him find more ways or alternatives which he may apply for the new information system.
In the situation of John Juan and Peter Pedro, both of them are really concerned with the systems analysis phase, where in the system development life cycle or SDLC is composed of the feasibility study and requirement analysis and design.
Peter Pedro’s concern is that on the previous development life cycle of their system, he thinks that it is unsatisfying to have a new system that only few modifications were made by the systems professional. And this time, he really wants to have a whole lot different system where his wants would be met but still not forgetting about the needs for the system to function well. Peter Pedro requests that he and John Juan should allot a specific time where they try to define and understand well the requirements of Peter Pedro and the company.
And on the side of John Juan, the system professional, he assures Peter Pedro that their job would be just to have a thorough analysis of the system, determining the things that work well and not. They do this by first examining the old system and observing the general and specific flow of the system they are trying to enhance.
On my opinion, and as a defense to the previous system professionals who analyzed and created the system (where the department manager is unsatisfied with), they have conducted the system development life cycle traditionally or just followed the framework. And the resulting system is really just what they think that is the best system for the company of Peter Pedro. But as Peter Pedro was dissatisfied, we must assume that some of their requirements of were not met by the system professional. And as John Juan enters on a new timeline, I think that he thinks that the problem with the last system development process is that there was a lack of communication that resulted to a dissatisfying system for the client. And so now, he assures Peter Pedro that the new system would be different from the last. And as in choosing sides, I would sympathize on John Juan.
Systems analysis is done to determine where the problem is. Essentially, John Juan is trying to analyze the situation and project goals (as what a systems analyst would do based on the systems analysis life cycle or SDLC), so in breaking down the elements of the system, the particular part which needs to be targeted can be recognized. In this way definite requirements can be defined and requirements gathering sometimes call for the individuals or team who are involved in developing the information system in the organization. This is where Peter Pedro, the manager of the department where the new information systems be developed comes into view.
Peter Pedro must also be right on saying that they should start on listing of the requirements needed. But, he must know that evaluating the old system is not constraining them from the old one, instead giving them a clear picture of a more perfect system.
Requirements shall be well determined and defined so to give an accurate list of what should be aimed to develop, change, or improve in a system. In constructing or repairing a house, you must first then identify which parts you need to build, hammer, saw, or paint and prompt for the materials and equipment you needed. Just like in solving any problem, you first identify the scope, the given, the steps you have to take before implementing the solution.
Gathering the right and accurate data is crucial in defining the requirements. It is because the specifications of the system to be developed depend largely on the requirements you have elicited. That is why, Mr. Pedro asserts to have a list of requirements to tell exactly what they wanted their system to do with their department.

Method of System Development
When we talk of System Development Life Cycle, there are a lot of methods (or known as models to system analysts) that a system analyst can perform. The approaches on these models differ in a way that some are predictive and some are adaptive. And based on the conversation of John Juan and Peter Pedro, I think that the method or model they would take is the waterfall model which is a traditional model and is focused on completing and, if most possible, perfecting each phase so that there would be no need to conduct again the previous phases.
The main focus or concern on the situation of John Juan and Peter Pedro is the system analysis phase. Though all models conduct analysis, I can say that they would propose the waterfall model because of what John Juan said that they would conduct a thorough understanding of what is working well and what is not. There is this assurance that the system analysis must be conducted only once, and when we say once, we always think that the analysis is a one shot where it would be slowly and surely, meaning almost perfecting it with one try only. And as what I have stated on the qualities of the waterfall model, the concept of analysis in the situation matches with the waterfall model. And as such, I can say that waterfall model is the method John Juan would perform in the development of the system for Peter Pedro.

Sources:


Wednesday, December 21, 2011

Information Systems in the University

Note: Assignment 5 of System Analysis and Design

The Need for Information System
Now that we are in a great age of technology where information can be gathered anywhere, many businesses and organizations take advantage of all these free and accessible knowledge. With these, businesses needs and get to become more competitive to each other. They do this by solving all of their problems and improving the efficiency of all the processes the business undergo. And one of the methods to improve the efficiency of a business task or process is by translating business process to information technology done through with systems development. The result of systems development, which as what information specialists and computer literates all know as information system, is the solution to those business problems that really needs to be addressed for the business to become more successful.
When we talk of business, it is everything that deals with the circulation of money. And I think, almost all the things in the world involve money, which includes the schools and universities. The universities’ main goal is to educate people, but to do that, they still need to have the financial support from the government or from the students themselves for them to continue learning. Money is needed to have the facilities and resources needed for the students to learn in school. As we are now studying in a premier state university, University of Southeastern Philippines attracts a lot of students due to its cheaper tuition as a result of the support by the government. In USeP, there is really a large population needed to be managed well, which is a very hard task. To do that, the university must have systems that must be really good and capable enough for it to satisfy the needs and wants of each student of the school.

Information Systems in the University
There are a lot of information systems found in University of Southeastern Philippines; and one of the systems that students directly deal with is the Student Account Management Information System (SAMIS) or more known to students as enrollment system, which is actually the process as what Dr. Randy Gamboa said in our class discussion one time. The flow of the Student Account Management Information System or enrollment system in USeP is actually just simple – simple in a way that you just have to do this or that, go here and there. To understand more about the process, here are the following steps of the enrollment process:

     1. Scholarship Renewal (for scholars only)
o   In this step, students with different scholarships go to the Office of Student Services to have their ‘blue cards’ be certified as renewed in their respective scholarships. Different scholarships, such as Nograles, Garcia, CHED, and DOST, have different ways of renewing the scholarship of the students. The common thing is that they need their blue cards signed or certified by Prof. Susan D. Villarente, the OSS Director.
o   This step is one of the most hassle steps of the enrollment process, for there are also a lot of students who have scholarships. I think that three fourths of the population of USeP is scholars, and most of them are Nograles and Gracia scholars. With almost the same process to get renewed in OSS, a very long queue would really make a student lose the patience and get frustrated with the slow process.

     2. Payment of miscellaneous fees
o   This is where students pay their fees on different academic clubs and organizations, local council, and the school publication.
o   This step is the first for those students who do not have any scholarships. But for the scholars, in actuality, paying of the different fees could be interchanged with the renewal of scholarships in the Office of Student Services.

     3. Advising
o   Advising is the step where the students go to their respective colleges and approach their corresponding adviser, which depends on the year level of the student. In the Institute of Computing, and probably also to the other colleges, the student gives his or her passbook to let the teacher encode the grades to his or her records. The adviser would then tell the student which subjects to enroll and not allowed to enroll. Then the student would be given the Pre-registration Form or PRF to write the subjects and the schedule. He or she would go back to the adviser to check the subjects written by the student and to verify if the subjects written are allowable to enroll. If satisfied, the adviser would then sign the student’s PRF.
o   Students cannot be advised by the adviser if he or she cannot present the official receipts from the payment of the miscellaneous fees.

     4. Encoding of Subjects
o   This step is the start of the raw data being entered to the computer and being processed to become information. Each college has its own encoder so in this step, there is no really hassle. In the Institute of Computing, Ma’am Jo encodes the subject by entering the subject code. The system then automatically loads the information about the subject and the schedule assigned for the subject. When the encoding of the subject is done, the encoder would then print the temporary Certificate of Registration (COR) that contains the subjects enrolled, their respective schedules and room assignments, some number of units, the and the fees to be paid.
o   Encoding of subjects cannot be done if the students do not present his or her Pre Registration Form (PRF) and the certified blue card for the students having scholarships.

     5.  Bookkeeper (for scholars only) / Cashier (for non-scholars only)
o   For the student without scholarships, they would go to the cashier to pay for the tuition fees. The cashier would take the temporary Certificate of Registration Form and keep it as their copy. And as for students with scholarships, they would also give the temporary Certificate of Registration to the Bookkeeper and present also the blue card signed by the Office of Student Services.

     6. Registrar
o   The last step of the enrollment process is to go to the registrar. This step is where the longest line of student is found. All the students from the different colleges would fall in one line to get their official copy of the Certificate of Registration (COR). There may be six registrar windows, and originally with each registrar window is dedicated to a specific college but now changed to everyone can go to different registrar windows, but there is only a single queue.
o   To get the official Certificate of Registration (COR), the student must present the receipts of the miscellaneous fees paid on the second step. He or also would have his or her identification card to get a sticker that proves that the student is a certified one for the current school year and semester, signed by the registrar in charge.

The real problem of the enrollment process is the fact that the university has a large population and with the number of people serving in different stages of the enrollment process that is very small. There is no problem with the software and hardware of the system. The problem, as how I observed on the Student Account Management Information System, is in the people ware. The number of personnel serving the students is too small and unable to handle well the large population of the university. The performance of the service of the authority of the university is unsatisfying for us, having slow movements for some, late start of the service, or too much break for others.
Another information system found on the university is for the employees, the Human Resource Management Information System (HRMIS). I really don’t know much about this system.  But basically, the core functions of this system are about the payroll, work time, benefits, and information of the employees. When we talk of Human Resource, we also talk about recruitment. The people behind Human Resource are the ones responsible for the decision of who can be employed on the university or organization.

Systems Development Life Cycle
A “life cycle” can be defined differently in various fields of discipline but generally speaking, a life cycle is the complete process of change and development during somebody's lifetime or during the useful life of something such as an organization, institution, or manufactured product.
In our university, we assume that the life cycle used in the different is the Systems Development Life Cycle (SDLC) as this is the traditional way to systems development. And as a premier university, there is a really big possibility to use the said method of systems development due to the integrity of having a reliable method.
Before we talk about the main question of this paper, we should know first the overview of systems development life cycle. SDLC has the following phases:
  • Project Planning and Feasibility Study
o   Generally, this is the phase where we define the problem and establish a high-level view of the intended project and determines its goals and objectives.
o   Specifically, we should be able to define the necessary feasibility studies such as the technical, economic, legal, operational, and schedule feasibility in order to assess the achievability of the project.
  • Requirement Analysis
o   This is the stage where we literally analyze the requirements needed by the users for the system. Generally, this is the phase where we refine the project goals into defined functions and operation of the intended application. The gathering of data for this stage can be performed in many ways. One method is by interviewing the staff from different levels – from end users to senior management. Another method that can be used in this phase is examining the current business and systems documents and output. The documents and outputs may include current order documents, computer systems procedures and reports used by operations and senior management. Observation of current procedures can be also done as a method in generating requirements for the system because through observation, bottlenecks of the system can be detected.
  • System Design
o   This is the phase where we describe the desired features and operations in detail, including screen layouts, business rules, process diagrams, and other documentation.
o   The details needed for this phase can include the hardware platform, software, outputs, user interface, modular design, test plan, conversion plan or the documentation.
  • Implementation
o   This is where the actual system code is written.
  • Integration and Testing
o   This is the stage where we bring the various modules together into a testing environment to check for functionality, errors, bugs, and interoperability.
  • Deployment
o   This is where the software is put into production and executes actual business processes. The actual installation of the hardware and software; training of personnel; and conversion of master files to new system are some of the processes done in this phase.
  • Maintenance
o   This is where changes, correction, additions are done if there are still errors undetected during the whole process of development.

How do you know that the life cycle was developed specifically for the university?
If you would ask me if the life cycle that I showed above is specifically for the university, I can say that it is. Why? Because every system developed for the university should generally undergo feasibility study; requirements analysis; system design; programming; integration and testing; implementation and maintenance and then back to feasibility study if ever a new problem in the system comes up.

Does the general SDLC meet our needs for the university?
Yes. Why do I say so?
It is because every system in the university should undergo the phases that I mentioned one way or another. Every system should undergo those phases at some point in time during development in order to proceed with the proper and organize way and to avoid project failure.
The type of system development model can be different among developers but all the phases that I mentioned are inherent in all models. Those phases may overlap or maybe repeated on some models but what’s important is that those phases exist and should be properly performed to ensure success.

Monday, December 19, 2011

First Visit to SSS

Today, we went back to Social Security System in Bajada, Davao City for our first company visit not counting our first approach to the agency when we were accepted to analyse their system. 
The intended time to go to SSS is 9:00 am, but due to some unfortunate circumstances, we were not able to come at the said time but instead, decided to go there by 1:00 pm.  And when we arrived, Mr. Joel Togonon referred us to Ma'am Juvie Anne, the only person in charge of the SSS Employee's Multipurpose Cooperative. Honestly, we don't know what to do or where to start. So we just decided to ask for the flow of their system. As Ma'am Juvie Anne explained us their system, most of the things she said were not understood by us. We don't know many things about the flow of money or about accountancy. Though as we ask again and again about some ideas, we were able to understood them. But still, there are more things we should ask again but study first. So we decided to just go back again some day later. Me and Viktor agreed that we should really learn and study all about the basics of accounting.

Systems Development Models

Note: Assignment 4 of System Analysis and Design

Systems Development
Systems development is a process that encompasses all the activities from defining a requirement for the target system up to the resulting system fully implemented and accepted by the end user. Systems development is not just a simple process where someone can just develop a system in a blink of an eye. Systems development needs to be performed and implemented with full attention of a system developer and other people involved. The whole process is very crucial that the development of a system is divided into different stages and can take a very long time. The process is called Systems Development Life Cycle (SDLC). Systems development life cycle, as defined in the reporting on “Approaches to System Development”, is a step by step process that provides the overall framework or structure for managing systems development process. It gives the system developer a formal process to execute and finish an information technology project. Basically, systems development life cycle consists of system planning (the request to do the project), system analysis (understanding the business requirement of the client), system design (creating the plan of the system that satisfies the requirements of the client), system implementation (the construction of the system using different tools), and system operation and support (the maintenance and enhancement of the system).

Systems Development Model
In systems development, there are a lot of different models and approaches to implement systems development life cycle. Systems development models could be predictive (where the requirements of the system are well understood and well defined and there is low technical risk) and adaptive (where the requirements and needs of the system are uncertain and there is a high technical risk). The two approaches have their own advantages and disadvantages over from each other. It is now up to the system developer or the system analyst to decide which model to use in the process of system development. And speaking of models, in this paper, we are going to identify and discuss three of the many system development models there is. These system development models are defined based on the system development life cycle (SDLC). All the models are developed through SDLC.

The Waterfall Life Cycle Model
Waterfall model, based on the report on the class, is a system development life cycle approach that assumes the various phases of a project can be completed sequentially in which one phase leads into the next phase. In this model, it is strictly to follow that one cannot proceed unless the previous phase is not yet finished. The output of each phase is then used as an input to the next phase.

Phases of Waterfall Model
Waterfall model is the model that is centered closest to the traditional systems development life cycle. It is a linear and sequential approach in system design and development. The phases of waterfall model are almost the same as to the system development life cycle (SDLC).
  • Problem Definition
o   This is the very first step of system development and is sometimes the hardest part of the process. Defining the problem is not that easy. It is not just discovering a problematic part of the system and then that would be the main problem, but in fact using the mind to accurately identify and then define what the real problem is.
o   Problem definition is also where the requirements of the to-be system is defined by the client. From here, the system analyst will now identify some of the possible issues regarding the requirements defined by the client.
  • Feasibility Study
o   From the problems and requirements defined in the previous phase, the feasibility study comes up next, where the system analyst or system developer studies the viability or the possibility of the system to be unique, useful, and to be with sense. It examines the market issues of the company and its financial state, whether the business requirements of the company meets the safe net of the organizations budget. Feasibility study also clarifies if the system to be created should be really implemented or better not. Cost is really considered in this phase.
  • Requirement Analysis
o   When the target system is feasible based on the results of the feasibility study phase, the system analyst or system developer now analyses the situation of the company. In this phase, he or she studies the flow of the system of the company, fully understanding every area of the business process; and to do that, the system analyst or system developer communicates with every employee of the company and also to the boss. Constant communication with the client is really important for it could assure that the understanding of the process of the client’s business is accurate and also the needs and wants of the client is not failed to meet.
  • System Design
o   In this phase, the system analyst or system developer creates the blueprint of the system. He or she develops the database design, illustrate how the user interface would look like, plan how the implementation would carry out, deciding what programming language to use, and other important duties that would affect the system development. Translating the requirements to information technology is also done in this phase. The desired features of the system should also be planned in this phase. A lot of designing tools are used in this phase such as Microsoft Visio for creating Data Flow Diagrams, Use Case, Entity Relationship Diagrams, and other diagrams relevant to system development. The system analyst also plans the approach on how to develop the system, for example is planning the modules of the system.
  • Coding and Testing
o   Based on the design created in system design phase, the system developer now uses his or her programming skills to translate to code the design of the system. How the system is implemented is based on what approach the system analyst defined in the system design phase. Developing in modules is the most used by lots of system developers. It is because with modules, finding the bugs and fixing them would be easier and faster. System testing is also executed by the system developer. System testing is very crucial because in this part of the process, possible errors might occur and which must be fixed. System testing should not be done only once, for when the system developer makes changes on each bug he or she finds, other functions or modules might be affected creating another bug. Perseverance and patience should be present in doing the system testing.
  • Implementation
o   Now that the system is now fully developed and already bug-free, it is now to be deployed and delivered to the client company. In this phase, implementation also refers to training the users of the new system developed. The system analyst would now present to the boss of the company the finished product.
  • System Maintenance
o   All systems eventually would generate bugs and errors for no system are perfect. It is like a metal that in the long run, the metal would rust. Systems are also like that. That is why system analyst or system developer should keep in mind to be open to future errors and bugs. And to prevent those future bugs and errors, timely maintenance should be performed on the system. If possible, further enhancement should be made for the system to become more efficient.

Advantages of Waterfall Model
With waterfall model, it is really a simple model to follow. It is easy to understand and easy to use. First time system analysts or system developers should be able to create systems easily and efficiently.  This model is good for management control for it is clear when to plan, design, and track the current status of the developing system. The requirement definition is also stable that causes stable development.

Limitations of Waterfall Model
Waterfall model have need of all the requirements to be defined and known upfront. There is also a possibility that the system can be frozen even before the design begins. When the system is frozen, which could take lots of years, technology selected for the system might be on the verge of becoming obsolete due to the fast changing technology. System freeze is also due to the fact that one phase can only proceed when the previous phase has finished executing. The customer or client can only view the system on development only once, and he or she might be unsatisfied; and when that happens, the system created might be for nothing because the client might change his or her mind in accepting the finished system.

Prototyping
Prototyping is one of the system development models where, obviously as the term defines, prototypes are the created. These prototypes, according to Walter Maner, are easily modifiable and extensible models of the system that already have the interface and input/output functionality. Prototypes are versions of software that are still under development and undergo constant changes.

Phases of Prototyping
Prototyping is developed to solve the limitations of waterfall model (obsolete technology due to system freeze and system requirements could also be frozen). With this, prototyping is done with the following process model:


  • Requirement Analysis
o   Basic requirements of the system needed are gathered. In this stage, only what the system basically all about is required. From here, the system developer analyses the flow of the system that the client wants.
  • Quick Design
o   From the requirement of the client and with the basic information about the system, the system analyst now designs the system with minimal functionalities but assuring that the important requirement is considered.
  • Building Prototype
o   The system is now developed using programming languages and other tools needed in creating systems. 
  • Customer Evaluation
o   After the first prototype is finished creating, the system developer now presents it to the customer or client and then evaluates the finished product. In this stage, the system developer and the client communicates and analyses as to what are lacking in the system, or what are the changes needed to do for the client to be satisfied. 
  • Refining Prototype
o   In this stage, the person involved is the system analyst or system developer. He or she now does modifications and enhancements by planning again the things to change. He or she would present it again to the client if he or she is satisfied with the plan.
  • Engineer Product
o   This stage is just like the building prototype stage. The difference is that the system being developed is not from scratch. The system analyst or developer only do the enhancement and modification based on the new design he or she created from the previous phase. After the enhancements and modification are done, he or she would present it again to the client to know if he or she is now satisfied; and if satisfied, then the system analyst or developer would execute finishing touches to finalize the system.

Advantages of Prototyping
In prototyping, there is a more active participation from the client for he or she could see the requirements as while being gathered. The client also can give right away his or her comments and have the tendency to change his or her mind on the requirements he or she needs. Errors can also be detected easy for the development stage needs only a short amount of time, thus testing can be done right away. In prototyping, flexible design and development is also allowed. The overall development cost can also be lowered when requirements change frequently.

Limitations of Prototyping
In prototyping, the complexity of the system may change beyond the original plan. False expectations can be created because of the fact that prototyping can produce systems very different from the one you want and expect.

Spiral Model
Spiral model is a system development model where the system undergoes four stages iteratively. This model is a combination of the elements of waterfall and prototyping models. As the name suggests, the activities in this model can be organized like a spiral which has many cycles.
Spiral model is more comprehensive life cycle model proposed by Barry Boehm in 1988 that is for the purpose of addressing the inadequacies of the waterfall model. According to Boehm, the approach of spiral model is to create risk-driven software process rather than a document-driven or code-driven process. Spiral model uses prototypes to minimize risk by repetitively using them.

Phases of Spiral Model
The structure of the spiral model is shown in the figure given below. Each cycle in the spiral begins with the identification of objectives for that cycle and the different alternatives are possible for achieving the objectives and the imposed constraints.

  • Quadrant 1: Determine objectives, alternatives, and constraints.
o   In this quadrant, the system analyst or system developer should understand the system or product objectives. He or she should consider the performance of the system, its functionalities, and ability to accommodate change as we all know that the system undergoes spiral change. Different implementations should also be kept in mind. Some of the implementations may be design, reuse, procure, and modify. From the implementations, limitations arise such as technology, cost, schedule, support, and risk. All these things must be investigated to make the system efficient.
  • Quadrant 2: Evaluate alternatives, identify, and resolve risks.
o   Alternative approaches are selected that best satisfies the constraints or limitations on technology, cost, schedule, support, and risk that are found on the last quadrant. In this quadrant, the focus is to alleviate or, if possible, diminish the risk. Each alternative is investigated and prototyped to reduce the risk associated with the development decisions. The outcome of the evaluation determines the next course of action. If critical operational and technical issues such as performance and interoperability risks remain, more detailed prototyping may need to be added before progressing to the next quadrant.
  • Quadrant 3: Develop, verify, next-level product.
o   If a determination is made that the previous prototyping efforts have resolved the critical operational and technical issues, activities to develop, verify, next-level product are performed. As a result, the basic “waterfall” approach may be employed—meaning concept of operations, design, development, integration, and test of the next system or product iteration. If appropriate, incremental development approaches may also be applicable.
  • Quadrant 4: Plan next phases.
o   The spiral development model has one characteristic that is common to all models—the need for advanced technical planning and multidisciplinary reviews at critical staging or control points. Each cycle of the model culminates with a technical review that assesses the status, progress, maturity, merits, risk, of development efforts to date; resolves critical operational and technical issues; and reviews plans and identifies critical operational and  technical issues to be resolved for the next iteration of the spiral.

Advantages of Spiral Model
Advantage of spiral model is that the risk is managed carefully. This is due to the comprehensive understanding of every possible constraint or limitation of a system and thinking of the best way to cope up with those constraints. The users or client can also observe the system earlier due to the very fast prototyping tools.

Limitations of Spiral Model
Spiral model explicit risk management is only applicable to large scale systems. The time spent for evaluating risks is too large for small or low-risk projects. This model is also a very complex one, where a lot of considerations must be kept in mind. And as for the main concept of risk management system development model, expertise in risk management is really required, which is a rare skill a system analyst or developer has.

Iterative Enhancement Model
Iterative enhancement model is one of the system development models which are based on the idea that the software should be developed by increments where each increment adds relevant functionality until the system is fully capable of satisfying the requirement of a client. This model combines the elements of linear sequential model or the waterfall model and the iterative prototyping. In this model, several modules are incrementally developed and delivered.

Phases of Iterative Enhancement Model
Iterative enhancement model consists of only three phase but is executed many times. The steps are just the basic phases of the waterfall model of the system development life cycle (SDLC) – design, implement, and analyze. The following figure shows the process model of iterative enhancement model.

  • Design
o   In this step, the preliminary design of the system is made. The system analyst or system developer creates the plan where the basic functionality is present. A specific task is the main objective on each iteration of the model.
  • Implement
o   To code the designed system and to test them is done on this phase. The implementation is the current prototype to be tested.
  • Analysis
o   In this phase, the system analyst or the system developer evaluates the prototype created from the previous phase. The performance of the system is analyzed and the analysis for the next iteration is done. The decision to what task to do is also answered in this phase.

Advantages of Iterative Enhancement Model
As there are only three phases in each stage, the feedback from the previous stage improves the next stage. The possibility of changes in requirements to be reduced is also a result of the said reason. With early delivery of prototypes, these useful components could generate improved cash flow.
As smaller sub-projects are easier to control and manage, job satisfaction is increased for developers who see their labors generate good results at regular and short intervals of time.

Limitations of Iterative Enhancement Model
Some of the programmers are more productive in larger scale projects than in this model where the each prototype is finished very fast. There are also functionalities that are difficult to divide in modules which are developed incrementally.

There are a lot of system development models created for different purposes and situations. It is now up to the systems analyst or systems developers to know and decide what model is best for the project he or she is making for. It even is possible to make your own model for systems development models are just basis for understanding and improving the life cycle of a system development.

Source:

Wednesday, December 14, 2011

The First Approach to SSS Davao

Today, together with my teammate Viktor Immanuel Calonia, we went to Social Security System in Bajada, Davao City. We first approached the Branch Head of the said government agency namely Jove Colasito but then she referred us to their Assistant Branch Head because of her busyness. Then we were entertained well by the assistant branch head. As she read our letter, we were delighted for she seemed interested in our proposal. She told us that in the system of SSS, almost all the core processes are already being automated, and considering our proposal, it is hard for them to let us study the system. Luckily, SSS Davao do have a multipurpose cooperative that has an independent operation. Then she introduced us to Mr. Joel Togonon to talk more about the cooperative. So we were accepted in SSS with the SSS Employee's Multipurpose Cooperative's (SMEC) system to be analyzed. We left the building with smiles in our faces and started thinking about the next things to do when we go back to SSS.

Systems Analyst as a Project Manager

Note: Assignment 3 of System Analysis and Design

Editing content...

Systems Analyst Defines Himself

Note: Assignment 2 of System Analysis and Design

Editing content...