Thursday, December 31, 2009

Identify and discuss at least 3 systems development models. Discuss each phases, at least 3,000 words.

What is the purpose of system development model?

System development models are used to guide the analysis, design, development, and maintenance of information systems. Each is designed for a specific purpose or reason; most have similar goals and share many common tasks.. In order to ensure that cost-effective, quality systems are developed which address an organization’s business needs, developers employ some kind of system development model to direct the project’s life cycle.

3 System Development Models

Waterfall Model

 Introduction

This model is sometimes referred to as the linear sequential model or the software life cycle.

The waterfall model is the earliest method of structured system development. Although it has come under criticism in recent years for being too rigid and unrealistic when it comes to quickly meeting customer’s needs, the waterfall model is still widely used.

The waterfall model derives its name due to the cascading effect from one phase to the other. In this model each phase well defined starting and ending point, with identifiable deliveries to the next phase.The waterfall model is a sequential software development process, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of conception, initiation, analysis, design (validation), construction, testing and maintenance. Progress flows from the top to the bottom, like a waterfall.

To follow the waterfall model, one proceeds from one phase to the next in a purely sequential manner. For example, one first completes requirements specifications, which are set in stone. When the requirements are fully completed, one proceeds to design. The software in question is designed and a blueprint is drawn for implementers (coders) to follow — this design should be a plan for implementing the requirements given. When the design is fully completed, an implementation of that design is made by coders. Towards the later stages of this implementation phase, separate software components produced are combined to introduce new functionality and reduced risk through the removal of errors.

Thus the waterfall model maintains that one should move to a phase only when it’s proceeding phase is completed and perfected.

Waterfall Development Phases:





Observe that feed back loops allow for corrections to be incorporated into the model. For example a problem/update in the design phase requires a ‘revisit’ to the specifications phase. When changes are made at any phase, the relevant documentation should be updated to reflect that change.

The model consists of six distinct stages, namely:
1. In the requirements analysis phase
- This step refers to the gathering of system requirements, with the goal of determining how these requirements will be accommodated in the system. Extensive communication between the customer and the developer is essential.
• The problem is specified along with the desired service objectives (goals)
• The constraints are identified

2. In the specification phase
- the system specification is produced from the detailed definitions of (a) and (b) above. This document should clearly define the product function.
- The consideration of all aspects of the targeted business function or process, with the goals of determining how each of those aspects relates with one another, and which aspects will be incorporated into the system.

3. In the system and software design phase, the system specifications are translated into a software representation.
- Once the requirements have been collected and analyzed, it is necessary to identify in detail how the system will be constructed to perform necessary tasks. More specifically, the System Design phase is focused on the data requirements (what information will be processed in the system?), the software construction (how will the application be constructed?), and the interface construction (what will the system look like? What standards will be followed?).
The software engineer at this stage is concerned with:
• Data structure
• Software architecture
• Algorithmic detail and
• Interface representations

The hardware requirements are also determined at this stage along with a picture of the overall system architecture. By the end of this stage the software engineer should be able to identify the relationship between the hardware, software and the associated interfaces. Any faults in the specification should ideally not be passed ‘down stream’

4. In the implementation and testing phase stage the designs are translated into the software domain
• Detailed documentation from the design phase can significantly reduce the coding effort.
• Testing at this stage focuses on making sure that any errors are identified and that the software meets its required specification.

5. In the integration and system testing phase all the program units are integrated and tested to ensure that the complete system meets the software requirements. After this stage the software is delivered to the customer.
- As the software is created and added to the developing system, testing is performed to ensure that it is working correctly and efficiently. Testing is generally focused on two areas: internal efficiency and external effectiveness. The goal of external effectiveness testing is to verify that the software is functioning according to system design, and that it is performing all necessary functions or sub-functions. The goal of internal testing is to make sure that the computer code is efficient, standardized, and well documented. Testing can be a labor-intensive process, due to its iterative nature.

6. The maintenance phase the usually the longest stage of the software. In this phase the software is updated to:
• Meet the changing customer needs
• Adapted to accommodate changes in the external environment
• Correct errors and oversights previously undetected in the testing phases
• Enhancing the efficiency of the software



Advantages / Constructive Details

