Thursday, December 22, 2011

What I want, what you want – John Juan and Peter Pedro’s Point of view based on Experience - Assignment # 6


What I want, what you want – John Juan and Peter Pedro’s Point of View based on Experience
Consider the following dialogue between a systems professional, John Juan, and a manager of a department targeted for a new information system, Peter Pedro:

Juan: The way to go about the analysis is to first examine the old system, such as reviewing key documents and observing the workers perform their tasks. Then we can determine which aspects are working well and which should be preserved.

Pedro: We have been through these types of projects before and what always ends up happening is that we do not get the new system we are promised; we get a modified version of the old system.

Juan: Well, I can assure you that will not happen this time. We just want a thorough understanding of what is working well and what isn’t.

Pedro: I would feel much more comfortable if we first started with a list of our requirements. We should spend some time up-front determining exactly what we want the system to do for my department. Then you systems people can come in and determine what portions to salvage if you wish. Just don’t constrain us to the old system.

As what I’ve notice on their conversion, the department that Peter Pedro manage has its existing system already but it somehow not good enough to provide the department a solution to its problem. Now John Juan here has an idea on how they will conduct the analysis phase but also, Peter Pedro has its on idea with regards on how should be the analysis phase is done on the propose system. They both have an idea on how do they conduct the analysis phase and they both have their point. John Juan wants that they should include the existing system and its environment in the analysis phase while Peter Pedro just wants that the analysis should be done within the requirements given. In my own perspective, this ideas that John Juan and Peter Pedro shares with each other are based on their field experiences. John Juan thinks of the possibilities way beyond the project requirements while Peter Pedro only thinks of an immediate solution to the department’s problem. This will dictate the process and the time the system should take through its development.
For me, I will take John Juan’s idea on how they will conduct the analysis phase of the project. Why? Because by taking into account those factors as to what John Juan have mention (the existing system, the workers and key documents) in the analysis phase will help the system development team (John Juan’s part) to formulate and design the system that will not only provide solution to the problem but also fit’s in the working environment in which the system will be deployed. This approach in the analysis phase falls into the predictive way of analysis, so the development team should be able to define and determine those aspects that should be dealt and should have enough details to that part of the system. Also, the predictive approach provides lesser technical risk on the system developed therefore it lessens the redundancy of the process within the system’s development.
The analysis on the existing system on why it is not successful will help the development team on pin pointing the faults and lapses on the existing system and provide guidelines when (if it is required) creating a new system for the department for example or making revisions of the existing system. Faults on the system itself like poor structural design, loose programming functions and weak data security and distribution. Faults on the end user side like irresponsive to the changes required by the system to its users and failure to report found bugs on the system. So by knowing these, it would be much convenient for the system development team in the way that the team will not start its system development from zero. Also, by analyzing the existing system, the development team could get an idea how did the existing system tries to solve the problem and where did it fail.
The analysis on the person’s performance involved in the system is also important because they are the ones who will use the system. Also people, in my opinion, are an unstable factor that needs to be handled on the system development for they are critical to changes. How could I say? Well the changes in the system affect their work performance especially if they are not familiar to it. For an example if the company is still doing manual in issuing receipts and wants it to be automated, the people who are working on that section should know at least how to use a computer. So for those who are not familiar to computer would find the system troublesome because for them to use the system they still need to know how to use a computer then they should know how to use the system which is time-consuming and a headache especially to those people who needs to “scroll down a combobox in just to select their year of birth” and by that they would rather prefer the casual way of issuing receipts which is “nakasanayan”. The worker’s performance dictate’s if the system is a success or a failure in general. If the worker’s becomes more productive on his or her work then the system is good or else it is bad. Also, the proposed system should be easy and user friendly. For example, the graphical user interface of the system should be clean and all of its buttons, fields and menus should be clearly placed and displayed on the GUI.
Another factor that was mentioned by John Juan is the key documents. Key documents could be the existing system’s analysis results, information on the department where the existing system is being deployed or the requirements that the existing system should meet. The existing system’s analysis result serves as one of the references which the development team should look up in order to have an idea on what are the previous methodologies that are used to come up with the existing system and why it was not a success. Also, the development team could get some idea on the existing analysis result to produce a better analysis result that will serves as a pillar to establish the new system and for it to solve the problem efficiently. The development team should also know what is the nature of work that the department undergone, what are the documents that goes in and out of the department for example. And lastly are the requirements that the existing document should meet. The system sole existence is to provide solution to the problem in which the department or company deals with. So the requirements that were provided by the department or company should be take into account through the development of the system intended for the department or company. The requirements set the road on which the development team should follow in designing and building the system.
Unlike to Peter Pedro’s idea on how the development team should conduct the analysis phase which is just to know what are the requirements set by the department of company and then just work with the part that needs to improve. The way that John Juan wants to take in the analysis phase of the project would take some time. Why? Because the development team will still conduct an observation during the actual working hours to see how the system works through the working process undertaken by the department and how workers would interacts with the system but the time it could consume will be reduced dahil narin sa results that was generated on existing system.  Also, the development team will review all the documents including the existing system analysis result and the requirements of the existing system before to come up with a method on dealing the problem. This approach that John Juan suggests follows the waterfall model of the system development life cycle. Thorough analysis is conducted on different aspects that would affect the system before proceeding into the next phase of the system development. Whereas to Peter Pedro idea was just provide what is required on its department and then later improve other components of the system. Peter Pedro’s idea was okay due to the system was new to the department and developed in a short period of time.
                Both have made their point it both makes sense only that they don’t agree with each other because their idea doesn’t coincide with each other in some aspects but both of them wants the same thing after the system development process which is a system that would address to the problem in Peter Pedro’s department. In my idea, I would propose that different aspects that affects the system should be analyze first before proceeding on the other phases on the system development, taking into recognition to what was John Juan said and not just ask for the requirements for the system. For it will create less risk due to that every detail on the system development should be taken up and discuss through the group and then come up with methods through collaborated ideas from the developing team and to avoid uncertain changes on the existing system which has done its part efficiently. I could suggest also that if the existing system is still good but with just small errors and lapses, it does not necessary that it should be replace with a new system developed. Peter Pedro may not take notice this but if he insists on what he wants, the new system that will be developed will cause its department to spend more and on the side of John Juan is that the development team will go back to zero and repeat the same analysis conducted on the existing system previously upon its development process whereas if the developing team will just update and fix the existing system, the time on the analysis phase will be shorten and it will cost less for the company.
                I would also suggest that they follow the modified waterfall model because in this model phases could overlap with each other. This will answer to what Peter Pedro wants during the analysis phase which is there should be enough time to determine what they want the system should be for their department but this model does not apply it only to the analysis phase of the system development but all throughout the other phases. The development team should always think ahead what will happen next to the current phase they are working with to adjust or reformulate their approach to the problem on the latter part of the development process. Also, it is a good thing that the requirements are presented and available together with other documents which I could say that it can be produce at the same time because the existing system have already its analysis results and the only thing is that they will gonna do is to integrate the data that was collected and if any requirement that was not tackled in the analysis document of the existing system then that will be the time to conduct other analysis but only to the specify requirement that was lacking on the analysis document of the existing document.
Conclusion
                Peter Pedro and John Juan have different jobs, John Juan was a systems professional while Peter Pedro was a manager. Upon observing their conversation, they based their suggestion with regards to the nature of their jobs. On John Juan side as a system professional, it should be more specific with the details of the project for it is very important in the sense that details serves as the blueprint of the propose system and should be sufficient enough to meet the needs and provides solution to the problems stated. John Juan’s decision is based on what was presented to him and to what he thinks would be better for the proposed system will be. While Peter Pedro as a manager, he is more specific on what he sees and what is needed on the present and sticks to what was planned. There is nothing bad on this, but it is pretty had to deal with this kind of clients. For some times, it would be an experience of a lifetime as a system professional to have clients like this. For this client will surely shape up the very professional of you by having to provide what is on the agreement and to be formal as a professional. I my opinion, Peter Pedro will be a good client because he has sense of responsibility over its workmates and dedicated to what is committed.
                In this case, Peter Pedro would understand that it is not always be that a new system is the solution if John Juan could defend and state its opinion with regards to the kind of analysis they should implement. And if ever a new system will be implemented even though it meets with the requirement set by the department or company, it will create a negative impact to the workers on the department or company for the people on the company or department will adjust to the new system that was being implemented. Otherwise if the existing system is still be in use but with some modifications and upgrade made, it will not take for the workers to greatly adjust to the system because they are already familiar to the system already. They will just inform with the changes so that they workers will be updated and be able to adjust to its operations. And as long as possible, the solution on the problem should not be a new system for the sake of time, money and resources. Also, it should be clear to the client where in this example the client is Peter Pedro every step that the system will undergo for it maybe he could contribute important information that will fasten the development time of the system.
Peter Pedro was discouraged by the outcome of those previous systems that his department have. Kahit sino man ang pinangakuan ng isang bagay pero ng dumating na ay hindi iyon ang bagay na pinangako ay magagalit o maiinis – “tuga-tuga ra”. But it should not be the basis Peter Pedro should set
upon system’s development. Since I propose that John Juan’s idea will be followed on the analysis phase of the project, it was also clear to me what are the sentiments of Peter Pedro with regards to the system development analysis phase. Peter Pedro doesn’t tell exactly that those previous system was not good, the only thing is that the developer proposed a NEW system and so Peter Pedro expected that the solution would be a new system. I think that there is just some communication gap between Peter Pedro and to the developer team, maybe the agreement was a new system for the department but along the way, the developers would found out that it would be better if they will just modify the existing system but they failed to acknowledge Peter Pedro about the changes. I should advise to the both party that the communication should be constant not all the time but only when it is needed. Also if possible, the development team should meet the requirements that were client has given and meant what he or she has proposed.
In this scenario, Peter Pedro is the client and John Juan is the system professional but it does not tell that the client as the customer is always right especially in this scenario. It is a good thing that the client suggests what he thinks that would be the best for its department. It is not the fact that his idea will be rejected but instead it will be taken into consideration for he is still the client and John Juan should satisfy Peter Pedro’s wants on the system for his department. Also, John Juan should be also open to what Peter Pedro’s sentiments and should not let that Peter Pedro feels that his idea is disregarded. The very common and should be establish first aside from formal parts on the system development, both Peter Pedro and John Juan should develop good client-developer relationship for in which this one is put up, it makes the conversation which regards to system development and its other component much easier because both are open to with each other. Also, both should be friends so that it could cut the formalities especially when having short meetings which could not be a formal one, so instead of going to the company and set on the both edge of the conference hall table and discuss boringly what should be done, how about going out just like going for a brewed coffee on a cafĂ© then have some good time while actually both of you are working.
To sum it up, it still depends on the current situation of the department of the company in which the kind of analysis should be taken into action. In the department that Peter Pedro handles, it has experienced not good no the system the previously implement and maybe affects the productivity of it so Peter Pedro takes an action and makes it clear to John Juan that the system that should be developed with strict compliance to the requirements set by himself. This is not just to insure that the system will provide the solution to the problem on the company but also to improve the department also. On John Juan’s part, he has to follow the model which he thinks that would be the best for the department’s system. We could not blame John Juan on how he sees the propose system. John Juan’s judgment on what approach to take on the system development particularly on the analysis phase is based on the details and component that will contribute and affects the system upon its implementation.