• Testing is inherent to every phase of the waterfall model
• It is an enforced disciplined approach
• It is documentation driven, that is, documentation is produced at every stage
• it is easier to fix the specific components
• A further argument for the waterfall model is that it places emphasis on documentation
• simple approach
• provides a structured
• easily understandable and explainable phases and thus is easy to understand
• The waterfall model also requires that implementers follow the well made, complete design accurately, ensuring that the integration of the system proceeds smoothly.

Disadvantages / Criticism

The waterfall model is the oldest and the most widely used paradigm.
However, many projects rarely follow its sequential flow. This is due to the inherent problems associated with its rigid format. Namely:
• It only incorporates iteration indirectly, thus changes may cause considerable confusion as the project progresses.
• As The client usually only has a vague idea of exactly what is required from the software product, this WM has difficulty accommodating the natural uncertainty that exists at the beginning of the project.
• The customer only sees a working version of the product after it has been coded. This may result in disaster if any undetected problems are precipitated to this stage.

• The waterfall model is argued by many to be a bad idea in practice. This is mainly because of their belief that it is impossible for any non-trivial project to get one phase of a software product's lifecycle perfected, before moving on to the next phases and learning from them.

• Designers may not be aware of future implementation difficulties when writing a design for an unimplemented software product.
• Its rigid design and inflexible procedure.
• Real projects rarely follow the sequential flow that the model proposes.
• At the beginning of most projects there is often a great deal of uncertainty about requirements and goals, and it is therefore difficult for customers to identify these criteria on a detailed level. The model does not accommodate this natural uncertainty very well.

• Developing a system using the Waterfall Model can be a long, painstaking process that does not yield a working version of the system until late in the process.




Spiral model

Introduction

The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT). This model of development combines the features of the prototyping model and the waterfall model. The spiral model is intended for large, expensive and complicated projects.
The spiral model combines the iterative nature of prototyping with the controlled and systematic aspects of the waterfall model, therein providing the potential for rapid development of incremental versions of the software. In this model the software is developed in a series of incremental releases with the early stages being either paper models or prototypes. Later iterations become increasingly more complete versions of the product. It was the first model to explain why the iteration matters.

Spiral Development Phases:





Depending on the model it may have 3-6 task regions (/framework a ctivities) our case will consider a ‘6-task region’ model.

These regions are:
1. The customer communication task – to establish effective communication between developer and customer.
2. The planning task – to define resources, time lines and other project related information..
3. The risk analysis task – to assess both technical and management risks.
4. The engineering task – to build one or more representations of the application.
5. The construction and release task – to construct, test, install and provide user support (e.g., documentation and training).
6. The customer evaluation task – to obtain customer feedback based on the evaluation of the software representation created during the engineering stage and implemented during the install stage.
Advantages of the Spiral Model
• The spiral model is a realistic approach to the development of large-scale software products because the software evolves as the process progresses. In addition, the developer and the client better understand and react to risks at each evolutionary level.
• The model uses prototyping as a risk reduction mechanism and allows for the development of prototypes at any stage of the evolutionary development.
• It maintains a systematic stepwise approach, like the classic life cycle model, but incorporates it into an iterative framework that more reflect the real world.
• If employed correctly, this model should reduce risks before they become problematic, as consideration of technical risks are considered at all stages.


Disadvantages of the Spiral Model

• Demands considerable risk-assessment expertise
• It has not been employed as much proven models (e.g. the WF model) and hence may prove difficult to ‘sell’ to the client (esp. where a contract is involved) that this model is controllable and efficient. [More study needs to be done in this regard]




Agile Modeling

Introduction

Agile Modeling is a practice-based methodology for modeling and documentation of software-based systems. It is intended to be a collection of values, principles, and practices for modeling software that can be applied on a software development project in a more flexible manner than traditional modeling methods.

Agile methods generally promote a disciplined project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and accountability, a set of engineering best practices that allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals.
There are many specific agile development methods. Most promote development iterations, teamwork, collaboration, and process adaptability throughout the life-cycle of the project.

Agile methods emphasize face-to-face communication over written documents when the team is all in the same location. When a team works in different locations, they maintain daily contact through videoconferencing, voice, e-mail, etc.