Tuesday, December 20, 2011

Univ Specs - Assignment # 5


Consider your school, how do you know that the life cycle was developed specifically for the university. How do we know it meets our needs?
               
In the University of Southeastern Philippines, there are plenty of strategies that was been implemented to aid the needs of its students, faculty and staff on its daily or timed routines. Routines can be considered as transactions which anyone deals with it, a step by step process just like making deposits on the bank, software installation and etc.

In the University of Southeastern Philippines, I could mention two transactions that has big impact to students, professors and staffs of the university, first is the online grade enquiry which enables the student to view its grades from its subjects taken from the previous semesters via online. The second is the enrollment system of the university which every student should deal every semester for the whole student’s residence in the university. Since these two systems that were implemented in the university made great impact especially on the students of the university so I will stick on these two systems.
So how do we know that these systems meet the needs of the university especially to us, the students of one of the prestige universities in the here in the Philippines?
Before I will try to answer that, let us try to know why there are systems like online grade enquiry and our enrollment system present in our university. Systems in information technology based on my own understanding, is the one of the output solutions for the problems that exist which can be solved through the use of technology for technology itself makes our life easier. Also, systems only exist if there are problems based on what I have learned from our previous assignments. The system aids the processes on the life cycle through its operation by faster data redistribution, consistent data storing, up-to-date information feeds.

As to what I have notice and in my opinion, the online grade enquiry was developed to help students in the way that the student could view their grades on their subjects online aside on what was written on their passbooks and in order to be sure that the student has their grades on the registrar whether the student passed or failed its subject. Based on my friend’s experience named Erwin Adesna which is also a student in USEP taking up IT, “kamuntik na siyang di ga-graduate ngayong darating na marso dahil mayroon siyang asignatora na bagsak ang nakalagay sa kanyang record sa registrar na na pansin lamang niya nung magcomply na siya ng mga papeles para sa graduation pero pasado naman ang nakalagay sa kanyang passbook at ang nakasama pa nun ay tapos na ang adding at dropping, so d na niya maa-add ang asignatora pero buti nalang pinayagan pa siya ng registrar”. Putting yourself in the scenario, you’re about to graduate especially in the Institute of Computing and it will be postponed just because of one of your subjects, isn’t it troublesome? You will spend at least another 6 months of residence in the university  in order to take and pass the subject, another 6 months of seeing sir randy’s face but at least compared to the first this one could be better.
The system helps improved the cycle of enquiring grades in USEP as it should be in my opinion. By having the enquiring of grades online, it creates a new and more convenient way of accessing the student’s grades. It cuts the hassle and expense of the student on acquiring their grades. Before, in order for the student to know their grades on all of the subjects they have taken, they will ask for a certificate of grades in which the student will have to pay for it and wait for at least two weeks before the student can get it and if the student will just want to review its grades and nothing less to do with the certificate of grades, it will be a waste of money and time. So with the system implemented, it reduces the hassle and expense especially when the student would frequently online, the student will just access the site then enters the student’s information and in just few minutes the system will display the student’s grades. Also USEP is a state university, students in this university are “skolar ng bayan” – mahihirap pero matatalino. Most of the students have their allowance good enough to eat 3 times a day, 7 times a week. So let’s do arithmetic, if the student has an allowance of 100 pesos per day then we divide it by 3 equals 33.33 which is its budget for every meal good for 1 day but the student needs to know all of its grades, so he or she will pay for not less than 50 pesos for the certificate plus 20 pesos for the mail stamp, in result he or she will have to sacrifice 2 meals just to have its list of grades or just used the free internet in the university and browse its grades online which is convenient in terms of time and money, his or her allowance for food will not be sacrifices.
This system fits on to the university because as to what I have notice, the final grades that was passed by the professors to the registrar was not distributed every end of the semester to the students. Maybe in my opinion, in the sense that the students will go to their the professors in order to get their grades on the subject the professor have handled and write it on the student’s passbook, their it will be no means for sending the final record of grades to the student because it will be redundant. But this method creates problems when it comes to the reliability of the grades that are in the passbook because just like on Erwin’s case, his grade in his philosophy subject was marked as passed but in the registrars records is failed and the registrar’s record will be followed and not on what was written on the student’s passbook for it may be tampered or falsified. Also, the hard thing that happens is that his professor on that subject has already retired, so he cannot appeal his case to his professor.
It is undeniable that some but not all professors in USEP especially during the end of the semester are very hard to find in their office, maybe because the students were after them to submit their late projects or ask for their grades or  to make “pakiusap” – alam na kung anu ang ipapakiusap (HeHeHe). In relation to the scholarship renewal of some scholarship grants on the university, one the requirements is that there will be no “BAGSAK” on the subjects that the student took during the current semester so the list of grades is needed as proof. So instead of hunting for their professors to get their grades, if the professors have submitted all of its student’s grades to the registrar since the system were integrated to the database used by the registrar, the student can now create a printable file and have it verified. These was been told by my board mate which is a nograles scholar when he was to renew his scholarship.
                So how do we know that it meets our needs as students in USEP? Well, new cycle that was created with the use of the grade enquiring system serves as an intermediate solution to the current grade enquiry process in the university. It reduces the effort in both the students the staff on the registrar during enquiring and providing list of grades. It is our need to know our grades and the new cycle overrides the old cycle of acquiring student grades by providing that needs of us in much faster and convenient way with the use of internet.
               
                The second one is enrollment system of the University of Southeastern Philippines. This meets the needs of everyone (basically) that wants to have quality education, to be passed on the admission test set by the university and to be enrolled in the university. And to be able to be officially enrolled in USEP one must have unwavering patients and perseverance or else one cannot be officially enrolled. So let’s trace up what are the processes one should take. First, before the official enrollment schedule arrives the university posts its information materials about the enrollment process in order for those who are new in the university to know. The need to know. Hmm, checked! It is a good thing that information should be delivered ahead of time for everyone to know and to be prepared – requirements. When we talk about requirements, if the student is not new in the university, the student should secure student clearance which is a requirement for getting Pre-Registration Form aside from other miscellaneous receipts. No fuss if the student has no balance on its tuition fee and if the student’s library card was validated, its clearance will be signed immediately. After the student has its clearance cleared and has the other requirements, he or she will be given the PRF to write his or her subjects to be enrolled. Also, advising in Institute of Computing was separated by year level and has its schedule and assigned professor to conduct advising. By processing the advising in this way, it reduces the waiting time for every student and to distribute the work load the faculty evenly. During the enrollment period on USEP, time is the most critical aspect of it, so in every step throughout the enrollment, the student should utilize each time he or she has in order to be officially enrolled. Actually there are no problems with regards to the processes on the college offices, only when it comes to the payments and the submission of the requirements on the registrar. The queuing system that was implemented on the cashier and to the registrar was specific to USEP – worst. Even though different strategies that were implemented on the previous part of the enrollment process on USEP, the latter part (on the cashier and on the registrar) makes it all useless. Actually, the registrar tries the queuing system that every student that has transaction on the registrar will be given priority number but that never went well and only makes the transaction processes in the registrar difficult due to those will rush into the window because their number is up yet they are not around and then ask to be entertained. But despite of that, I appreciate the system that was implemented because there are no repetitions on every transactions phase – straight forward, di bali nalang kung tatatanga-tanga ang studyante like his or her temporary enrollment form doesn’t have the encoders signature on it. Before the cashier or the bookkeeper would accept the temporary enrollment form he or she should go back to his or her college to affix the encoder’s signature on the temporary enrollment form. This life cycle that was on the enrollment system in USEP is the same as the waterfall model in system development. Each process throughout the life cycle should be done sequentially in order to proceed to the next step because for every step produce results that are needed to the next step.