Most agile teams work in a single open office (called bullpen), which facilitates such communication. Team size is typically small (5-9 people) to help make team communication and team collaboration easier. No matter what development disciplines are required, each agile team will contain a customer representative.
Most agile implementations use a routine and formal daily face-to-face communication among team members. Agile emphasizes working software as the primary measure of progress.

Agile methods differ to a large degree in the way they cover project management. Some methods are supplemented with guidelines on project management, but there is generally no comprehensive support.
Agile software development depends on some special characteristics possessed only by software, such as object technologies and the ability to automate testing. However, related techniques have been created for developing non-software products, such as semiconductors, motor vehicles, or chemicals. For more on them, see Flexible product development.


Agile Procedures:

Agile methods break tasks into small increments with minimal planning, and do not directly involve long-term planning. Iterations are short time frames that typically last from one to four weeks. Each iteration involves a team working through a full software development cycle including planning, requirements analysis, design, coding, unit testing, and acceptance testing when a working product is demonstrated to stakeholders. This helps minimize overall risk, and lets the project adapt to changes quickly. Stakeholders produce documentation as required. An iteration may not add enough functionality to warrant a market release, but the goal is to have an available release (with minimal bugs) at the end of each iteration. Multiple iterations may be required to release a product or new features.


Agile values:

• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
• Customer satisfaction by rapid, continuous delivery of useful software
• Working software is delivered frequently (weeks rather than months)
• Working software is the principal measure of progress
• Even late changes in requirements are welcomed
• Close, daily cooperation between business people and developers
• Face-to-face conversation is the best form of communication (co-location)
• Projects are built around motivated individuals, who should be trusted
• Continuous attention to technical excellence and good design
• Simplicity
• Self-organizing teams
• Regular adaptation to changing circumstances
.

Comparisons

Agile methods lie on the "adaptive" side of this continuum. Adaptive methods focus on adapting quickly to changing realities. When the needs of a project change, an adaptive team changes as well. An adaptive team will have difficulty describing exactly what will happen in the future. The further away a date is, the vaguer an adaptive method will be about what will happen on that date. An adaptive team can report exactly what tasks are being done next week, but only which features are planned for next month. When asked about a release six months from now, an adaptive team may only be able to report the mission statement for the release, or a statement of expected value vs. cost.

Predictive methods, in contrast, focus on planning the future in detail. A predictive team can report exactly what features and tasks are planned for the entire length of the development process. Predictive teams have difficulty changing direction. The plan is typically optimized for the original destination and changing direction can cause completed work to be thrown away and done over differently. Predictive teams will often institute a change control board to ensure that only the most valuable changes are considered.

Most agile methods share other iterative and incremental development methods' emphasis on building releasable software in short time periods. Agile development differs from other development models: in this model time periods are measured in weeks rather than months and work is performed in a highly collaborative manner. Most agile methods also differ by treating their time period as a time box.
Agile development has little in common with the waterfall model. The waterfall model is the most structured of the methods, stepping through requirements-capture, analysis, design, coding, and testing in a strict, pre-planned sequence. Progress is generally measured in terms of deliverable artifacts: requirement specifications, design documents, test plans, code reviews and the like.

The main problem with the waterfall model is the inflexible division of a project into separate stages, so that commitments are made early on, and it is difficult to react to changes in requirements. Iterations are expensive. This means that the waterfall model is likely to be unsuitable if requirements are not well understood or are likely to change in the course of the project.

Agile methods, in contrast, produce completely developed and tested features every few weeks. The emphasis is on obtaining the smallest workable piece of functionality to deliver business value early, and continually improving it and adding further functionality throughout the life of the project. If a project being delivered under the waterfall method is cancelled at any point up to the end, there is nothing to show for it beyond a huge resources bill. With the agile method, being cancelled at any point will still leave the customer with some worthwhile code that has likely already been put into live operation.

In this respect, agile critics may assert that these features are not placed in context of the overall project, concluding that, if the sponsors of the project are concerned about completing certain goals with a defined timeline or budget, agile may not be appropriate. Proponents of agile development counter that adaptations of Scrum show how agile methods are augmented to produce and continuously improve a strategic plan.


Grounds of Agile

Agile home ground: Low criticality
• Senior developers
• Requirements change often
• Small number of developers
• Culture that thrives on chaos


Plan-driven home ground: High criticality