Conclusion
                Different problems require specific solutions. We could say that cycles or processes are especially developed for the university if there are problems that are unique and not related to each other and are dealt accordingly though the cycle which a solution could be an automation of certain transactions like in the enrollment process on the university like propagation of enrollment forms through electronic media which happens after encoding of the students subjects on the college office. In this way, the students don’t have to carry extra sheets of paper to the cashier of to the registrar. Or it could be still manual like by assigning every college into a designated window in order focus the personnel on the specific college and be able to advice the student or the group if there are possible problems on their enrollment transactions. For example, a group of 1st year computer science students would want to open the subject programming 1 on the second semester of this school year but they still don’t have a professor, so the registrar could ask those who fall in line in his or her window who are those students that are included on the reopened subject and could tell them at once that they still don’t have a professor so they should provide it first. Or a major subject on that course was already closed, the window attendant could ask for those students that fall in line in his or her window who are those students that will enroll that subject and tell them at once that the subject was already close. The life cycle of the enrollment system on USEP in general works okay if we will just stick on it main objective – to conduct the enrollment process and to produce results, but through the process there are aspects (human) that would cause problem’s which are not predicted during its analysis and design phase. Like attitude on the students, even to yourself you cannot keep your patients if you are falling on line that reaches to the second floor.
On the grade enquiry cycle, the one that is implemented on USEP specifies on the necessity of the USEPians to access his or her grades anytime especially during the end of the semester unlike to other schools in which their grades are sent in their home address via letter. Also, the parents of those students that was on the province could access the site since it is a web-base and then verify any time if ever their son or daughter is really goes to school by checking theirs son or daughter’s grade and the last time their son or daughter have enrolled because once my board mate told me that his classmate’s board mate doesn’t go to school for almost 3 years but still pretends to his family that he went here in Davao to study provided with tuition and monthly allowance. With this system implemented, it would be beneficial not only to the students but also to the parents as well.
               
In the sense that through the development of the system and other components that it supports or supports it has undergone, if it is properly planned and analyze, there is no way for the system and its components not able to meet the needs of the end users. Just like an ice cube, it won’t formed into a circle after the water is purred into the “humalhan” that is cube shaped. Eventually, the system and its processes should fit as to what is designed for and will meet the requirements set by the problem sets and the end users or else it would be useless and instead of providing help to the end users thus it will result into much greater problem than the establishment had before.

Sunday, December 18, 2011

ModeL, MoDel, MoDeL - Assignment # 4

Identify and discuss at least 3 systems development models. Discuss each phases.
   