• Junior developers
• Requirements do not change often
• Large number of developers
• Culture that demands order
Agile methods
Some of the well-known agile software development methods:
• Agile Modeling
• Agile Unified Process (AUP)
• Agile Data Method
• DSDM
• Essential Unified Process (EssUP)
• Extreme programming (XP)
• Feature Driven Development (FDD)
• Getting Real
• Open Unified Process (OpenUP)
• Scrum
• Lean software development
Agile practices
• Test Driven Development (TDD)
• Behavior Driven Development (BDD)
• Continuous Integration
• Pair Programming
• Planning poker
• RITE Method


Measuring agility

While agility can be seen as a means to an end, a number of approaches have been proposed to quantify agility. Agility Index Measurements (AIM) score projects against a number of agility factors to achieve a total. The similarly-named Agility Measurement Index, scores developments against five dimensions of a software project (duration, risk, novelty, effort, and interaction). Other techniques are based on measurable goals. Another study using fuzzy mathematics has suggested that project velocity can be used as a metric of agility. There are agile self assessments to determine whether a team is using agile practices. While such approaches have been proposed to measure agility, the practical application of such metrics has yet to be seen.


Criticism

The criticisms regarding insufficient software design and lack of documentation are addressed by the Agile Modeling method, which can easily be tailored into agile processes.
Agile software development has been criticized because it may not bring about all of the claimed benefits unless utilized by above average programmers; above average programmers create above average code regardless of the method used.



References:

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

http://en.wikipedia.org/wiki/Waterfall_model

http://scitec.uwichill.edu.bb/cmp/online/cs22l/waterfall_model.htm

http://en.wikipedia.org/wiki/Spiral_model

http://scitec.uwichill.edu.bb/cmp/online/cs22l/spiralmodel.htm

http://en.wikipedia.org/wiki/Agile_Modeling

http://en.wikipedia.org/wiki/Agile_software_development





Thursday, December 24, 2009

Discuss the role of a systems analyst as a project manager. (At least one thousand words) .... you need to interview an analyst/project manager...

SAD Assignment3



In general, the project manager is responsible for the overall success of the project. In some companies, this person might be called a Project Coordinator, or a Team Leader, however, the key aspect is that the person is responsible for ensuring the success of the project while the system analyst is the person (or persons) who guides through the development of an information system. In performing these tasks the analyst must always match the information system objectives with the goals of the organization.


Based on our interview with the manager in PIADI (Printing Industries Association of Davao Incorporated), having been exposed for twenty- one (21) years in banking business, it is anymore not that hard to design a specified system for their company which is somewhat related to money, business, customers and employees. But playing the role of a systems analyst is not that easy, specifically when it comes to the contribution for the project or system. In the systems analyst lies the outline and flow of the system, making up together the factor for the success of the business. The analyst knows the contributing factors for the system, be it software or hardware and also foresees the product of the system itself.


Planning those systems would not be made unless great understanding and responsibilities were taken care of. Planning a system without comprehension is not effective. A systems analyst as a project manager must take into accounts every single data, instruction and procedure that contributes to the system development.


Since the analyst served as a bridge between the business professionals and the information technology buddies, as a project manager lays the readable outline or plan for both parties. With that both parties can give their comments and site renditions for the system plan. As a project manager, the analyst may have the great authority in designing the system, but would never be successful without the contribution from each of both parties.


The systems analyst plays the great part of the project that serves as the brain for the whole project. For in the hands of the analysts lies the success of the project. Just like a project manager, the analysts’ layouts in advance the image of the project taking into account all the mandated requirements and sees the causes and outcomes of every procedure in the system. In managing the project, trial and error is the basic procedure to test every single solution and to find out the best one.


Such that the project manager manages the implementation of the project, the analysts also possess the role of having in control of all the resources needed from the minor part implementation up to the critical part. The systems analyst must take into account the available resources and if not met, find other resources. The analyst is accountable for very failures in the implemented project. Just as a project manager does, the analyst checks and is accountable for any unexpected outcome or failures. For example, if the system started clearly and as it goes later on, it is becoming so vague. Another is when the poor scheduling of the system implementation is present that prolongs the systems implementation duration.


The systems analyst also plays the role as a budget consultant. The analyst must know how much his/her system costs. Taking into consideration the financial budget that is needed that counts the physical resources or materials needed that is composed of the equipments and manpower resources. Also budgets the time allocation from the design, to documentation and to implementation then to testing. The systems analysts must have laid in his/her plan the estimated total time of the system making would cost.


Upon designing the system, the analyst same as a project manager chooses the best procedure that will be used for the system design and implementation. As what was discussed from the previous chapters, an analyst must look for the best possible way or procedure to develop their system.


For being so knowledgeable about the system components, requirements, elements and all, the systems analyst designs a database management system and also may write some of the project documentation.


A systems analyst spends the rest of their time in major project roles such as the designer and technical writer. A systems analyst has the unique ability to "step outside and look in". An analyst looks into the bigger outline of the business and sees every single procedure that makes up the whole. The analyst is not indulged to any particular technology, theory or methodology. They just bring with them both business and technological experience and are open to learning from the other people.


As discussed from our interview, the role of the systems analyst does not end into the making of the system. As playing also the role of a project manager, the analyst foresees the possible developments for the system. Of course, in line with the development, the analyst has to maintain the system and is accountable to any system breakdown.


The systems analyst is an “IT systems Analyst” who is more focused on system design and the technical aspects of the solution for the system. The systems analyst’s role is mostly system solution centric (does not generally participate in the requirements gathering process) and is involved in the creation of functional and technical specifications. This is the professional who, once requirements are clearly defined, creates the functional solution and, by working with the technical team (architect and developers), creates technical specifications and designs. In virtually every organization, the pivotal leadership role of the systems analyst is beginning to shape the future of IT. In a nutshell, analysts are focused on business needs and on monitoring the value a project has promised to deliver to the organization throughout its implementation. The analyst continually scrutinizes costs and compares them to benefits to ensure the project remains sound. Projects of different sizes have different ways and requirements on how the people are organized. In a small project, little organization structure is needed. There might be a primary sponsor, project manager and a project team. However, for large projects, there are more and more people involved, and it is important that people understand what they are expected to do, and what role people are expected to fill.



References:

http://www.freetutes.com/systemanalysis/role-of-system-analyst.html

http://www.lifecyclestep.com/open/407.1TheRoleoftheProjectManager.htm

http://it.toolbox.com/blogs/business-analyst/the-role-of-business-analyst-3357

http://www.batimes.com/articles/106-articles/53-the-coming-of-age-of-the-business-analyst.html






Interview a Systems Analyst and ask what skills and characteristics must a systems analyst develop in order to be more effective in any design modeling process [include in your answer evidences (pix, ltrs, etc)]? At least 2000 words excluding your evidence

SAD Assignment2






Company Background:

       The company we adopted is PIADI Multi-Purpose Cooperative (Printing Industries Association of Davao Incorporated) located at PIADI Building, Araullo Street, Davao City. It started operating sine 1992 here in Davao City and now has a branch in General Santos City.