As of today, there are different system development models in system development in order to reach the desired result which match the requirements that are impose by the business or company and to give ease on the end users of the system. System development models varies on what kind of environment does the system will be deployed, can be the system delivered on the specific date mandated by the business or company, how could the system address solution to the end users problems, the resources that are available for the system development and also to the decision of the ones making the system. System development approach are divided into two, first is the predictive approach in which the proposed system is planned ahead of time and the second is the adaptive approach which is the propose system is adaptive to changes that may occur during the development phase of the propose system. But even though system development approach is divided into two they both have similar phases that the system should under go throughout its life cycle and there are four that mentioned by Ronald LeRoi Burback (1998).

The Analysis Phase
According to Ronald LeRoi Burback (1998), this phase defines the requirements that the system should meet disregarding the implementation details and provides a requirement document of the system. The requirement document contains both high and low level details of the requirement. One example that was stated by Ronald LeRoi Burback (1998) on low level details that would appear in the requirement document is a constraint on the image size of the application. And high level details are those that needs to be specific and should be exact, which it could need mathematical logic or engineering details. Ronald LeRoi Burback (1998) also said that requirement document describes the things in the system and the actions that can be done on those things. In a HR system for an example, an administrator could add new users, edit users information, view users information, delete users, activate or deactivate users account or limit users access on the system. The one of the things that is present in the example was the user and the actions that the user can have are add, edit, delete, activate or deactivate and limit access.
Ronald LeRoi Burback (1998) also tells that it is too unclear when requirements are describe in written human language and harder to describe it based in mathematical logic, so precise description is not attainable. But even so that a precise description is not attainable, system requirements must be better describe with the use of both written human language and mathematical logic in order to secure that the system will deliver its desired functions.
Ronald LeRoi Burback (1998) also tells that a requirement document should include states, events, typical scenarios of usage and atypical scenarios of usage where:

States - are defined as a sequence of settings and values which distinguishes one time-space slice of a system from another slice (Ronald LeRoi Burback 1998).
        Typical Scenario – what should the system would normally do.
Atypical Scenario – what should the system would do if there are errors. The system should be able to deal with errors and faults by using several established techniques, such as exception handlers, replications, process monitoring, and roll over (Ronald LeRoi Burback 1998).           
   
The Design Phase
In this phase, the system architecture is established. This architecture defines the system’s component, interfaces and behaviors according to Ronald LeRoi Burback (1998). In this phase, it discusses what kind of software and hardware tools are the developing team should use and what are the trade-offs upon using it into the system. Also, the graphical user interface of the system is created and designed in this phase, what could be the fields that should be needed, what are the buttons that should be put and how should be the data is presented. If it deals with the data storing and processing, the kind of database management system to use and the database design is designed in this phase.
Aside from the architecture document, this phase should also indicate critical priorities by having critical priority analysis (Ronald LeRoi Burback 1998). Critical priority analysis creates list of critical task which are categories into two, the first is associated with construction of the system and the second is the system once it is implemented (Ronald LeRoi Burback 1998). In the system’s construction, as an example given by Ronald LeRoi Burback (1998) was “a high-quality implementation of a critical section of code in the system”. While on the system once it is implemented is, for an example in an enrollment system, the system should calculate the new tuition of the student after the student’s add or drop a subject.

The Implementation Phase
The results of this phase are the codes that are group into modules that performs specific task in the system and satisfy what is requested and what is in the design document presented by design phase. But as to what Ronald LeRoi Burback (1998) said, even though the requirements are achieve, there should be space in the system for improvements and innovations. Also, in implementation phase critical points in the system is dealt and remove.

    The Testing Phase
        Quality, the system is useless even though it meets all the requirements aside from quality. In this phase, the developed system is being tested in order to check either it has bugs throughout its running state and be able to fix it before the actual release of the system. Testing techniques are bases on regression and then split into several major focuses namely internal, unit, application and stress (Ronald LeRoi Burback 1998).
Regression Testing – the system runs into multiple tests, bugs that are found on the test are corrected the tests conducted and its results are collected. Those valid results will become the standards of the system for the next test to conduct.
Internal Testing – it test the internal functions or components of the system.
Unit Testing – this test certain parts of the system which it contains multiple functions as one that interacts which each other.
Application Testing – Graphical User Interface based testing. In this test, it checks whether the buttons in graphical user interface of the system is working or the text field is editable.
Stress Testing – this test the system into the environment. The system is test with the workloads greater than it should have experience. How does the system can handle stress when it is deployed.

Through the needs and innovations that exist as of today in system development, different system development models arise in order to cope up with the needs of today’s world. It roots from the traditional system development lifecycle and it continues to grow. Some of those models are as follows:

Waterfall Model
    The waterfall model is one of the examples of system development model that belongs to the predictive approach in system development in which the development process of this model is from top to bottom just like a waterfall. Each phase in this model is passed sequentially throughout the system development and every phase that is finished provides results that are needed for the succeeding phases. Some of these phases that are mentioned in (waterfall-model.com) are as follows:
   
Definition Study / Analysis
This is the initial phase of the system development. In this phase, the problem is defined by gathering information or data that are relevant to the existence of the problem and then analyze those data in order to formulate solutions in the form of a system which address to the problem. Information gathering and analysis can be done by conducting formal or informal meetings and visits with the company or business and interview the end user of the system. It also much better to conduct brainstorming within the development team in order to come up even greater ideas that could profit not only to the end users but also will help them throughout the system development phases. Different solutions may come up during the problem analysis but it doesn’t mean that there can only be one planned solution to the problem, so it should be decided in this phase what kind of planned solution they should take in order to provide result into the next phase. It should be clear to the development team what the requirements are and specification of the clients with regards to the system for it may alter the system development if there are changes between the phases and will cause delays on the development team.

Basic Design
After a result is derived during analysis, the construction of the basic design of the solution is done in this phase. A general overview of the system or what can be seen after the system development is finished. What are the modules and graphical user interface that the system should have but it does not have the functionally yet. The design should be also based on the requirements that are passed from the analysis phase. It is also important to understand the requirements of the end user should be able to visualize what would be the system would like when it is finish for it will help in formulating the design.

Technical Design / Detailed Design
Once the basic design is layout, it is decided in this phase what are the functions and modules and how they will work in the system. The programming approach when it comes in writing the codes is also decided and tackled in this phase. The system can be programmed in procedural way in which codes are executed from top to bottom or it could be programmed in an object-oriented way. Procedural programming is good when the developer is writing short codes but it would be disastrous if the developer will write most of the code in one file, it is very time consuming for the developer look certain part of the code to change or modify it and it is error prone for its process may be connected to parts of the code within that file. While on the object oriented way of segregates each functions into different file which they are related and creates an object of it so when it is needed, the developer will just invoke the object in to use and access the functions related to it.

Construction
In this phase, the source code the system is written. Coding can be done by different levels of abstraction. The system can be modulated and then program each module based on what it should do for the system and later combine it together after all modules are finish in coding. The system can also be program in an object oriented manner, where functions are group by there relativity and can be access by its object.

Testing
After the system is finish and has its functionality, the system now will undergo through different types of tests in order to check whether it has bugs or miscalculations in order to correct it before handling it over to the end users. In this way, the development team insures the quality of the system and should meet needs and standards of the client.

Integration
In this phase, integration could mean that the system could be put into a hardware device, run the system together with other third party software or by just deploying it into the work area. Embedded systems, if the developed system is needed to be place within a hardware device well then this is the phase for it. If the system is made to aid existing software, the system integration is done after testing the new system in order to avoid bugs and errors that may exist when the integrated system runs. And if the system is not an embedded system or an aid to other software, this phase would be the deployment part of the system into the work area.

Management
Once the system is up, especially if it is web base system, it is important to manage the system by keeping it up and be able to access the system anytime. It is important to manage what comes in and out in the system for it could affect the performance of the system, the traffic that the system could handle during normal or busy internet hours.

Maintenance
After the system is deployed, it does not mean that it is completely perfect. Even though it does passed all the test conducted during its development phase, it does not guarantee that it will work as it is always be especially when the environment it has is different from its development then into in deployment. During the test, the developers cannot assume all the possible inputs and actions that could be entered and be done when it comes in the work environment. So it is important to maintenance and updates on the system in order to keep it working and to continue its service to the client.


Spiral Model
    Developed by Boehm in 1988, the spiral model iterations of prototype are represented as a cycle in the spiral [3]. This model is one of the examples of the models that use adaptive approach throughout its system development and the development grows bigger in every iteration or cycle the system development using this model finish. Spiral software development model is a risk-oriented and cost inefficient software development approach [3] for it requires expertise on the side on the development team and in order to cope up with the development, the system development should be aided by new technology such us CASE tools. This system development model is applicable to use in large scale projects and if the project provides difficult requirements in such short development time [3]. Its development phases was the same as the waterfall system development model but its development does not stop when it reach into the implementation and delivery phase, it will go back to the initial phase for any improvements and reconstruction on the previous iterations until it finally meets the requirements set by the end users. To be able to know better what does really happen on the spiral model on system development, onestoptesting.com mentioned steps in spiral development model [4] and they are as follows:
1.    The new system requirements are defined in as much detail as possible. This usually involves interviewing a number of users representing all the external or internal users and other aspects of the existing system [4]. The system development can’t move ahead if the system requirements are not sufficient enough in order to come up with the system that will address to the end users problems.
2.    A preliminary design is created for the new system [4]. This is the phase where the developer designs an initial prototype of the system given those requirements that the system should become after its completion.
3.    A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product [4]. The first prototype may not
4.    A second prototype is evolved by a fourfold procedure: (1) evaluating the first prototype in terms of its strengths, weaknesses, and risks; (2) defining the requirements of the second prototype; (3) planning and designing the second prototype; (4) constructing and testing the second prototype [4]. After the delivery and implementation of the first prototype, the development team will go back to analysis phase and then determine what adjustments the development team should do on the first prototype. Also,
5.    At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product [4]. When using this kind of system development model in developing a system, it can’t be avoided that the system under development will be prone to risk due to fast and rapid pace of its development that some factors could pose potential threat not only to the development team but also to the client. So the client should have the call to stop the system development when it becomes too risky to take.
6.    The existing prototype is evaluated in the same manner as was the previous prototype, and, if necessary, another prototype is developed from it according to the fourfold procedure outlined above [4]. All other prototypes should undergo the process that the first prototype have undergone to insure not only the quality of the presiding prototypes but also to insure that the system will still address itself by being the solution to the problem.
7.    The preceding steps are iterated until the customer is satisfied that the refined prototype represents the final product desired [4]. As what comes in my mind after I have read this is that the system development completion with regards to the spiral model approach could depend on the customers satisfaction, so it could mean that the system can finish ahead of the target time or be delayed as much as the time you have started.
8.    The final system is constructed, based on the refined prototype [4]. Of course, the finish system should be derived from it previous prototypes and those changes that are made in order to function it is desired.
9.    The final system is thoroughly evaluated and tested. Routine maintenance is carried out on a continuing basis to prevent large-scale failures and to minimize downtime [4]. After the client is satisfied on the final system it is always comes fort the maintenance of the system in order for it to provide its purposes of existence and track and prevent possible bugs from crashing the system down.
       