Interview Proper:

            We were able to interview the branch manager of PIADI Multi-Purpose Cooperative (Printing Industries Association of Davao Incorporated), Mr. Franklin M. Sanchez. And to take note, he was neither a graduate in business related course nor a graduate of any computer related course, but he was a graduate of Bachelor of Arts in Philosophy. Although he was enrolled in that course, he noticed that he is fun and interested in numbers. Before he reached his position as a manager, he went from rags to riches. He was once collector, then a teller until he became a manager in Banco de Oro (formerly PCI Bank). He worked there for about twenty- one (21) years. That experience became his foundation in his career right now. Managing a business is not just monitoring the business, employees and customers in the said company. He also portrays the role of being a systems analyst and a project manager. He told us that although the person who made their system is an attorney who has an agency himself or what we called a legal council, his approval still matters.


            He told us that a cooperative does not necessarily means money and loans that is somewhat a misconception when it talks about a “cooperative”. For him, a cooperative is owned by every member. And every member has a power of their votes and shares. The cooperative’s business transaction should be voted and approved by the members.


            According to him, the top most skill that a system analyst should possess is to have a working knowledge of the business he/she is in to. Primarily, in the multi- purpose cooperative business, accounting knowledge is a must. The system analyst must know the accounting principles, for example, inventory, accounts payable, bookkeeping, cash in- flow, cash out- flow and many more.


            Also, experience is a big plus. Having been experienced and exposed in to a certain business serves as a foundation in creating an effective design modeling process. In his twenty- one (21) years experience in the banking business is a big contribution in his carrier right now.


             Next is that a system analyst must have a good working habits. It pertains to the control and manipulation between his appointments and responsibilities. If a systems analyst has poor working habits, it would be harder for him/her to finish his work or design in time. Aside from the dedicated time to meet or so called the deadline, also the quality of the system is affected. A systems analyst must be flexible enough to work in great pressure anytime and anywhere. A good theory or working knowledge is not enough to have or to become an effective systems analyst unless applied. Working habits has to be maintained for good or even be developed for the better. Good working habit will not be counted unless the product or the result is good.


             Being intelligent is still not enough to create a good modeling process. Attitude means a lot. All your achievements will be for no good if you do not have that right attitude towards other people and most especially to yourself. Being discipline goes in line with this key. To relate it to my interviewee, he was a graduate of Philosophy and expectantly, he is more expert in dealing with different types of people. That is why he values attitude towards his employees and customers.


             Another skill he desired is that a systems analyst must be computer literate. He mentioned that during their time, computers has already evolved but are not reachable by their resources and knowledge. Even up to know they are not that good. Having basic information about Microsoft Word, Excel and PowerPoint is enough to run their system.

             “It is better to live below your means that to live above it”, as Mr. Franklin M. Sanchez quoted. It means that I business, having control of your expenses makes your field profitable enough. It comprises that you must know your limitations. As a systems analyst, another skill to develop in order to be effective in designing a modeling process is by knowing your limitations and boundaries.


               Concerning with business, he told us a simple and short but a meaningful story about a family with a small “sari- sari” store. The store was managed by the mother but somehow also managed by the father of the family as well as the children. Then at a certain time, the mother noticed that all her products are already sold but the money or income does not change at all. Then her nephew told her that maybe all her profits were turned to change for the customers. In a simple point of view, the issue is that a certain business or even a system must be managed by a single person, if many, at least with the same interest and goal. With this straight manipulation from the analyst, the systems manipulations by others are avoided.


Monday, December 14, 2009

Based on your learning of chapter 1, identify and discuss some characteristics you have as a good Systems Analyst.

SAD Assignment1


            A systems analyst plays a big part in a company or business. Or should I say that a systems analyst serves as the heart and brain of a company. Without a brain that decides the best for the company and without a heart that beats which keeps the parts to function well, it would be a dead business. But having a plain brain and a plain heart does not guarantee that the business would run and last for a long time. What is the use of the brain if it decides for the worst? And what is the use of the heart if it beats so slowly? For the company to survive, a good system analyst is badly needed. Based on the discussion we had in Chapter 1, he/ she should possess the following characteristics or skills; analytical, technical, managerial and intrapersonal skills1.
            Since I am enrolled in the subject Systems Analysis and Design, whether I like it or not, I will be making a system together with my group mates. And each one of us must practice the role of being a good systems analyst. And to look at the brighter side of it, what are the characteristics that I already possess that qualifies as a so called “good systems analyst”? Let me discuss it one by one.
            In the aspect of analytical skills, a systems analyst must understand the nature of the business he/she is in. He/she must able to analyze problems and propose possible solutions to it. As a computer science student, I have encountered many mathematical and procedural problems in my programming subjects. I comprehended each problem and have come up with a step by step solution. I am that kind of programmer that follows the waterfall algorithm. I cannot proceed to the next step unless the current state is resolved. Being so detailed with my work, I believe that it is one of the characteristic of a good systems analyst. Being so detailed may be costly when it pertains to time consumed but I think it is a safer way to deal with my system. Security when it comes to system performance is high and every procedure is traceable. Practically, every company demands for different systems, that could be unfamiliar with what I used to encounter, but on how I will deal or analyze each problem matters most.
            Technically speaking, I am not that skilled but I have the characteristic or attitude of being adoptive in any changes. A good systems analyst must be an agent of change3. Especially in the field of technology, where there is nothing constant but only change. Anyway, technical skills could be learned in a period of time. Since I am in the field of computer science, the basic technical skill when it comes to different programming languages is not anymore a problem and also basic knowledge on programming concepts is no longer an issue. I am computer literate enough to deal and analyze the limitations of what a computer could do.
            Managing a business is not a joke! Since the flow of the company lies in the hands of the manager. From the moment of gathering information, to developing a system, then to testing and to deployment and finally up to the maintenance of the system, the systems analyst already plays a big part for the company as a manager. The systems analyst manages the functions, the data and the system that is needed by the company itself. In order to manage a system, one has to have the leadership ability to govern the said responsibilities. The sense of leadership is one of the characteristic that I possess that makes up a good systems analyst. Since first year college up to now, I have this attitude of being dominant when it comes to group activities. Not in the sense that it could harm our group but for the betterment of it. I have this attitude of being persevered by giving all the best that I can for the group, of course also taking in to account the contribution of my colleagues. What I just want is for our group not just to win, but to satisfy the requirements of each project and prove to ourselves that we are great. 
            One cannot manage something if he/she could not manage his/her own. Being self- disciplined is the key. People around you would not believe your system of leadership if they could see that your own system is much more likely needs to be resolved. For having been four years staying here in the Institute of Computing, self- discipline is the great factor that I possessed that made myself standing up to now. Compared to other courses, this course exercises self- discipline more. And one that pushes us a lot to be disciplined are our professors by giving us assignments, quizzes and project at a short period of time. Self- discipline is not enough for me to do what I am supposed to do. Self- motivation comes along with self- discipline because if you are disciplined enough but still you are not motivated enough to do the things that you are supposed to do, it would still be use less. Self- motivation requires me not to be dependent on others. I have the sense of common that pushes me to do my duties. But sometimes it cannot be avoided to feel lazy at certain time. Taking into account that “nobody is perfect”, one has its own limitations. But still I just have to try and try until I succeed but if I cannot, at least I have tried and given my best shot! And just think that everything happens for a purpose. The sense of being optimistic in life makes me stronger in every trial. Sometimes I breakdown and cry, but still life goes on.
There is a saying that “no man is an island”. A systems analyst could not work on its own. Without a company where a systems analyst would depend or serves as his/her client, he/she could not make a system. And if it has and does not have a programmer, his/her system would not be made unless that systems analyst is well rounded with programming. In short, a systems analyst must cooperate with different kinds of people at a certain system development. In this situation, the intrapersonal skill of a systems analyst is developed. This is the characteristic that I greatly possess as a good systems analyst. I am flexible enough to deal with different kinds of people. As mentioned earlier, I am that adoptive enough to changes. And a part of it is dealing with different kinds of personalities with different professions. I am not that friendly and outspoken enough to meet knew people, but I am understanding and well adjusted to every situation. Sometimes I complain maybe because I lack a little reason for me to understand the changes, but later it is not anymore a problem. As a future systems analyst, I am entitled to interact with the customers to know their requirements, also interact with designers to convey the possible interface of the software and guide the coders/developers to keep track of system development2. Open mindedness and being a good listener are exercised in this task which I already have. Honestly, I like to listen to different stories because I know that is it a big factor to learning rather than reading books all alone.  I am into interactive learning because out of that, you can share your ideas and opinions.
Aside from those four specific skills that I mentioned above, I think the other characteristic that I possess that composes a so called “good systems analyst” is me being good with my communication skills. A systems analyst would find it difficult to communicate with other professionals if he/she is not good in communication by the use of the universal language. It was standardized just for the people to meet half way. An intelligent and technically motivated person must reach the lower standard type of communication to deal with other people. And a person who has a very low communication capability must strive hard to communicate also with others until both parties meet. And that characteristic is not anymore a problem with me.
Another issue about having good communication skills is that as a future systems analyst, I must have a good customer service, which I also possess. Being confident enough to deal and communicate with other people is still not enough. Having a good customer service towards clients is a big factor. If I am already a systems analyst and takes a great part in the company does not mean that I have all the power and value that I may be arrogant towards others. Having a good attitude I think is the most important characteristic that I possess and that every good systems analyst should possess. Even if you have all the knowledge, intelligence, experience and expertise towards technical and business oriented skills, but if you do not have that good and humble attitude, it would be all worthless!
To relate it in the real situation, great percentage of systems failed. And as discussed, budget is primarily the reason. But for me, being humble and considerate enough in making a system is the key. Taking into account all the possibilities and not just think of self interests. If I would design a system that is very classic and costly to implement, only few could benefit and afford it and maybe would not be implemented at all due to financial disability. So I would rather implement a system that is simple and justly so that it would be beneficial and affordable to the majority.  
Time management is not that a big issue for me. I always find time to do the things that I am supposed to do at a given time. But sometimes I have this attitude of doing things at the eleventh hour. Although I could pass the required task at the given deadline, but my product is not that admirable. I have this attitude of being moody. I do not force myself to do things that are against my will or mood because I know that my product at that time would not be that good. I just take things smoothly and do not blend in to things harshly. I always put my heart into everything I do and expects a lot from it. But if my work would be criticized or neglected; I just take it as a challenge for me to do better and prove to them that I can.
Database knowledge is also a factor to become a good systems analyst. I am now in the stage of knowing the basic relations in the database management. I was able to use and practice Visual FoxPro, have already created a simple system for records. Related relations with that data involved in the system and generated solutions to it.
A systems analyst plays a big part especially in the information security. Since, a systems analyst is in charge with the whole system, he/she knows every single data that is stored and used in a system. Intellectual skills are not enough to use as a basis for a systems analyst. Hi/her attitude counts. When it comes to data security, a systems analyst must be honest and loyal towards the company. I can say that I possess those values. In my own little way as a daughter, as a student, as a friend and as a person, I am honest and loyal enough. I can assure the company I am in with my honesty and loyalty. If I can be trusted with little things, rest assured I can also be trusted to more serious issues.
Out of all the things that I learned, I am also willing to share and teach others who wish to follow my field. I am generous to everyone who perseveres and deserves to be parted with my talent. It is my pleasure to share and could somehow serve as an inspiration to them. Others maybe would want to keep their talents for themselves, those that are selfish ones that would never grow and just remain from where they are. To more you share, the more windows of opportunity are waiting.
From the fact that I am adoptive to changes, I believe that I am competitive enough. For I always aim and look for improvement that could really help me. Sooner or later, I would be knowledgeable enough when it comes to all fields. Although I am not into competition, but I think that makes me more competitive because I seek improvement for the benefit of many and not just for my self.
 