Sashimi Waterfall Model
    The sashimi waterfall model was originally created by Peter DeGrace [5]. By permitting overlap between the phases of the sashimi, issues can be discovered in the earlier software development process which helps in minimization of re-work and a better final product [5]. So during the planning phase, system developers can discover problems that may occur during the design and implementation phase of the system and so as to the presiding phases as well and then formulate solution for it in advance. The sashimi waterfall model process consist of six phases, requirements, design and architecture, development and coding, quality assurance and software testing, implementation, and maintenance and support [5]. These phases are similar to any other system development model but some phases in this model do not wait for the other phase to finish, overlap occurs.
    Requirement Phase – Most commonly on every system development phases, system requirements are very important for it will the dictate the entire system development process.
    Design and Architecture – in design and architecture, it is the technical and/or functional definition of the project in which they defined [5].
    Development and Coding – Depending on how hard the project is, the development and coding of the project may begin even if the design and architecture is still on going or it may not and waits for the previous phase to finish its task and then start with and development. As to what is have understood, if the development and coding in finish and implemented ahead of time, early feedback can be derived from it and be able to come up with adjustments to the system [5].
    Quality Assurance and Software Testing – Testing occurs throughout the development process and by this, issues and bugs are determined. Developers are encouraged to test the software throughout the development of the software and also in deployment process [5]. Those tests includes Unit testing, Regression testing, Integration testing, Performance testing, Load testing, Compatibility testing, system testing, functional testing and human factors [5] that will affect the total run of the software in it is out.
    Implementation – This phase can also overlap with other phases depending on the nature of the project [5].
    Maintenance and support – Clients satisfaction should be insured and should be able to provide solutions to problems that may arise after the software’s implementation and deployment.

It should be taken into account what kind of system development model we should take by realizing all the factors that will influence the system's development like the client's requirements and the time it will take for the system to be finish and delivered to the client.

References:
1]. Waterfall Model
www.waterfall-model.com
2]. The Analysis Phase by Ronald LeRoi Burback (1998)
http://www.infolab.stanford.edu/~burback/watersluice/node4.html
3]. Spiral Lifecycle Model
    http://www.softdevteam.com/Spiral-lifecycle.asp
4]. Spiral Model
    http://www.onestoptesting.com/sdlc-models/spiral-model.asp
5]. Sashimi Waterfall Model
    http://www.waterfall-model.com/sashimi-waterfall-model/

Tuesday, December 13, 2011

An Interview to a Pro - Assignment #2

                Skills can be acquired in two ways, first is you are born with it. You could be naturally good in arts, music, speech, dancing or communicating with others. And the second is skills that are acquired through experience or by training. Trainings like going into a school that teaches arts for one to be able to have skills in arts and the same way on the others, one must learn it. Those skills that are learned by going into schools are skills that can be considered as complex ones which do require time and patients in order to acquire or master it and one must have determination and eagerness to learn it. Relating it into gaming concepts, there are skills that can be only acquired at certain level so one should level up in order get it and make use of it. Leveling up in games is a bit different compared to the real life, in order to level up in real life one should increase its knowledge and have experience. Skills that can be acquired through learning or experiences depend on the one who wants it and on what situation he or she will going to use it.
                So, what are the skills and characteristics that must develop by a system analyst in order to be effective in any design modeling process? Since those skills that should be developed can be acquired through experience, we ask one who has experience being a system analyst namely Mr. Cornelio Dagot which is a system analyst from the DMMA College of Southern Philippines. During the interview we ask a couple of questions which is as follows:
                Question: What are the skills that would make you as a system analyst?
                Answer: You need to have skills in programming, also it is a part of the course BSCS to have research for us to determine the problem in a particular department that wants to be computerize. You need to determine the problem before you could make the code or you need to identify what are the basic solutions of the problem. Probably since they want it to be computerize, it could be done with the use of technology in order to solve the problem in a particular department but it does not always apply computerization. It could be still be solve using manual system if the transaction is not too difficult. A system analyst needs to know how to analyze the problem and know how to decide what kind of solution you are going to apply with the use of technology.
                As to what Mr. Cornelio said, a system analyst should have the skills in research. One should train itself in doing research works and read articles related to systems and technology in order to be able to determine the problem in a particular business environment. A system analyst must think above what he or she has research in order to determine problems that may occur. Once one is doing its research, a system analyst is looking into details that could reveal the problem in a particular environment. Other may claim that a particular system is perfect, it could mean that is only perfect on its outside appearance but once you’d done research on the inside part it could be as not as prefect as it claims to be. A system analyst must develop in-contentment by means of the details. It should not be enough that you would just look a shirt, thinks its okay then buy it without checking it if it fits on you.
                Also, as to what comes in my mind when Mr. Cornelio answers is that a system analyst should develop intelligence with regards to the use of technology in system design process. One should know what technologies that he or she will use for the system and is it applicable to the environment where it is to be implemented and if it is user-friendly. Mr. Cornelio also shares to us what happens to a queuing system that he implemented in their accounting department. He said that, that system was not a success not because of the system itself but to the end user. Upon hearing it, it comes in my mind that problems can exist not only in technical environment but also to what it surrounds it. By realizing it, a system analyst should develop open-mindedness in order to determine the problems and decide and design a system that will address to those problems.
                Question: What is the nature of the work of a system analyst?
                Answer: If we there to base it on big companies, the work of a system analyst is only to conduct research on a particular problem that was given to them, like in finance department they common have problems in issuing receipts so the system analyst focus its research on that. But like in DMMA, the system analyst is also the one who does the analysis, design, code and implement the system.
                When my fellow interviewee ask this question, it makes me realize that being a system analyst one should develop well-roundedness on in his or her work. A system analyst should not only be good in analysis but also in different phases of the system’s development so he or she also could do design, coding and implementation. By being all-around, who are defying your own limitations and has the needs to improve not only his or herself about also his or her colleagues.
                In addition to the skills and characteristics that a system analyst must develop in design modeling process that are mentioned by Macie Hinton [1] are as follows:
·         Management Skills [1] – A system analyst           should be able to manage aspects that are critical to system’s development. Risk, changes and resources are example of those. A system analyst must able to handle risk that could make the system unsuccessful and should able to react and adapt changes throughout systems development cycle. A system analyst should able to manage resources and use it properly for most of the resources are at limited only. By developing these skills, a system analyst acts a project manager and has broader knowledge on system development other than on analysis.

·         Analytical Skills [1] – Of all the characteristics that a system analyst should develop analytical skills is the most important. The analytical thinking capability gives us the concept on how we view the problem, its surrounding environment, the nature of its occurrence and the possible solution to it. According to Matthew 7, “Even so every good tree bringeth forth good fruit; but a corrupt tree bringeth forth evil fruit. A good tree cannot bring forth evil fruit, neither can a corrupt tree bring forth good fruit”. It also implies that a good analysis of the problem doesn’t produce bad system but a bad analysis of the problem does. In my own views, analytical skills should be develop most by every system analyst for system itself depends on the analysis of the ones who created it.

·         Interpersonal Characteristics [1] – Communication skills. A system analyst should be able to communicate and understand well especially the demands of the clients and should deliver efficiently the specs and details to the development team. A system analyst should able to express and listen to ideas of its teammates and client for the benefit of the both parties.

·         Business Knowledge – Since the system analyst is the middle man between the business or company and the development team, he or she should develop knowledge about business especially those terms that are only common to business and be able to deliver it to the team in the sense that the development team could understand. Also, by having business knowledge the system analyst could make a deal with the company or business and should able to convince the company or business that they need this kind of solution and you as a system analyst and your team can provide best solution other the other.

·         Particularity [2] – A system analyst should able to be particular especially on system development. One should be familiar with designing concepts that is appropriate for the particular development environment. A system analyst should able to focus on the problem and what are the needs to provide solutions to it.

·         Able to use software design tools [2] – A system analyst should develop skills on using tools that are helpful in project designing. By this way, it cuts off the time consumed by just designing the system and could focus more in other phase of the system development. It also helps presenting data and design more effectively and visually presentable.

·         Attentive and Observant – A system analyst must able to listen to what its clients wants because the system’s design also depends on what the clients wants. So that you could formulate initial feedbacks on what they want that should be in the propose system. This could save time and effort to both parties. Also, a system analyst would not miss important details in the propose system and would not do repetitive changes on the system’s design.

·         Optimistic – The positivity in you will also reflect onto the system you developed. And not only to your self to all of your teammates as well. This characteristic helps the team to finish the system even though there are adversaries that comes on its way. The system analyst must not show weakness among its teammates. He or she should be the strength and pillar of the team.

·         Leadership – Sticks are weak when they are few, but if they are many it is hard for them to break. To make the team to work as one and share each other’s ideas would help the analysis and design of the system, it is the role of the system analyst. And also a system analyst should be a good model to its teammates, leading by example. The system analyst also dictates the future of its teammates, it only depends on the decisions and actions of the system analyst. “With great power comes with great responsibility” as to what Ben Parker said on the movie Spiderman, so it is not easy to be a system analyst. It is the mixture of the qualities of a manager, businessman and a statistician.

·         Deliver Quality Service – The main objective of the system analyze and designed by the systems analyst is to make task easier and provide dependable solution to the problem that is present. A system analyst should weight it design by means of analysis and not only system developed but also the analyst itself should deliver quality service.

·         Social Skills – A system analyst must be capable of communicating to other people, not only to the people but also to the factors that surrounds it. A system analyst may use these parts of the society to gather ideas that could help in system’s development and design. Also, you are participating and you’re doing your role in the society.

·         Flexibility – A system analyst must be flexible in especially when it comes to system design process. A system analyst should design the propose system which is capable to adapt with less drawbacks for future years to come. Also, a system analyst should be adaptive to change in order for his or herself to grow and learn more.

Other than skills and characteristic that are mentioned above that the system analyst should develop, a system analyst must have experience and field expertise in modeling process from it’s previous work [1]. The best teachers aside ours at school is experience. Having to experience the actual events and happenings and not just assumptions leaves a trail of learning that can’t be forgotten.

Our interview doesn’t take much time but we learned a lot from Mr. Cornelio. By realizing his answers to our questions, it comes in my mind that being a system analyst in not an easy job. In entitles you with great responsibility and hopes for the betterment of the business or company you are working with. As system analyst, one should have more experience (success or failure) in order to become a good and productive system analyst and build up characteristics of an efficient system analyst. Also, with those words it challenges me as a BSCS student to pursue and finish this degree. And I could not say, “Challenge Accepted”.

References:
1.       System Analysis by Macie Hinton 2008
2.       What skills and characteristics must a system analyst develop?