During the class discussion, it was questioned that what would we prefer for a certain system analyst must possess, to be business skilled type or technically skilled one? Although I am in the field of computer science, and technically skilled enough to be a systems analyst, I still want to be knowledgeable in business. For short, a systems analyst must be integrated enough on different professions. Anyone could be a systems analyst providing that you have all the skills needed. No one is born to be a systems analyst but one is trained to be one of a “good systems analyst.”
For four years stay in college, still I can say that I am not yet a good systems analyst. I still have to learn more. I still need experiences to bold myself to become one. Aside from the characteristics I enumerated above, it might seem many or perfect, still it’s not yet enough. For me to determine my weakness or characteristic that needs to be practiced, let me analyze it one by one.
Analytically, I still need to research more on different algorithm approaches. I must be knowledgeable on business oriented situations so that I can analyze well and provide good solutions.
Technically, the languages that I was able to practice are Assembly, C, C++ and Java. That means that I have to research more on different or other object oriented related programming languages for me to express more my system design and for me to produce a good system.
In managerial field, I still need more experience. But I am hoping that as we go on with our project, I will learn many things and practice much more good characteristics. And also practice not to be totally dominant on things and give way to my colleagues.
Intrapersonal skill is the one I humbly possess greatly. I just have to develop it as we go along with this subject, Systems Analysis and Design.
Having been illustrated the characteristics that I possess as a good systems analysis, I can now view my self on where stage I am already in the development of our system. I have laid the dos and manifested the don’ts; I can now develop my self to become a good systems analyst.

Resources:
  1. http://en.wikipedia.org/wiki/Systems_analyst
  2. http://en.wikipedia.org/wiki/Systems_analyst
  3. 'Role of the Systems Analyst' - Systems Analysis and Design, Kendall and Kendall p. 5



           

Monday, December 7, 2009

Yeheey!!!!!!!!!

I just got in to blog!!!!!

Congratulations to me!!!!!!!!

hehehe........

:-)
 

Missing You Blogger Template