Saturday, December 26, 2009

SYSTEMS DEVELOPMENT LIFECYCLE(USEP)

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? at least 2500 words ..

SYSTEMS DEVELOPMENT LIFECYCLE

The systems development life cycle is a project management technique that divides complex projects into smaller, more easily managed segments or phases. Segmenting projects allows managers to verify the successful completion of project phases before allocating resources to subsequent phases.

Software development projects typically include initiation, planning, design, development, testing, implementation, and maintenance phases. However, the phases may be divided differently depending on the organization involved. For example, initial project activities might be designated as request, requirements-definition, and planning phases, or initiation, concept-development, and planning phases. End users of the system under development should be involved in reviewing the output of each phase to ensure the system is being built to deliver the needed functionality.

Note: Examiners should focus their assessments of development, acquisition, and maintenance activities on the effectiveness of an organization’s project management techniques. Reviews should be centered on ensuring the depth, quality, and sophistication of a project management technique are commensurate with the characteristics and risks of the project under review.

INITIATION PHASE

Careful oversight is required to ensure projects support strategic business objectives and resources are effectively implemented into an organization's enterprise architecture. The initiation phase begins when an opportunity to add, improve, or correct a system is identified and formally requested through the presentation of a business case. The business case should, at a minimum, describe a proposal’s purpose, identify expected benefits, and explain how the proposed system supports one of the organization’s business strategies. The business case should also identify alternative solutions and detail as many informational, functional, and network requirements as possible.

The presentation of a business case provides a point for managers to reject a proposal before they allocate resources to a formal feasibility study. When evaluating software development requests (and during subsequent feasibility and design analysis), management should consider input from all affected parties. Management should also closely evaluate the necessity of each requested functional requirement. A single software feature approved during the initiation phase can require several design documents and hundreds of lines of code. It can also increase testing, documentation, and support requirements. Therefore, the initial rejection of unnecessary features can significantly reduce the resources required to complete a project.

If provisional approval to initiate a project is obtained, the request documentation serves as a starting point to conduct a more thorough feasibility study. Completing a feasibility study requires management to verify the accuracy of the preliminary assumptions and identify resource requirements in greater detail.

Primary issues organizations should consider when compiling feasibility study support documentation include:

Business Considerations:

Strategic business and technology goals and objectives;
Expected benefits measured against the value of current technology;
Potential organizational changes regarding facilities or the addition/reduction of end users, technicians, or managers;
Budget, scheduling, or personnel constraints; and
Potential business, regulatory, or legal issues that could impact the feasibility of the project.

Functional Requirements:

End-user functional requirements;
Internal control and information security requirements;
Operating, database, and backup system requirements (type, capacity, performance);
Connectivity requirements (stand-alone, Local Area Network, Wide Area Network, external);
Network support requirements (number of potential users; type, volume, and frequency of data transfers); and
Interface requirements (internal or external applications).

Project Factors:

Project management methodology;
Risk management methodology;
Estimated completion dates of projects and major project phases; and
Estimated costs of projects and major project phases.

Cost/Benefit Analysis:

Expected useful life of the proposed product;
Alternative solutions (buy vs. build);
Nonrecurring project costs (personnel, hardware, software, and overhead);
Recurring operational costs (personnel, maintenance, telecommunications, and overhead);
Tangible benefits (increased revenues, decreased costs, return-on-investments); and
Intangible benefits (improved public opinions or more useful information).

The feasibility support documentation should be compiled and submitted for senior management or board study. The feasibility study document should provide an overview of the proposed project and identify expected costs and benefits in terms of economic, technical, and operational feasibility. The document should also describe alternative solutions and include a recommendation for approval or rejection. The document should be reviewed and signed off on by all affected parties. If approved, management should use the feasibility study and support documentation to begin the planning phase.

PLANNING PHASE

The planning phase is the most critical step in completing development, acquisition, and maintenance projects. Careful planning, particularly in the early stages of a project, is necessary to coordinate activities and manage project risks effectively. The depth and formality of project plans should be commensurate with the characteristics and risks of a given project.

Project plans refine the information gathered during the initiation phase by further identifying the specific activities and resources required to complete a project. A critical part of a project manager’s job is to coordinate discussions between user, audit, security, design, development, and network personnel to identify and document as many functional, security, and network requirements as possible.

Primary items organizations should address in formal project plans include:

Project Overview – Project overviews provide an outline of the project plan. Overviews should identify the project, project sponsors, and project managers; and should describe project goals, background information, and development strategies.

Roles and Responsibilities – Project plans should define the primary responsibilities of key personnel, including project sponsors, managers, and team members. Additionally, project plans should identify the responsibilities of third-party vendors and internal audit, security, and network personnel.

Communication – Defined communication techniques enhance project efficiencies. Therefore, management should establish procedures for gathering and disseminating information. Standard report forms, defined reporting requirements, and established meeting schedules facilitate project communications.

Management should establish acceptance criteria for each project phase. Management should also establish appropriate review and approval procedures to ensure project teams complete all phase requirements before moving into subsequent phases.

Defined Deliverables – Clearly defined expectations are a prerequisite for successfully completing projects. Representatives from all departments involved in, or affected by, a project should assist in defining realistic project objectives, accurate informational, functional, and interface requirements, and objective acceptance criteria.

Control Requirements – An essential part of the planning process involves designing and building automated control and security features into applications. Identifying all required features and exactly where they should be placed is not always possible during initial project phases. However, management should consider security and control issues throughout a project’s life cycle and include those features in applications as soon as possible during a project’s life cycle.

Risk Management – Managing risks is an important part of the project planning process. Organizations should establish procedures to ensure managers appropriately assess, monitor, and manage internal and external risks throughout a project’s life cycle. The procedures should include risk acceptance, mitigation, and/or transfer strategies.

External risks include issues such as vendor failures, regulatory changes, and natural disasters. Internal risks include items that affect budgets, such as inaccurate cost forecasting or changing functional requirements; scheduling difficulties, such as unexpected personnel changes or inaccurate development assumptions; and work flow challenges, such as weak communication or inexperienced project managers

Change Management – Personnel often request the addition or modification of functional requirements during software development projects. Although the addition or modification of requirements may be appropriate, standards should be in place to control changes in order to minimize disruptions to the development process. Project managers should establish cut-off dates after which they defer requested changes to subsequent versions. Additionally, representatives from the same departments involved in establishing requirements should be involved in evaluating and approving proposed changes. Large, complex, or mission-critical projects should include formal change management procedures.

Standards – Project plans should reference applicable standards relating to project oversight activities, system controls, and quality assurance. Oversight standards should address project methodology selections, approval authorities, and risk management procedures. System controls standards should address functional, security, and automated-control requirements. Quality assurance standards should address the validity of project assumptions, adherence to project standards, and testing of a product’s overall performance. Management should review, approve, and document deviations from established standards.

Documentation – Project plans should identify the type and level of documentation personnel must produce during each project phase. For instance, personnel should document project objectives, system requirements, and development strategies during the initiation phase. The documentation should be revised as needed throughout the project. For example, preliminary user, operator, and maintenance manuals created during the design phase should be revised during the development and testing phases, and finalized during the implementation phase.

Scheduling – Management should identify and schedule major project phases and the tasks to be completed within each phase. Due to the uncertainties involved with estimating project requirements, management should build flexibility into project schedules. However, the amount of flexibility built into schedules should decline as projects progress and requirements become more defined.

Budget – Managers should develop initial budget estimations of overall project costs so they can determine if projects are feasible. Managers should monitor the budgets throughout a project and adjust them if needed; however, they should retain a baseline budget for post-project analysis. In addition to budgeting personnel expenses and outsourced activities, it is important to include the costs associated with project overhead such as office space, hardware, and software used during the project.

Testing – Management should develop testing plans that identify testing requirements and schedule testing procedures throughout the initial phases of a project. End users, designers, developers, and system technicians may be involved in the testing process.

Staff Development – Management should develop training plans that identify training requirements and schedule training procedures to ensure employees are able to use and maintain an application after implementation.

DESIGN PHASE

The design phase involves converting the informational, functional, and network requirements identified during the initiation and planning phases into unified design specifications that developers use to script programs during the development phase. Program designs are constructed in various ways. Using a top-down approach, designers first identify and link major program components and interfaces, then expand design layouts as they identify and link smaller subsystems and connections. Using a bottom-up approach, designers first identify and link minor program components and interfaces, then expand design layouts as they identify and link larger systems and connections.

Contemporary design techniques often use prototyping tools that build mock-up designs of items such as application screens, database layouts, and system architectures. End users, designers, developers, database managers, and network administrators should review and refine the prototyped designs in an iterative process until they agree on an acceptable design. Audit, security, and quality assurance personnel should be involved in the review and approval process.
Management should be particularly diligent when using prototyping tools to develop automated controls. Prototyping can enhance an organization’s ability to design, test, and establish controls. However, employees may be inclined to resist adding additional controls, even though they are needed, after the initial designs are established.
Designers should carefully document completed designs. Detailed documentation enhances a programmer’s ability to develop programs and modify them after they are placed in production. The documentation also helps management ensure final programs are consistent with original goals and specifications.

Organizations should create initial testing, conversion, implementation, and training plans during the design phase. Additionally, they should draft user, operator, and maintenance manuals.

DEVELOPMENT PHASE

The development phase involves converting design specifications into executable programs. Effective development standards include requirements that programmers and other project participants discuss design specifications before programming begins. The procedures help ensure programmers clearly understand program designs and functional requirements.

Programmers use various techniques to develop computer programs. The large transaction-oriented programs associated with financial institutions have traditionally been developed using procedural programming techniques. Procedural programming involves the line-by-line scripting of logical instructions that are combined to form a program.
Primary procedural programming activities include the creation and testing of source code and the refinement and finalization of test plans. Typically, individual programmers write and review (desk test) program modules or components, which are small routines that perform a particular task within an application. Completed components are integrated with other components and reviewed, often by a group of programmers, to ensure the components properly interact. The process continues as component groups are progressively integrated and as interfaces between component groups and other systems are tested.

Advancements in programming techniques include the concept of "object-oriented programming." Object-oriented programming centers on the development of reusable program routines (modules) and the classification of data types (numbers, letters, dollars, etc.) and data structures (records, files, tables, etc.). Linking pre-scripted module objects to predefined data-class objects reduces development times and makes programs easier to modify. Refer to the "Software Development Techniques" section for additional information on object-oriented programming.

Organizations should complete testing plans during the development phase. Additionally, they should update conversion, implementation, and training plans and user, operator, and maintenance manuals.

Development Standards
Development standards should be in place to address the responsibilities of application and system programmers. Application programmers are responsible for developing and maintaining end-user applications. System programmers are responsible for developing and maintaining internal and open-source operating system programs that link application programs to system software and subsequently to hardware. Managers should thoroughly understand development and production environments to ensure they appropriately assign programmer responsibilities.

Development standards should prohibit a programmer's access to data, programs, utilities, and systems outside their individual responsibilities. Library controls can be used to manage access to, and the movement of programs between, development, testing, and production environments. Management should also establish standards requiring programmers to document completed programs and test results thoroughly. Appropriate documentation enhances a programmer's ability to correct programming errors and modify production programs.
Coding standards, which address issues such as the selection of programming languages and tools, the layout or format of scripted code, and the naming conventions of code routines and program libraries, are outside the scope of this document. However, standardized, yet flexible, coding standards enhance an organization’s ability to decrease coding defects and increase the security, reliability, and maintainability of application programs. Examiners should evaluate an organization’s coding standards and related code review procedures.


TESTING PHASE

The testing phase requires organizations to complete various tests to ensure the accuracy of programmed code, the inclusion of expected functionality, and the interoperability of applications and other network components. Thorough testing is critical to ensuring systems meet organizational and end-user requirements.

If organizations use effective project management techniques, they will complete test plans while developing applications, prior to entering the testing phase. Weak project management techniques or demands to complete projects quickly may pressure organizations to develop test plans at the start of the testing phase. Test plans created during initial project phases enhance an organization’s ability to create detailed tests. The use of detailed test plans significantly increases the likelihood that testers will identify weaknesses before products are implemented.

Testing groups are comprised of technicians and end users who are responsible for assembling and loading representative test data into a testing environment. The groups typically perform tests in stages, either from a top-down or bottom-up approach. A bottom-up approach tests smaller components first and progressively adds and tests additional components and systems. A top-down approach first tests major components and connections and progressively tests smaller components and connections. The progression and definitions of completed tests vary between organizations.

Bottom-up tests often begin with functional (requirements based) testing. Functional tests should ensure that expected functional, security, and internal control features are present and operating properly. Testers then complete integration and end-to-end testing to ensure application and system components interact properly. Users then conduct acceptance tests to ensure systems meet defined acceptance criteria.

Testers often identify program defects or weaknesses during the testing process. Procedures should be in place to ensure programmers correct defects quickly and document all corrections or modifications. Correcting problems quickly increases testing efficiencies by decreasing testers’ downtime. It also ensures a programmer does not waste time trying to debug a portion of a program without defects that is not working because another programmer has not debugged a defective linked routine. Documenting corrections and modifications is necessary to maintain the integrity of the overall program documentation.

Organizations should review and complete user, operator, and maintenance manuals during the testing phase. Additionally, they should finalize conversion, implementation, and training plans.


IMPLEMENTATION PHASE

The implementation phase involves installing approved applications into production environments. Primary tasks include announcing the implementation schedule, training end users, and installing the product. Additionally, organizations should input and verify data, configure and test system and security parameters, and conduct post-implementation reviews. Management should circulate implementation schedules to all affected parties and should notify users of any implementation responsibilities.
After organizations install a product, pre-existing data is manually input or electronically transferred to a new system. Verifying the accuracy of the input data and security configurations is a critical part of the implementation process. Organizations often run a new system in parallel with an old system until they verify the accuracy and reliability of the new system. Employees should document any programming, procedural, or configuration changes made during the verification process.

PROJECT EVALUATION

Management should conduct post-implementation reviews at the end of a project to validate the completion of project objectives and assess project management activities. Management should interview all personnel actively involved in the operational use of a product and document and address any identified problems.

Management should analyze the effectiveness of project management activities by comparing, among other things, planned and actual costs, benefits, and development times. They should document the results and present them to senior management. Senior management should be informed of any operational or project management deficiencies.

MAINTENANCE PHASE

The maintenance phase involves making changes to hardware, software, and documentation to support its operational effectiveness. It includes making changes to improve a system’s performance, correct problems, enhance security, or address user requirements. To ensure modifications do not disrupt operations or degrade a system’s performance or security, organizations should establish appropriate change management standards and procedures.

Change management (sometimes referred to as configuration management) involves establishing baseline versions of products, services, and procedures and ensuring all changes are approved, documented, and disseminated. Change controls should address all aspects of an organization’s technology environment including software programs, hardware and software configurations, operational standards and procedures, and project management activities. Management should establish change controls that address major, routine, and emergency software modifications and software patches.

Major modifications involve significant changes to a system’s functionality. Management should implement major modifications using a well-structured process, such as an SDLC methodology.

Routine changes are not as complex as major modifications and can usually be implemented in the normal course of business. Routine change controls should include procedures for requesting, evaluating, approving, testing, installing, and documenting software modifications.
Emergency changes may address an issue that would normally be considered routine, however, because of security concerns or processing problems, the changes must be made quickly. Emergency change controls should include the same procedures as routine change controls. Management should establish abbreviated request, evaluation, and approval procedures to ensure they can implement changes quickly. Detailed evaluations and documentation of emergency changes should be completed as soon as possible after changes are implemented. Management should test routine and, whenever possible, emergency changes prior to implementation and quickly notify affected parties of all changes. If management is unable to thoroughly test emergency modifications before installation, it is critical that they appropriately backup files and programs and have established back-out procedures in place.

Software patches are similar in complexity to routine modifications. This document uses the term "patch" to describe program modifications involving externally developed software packages. However, organizations with in-house programming may also refer to routine software modifications as patches. Patch management programs should address procedures for evaluating, approving, testing, installing, and documenting software modifications. However, a critical part of the patch management process involves maintaining an awareness of external vulnerabilities and available patches.

Maintaining accurate, up-to-date hardware and software inventories is a critical part of all change management processes. Management should carefully document all modifications to ensure accurate system inventories.



DISPOSAL PHASE

The disposal phase involves the orderly removal of surplus or obsolete hardware, software, or data. Primary tasks include the transfer, archiving, or destruction of data records. Management should transfer data from production systems in a planned and controlled manner that includes appropriate backup and testing procedures. Organizations should maintain archived data in accordance with applicable record retention requirements. It should also archive system documentation in case it becomes necessary to reinstall a system into production. Management should destroy data by overwriting old information or degaussing (demagnetizing) disks and tapes.

How do you know that the life cycle was developed specifically for the university. How do we know it meets our needs?

We, students of the University, can be able to say that the life cycle is being developed for the school itself since part of USEP goal is to produce globally competitive and morally upright graduates and to develop a strong Research, Development, and Extension culture with competent human resource and responsive and relevant researches that are adopted and utilized for development , which means we are part of the life cycle and that life cycle is our development and product. University mostly lack something that students are discouraged because it seems that the school usually can not provide them all the convenience they needed and hard at their part to agree on the new propose system. For sure, for those in the positions when they are being involved and trained well, I think this things will never be a problem for them. Though there are some difficulties with the part of the university to shift with other new system that they find much harder to use than the latter, still both system's purpose is for the betterment and progress of the school as well as the students. And even there are certain issues like that arises,still, I may say that the school serve me with some the things that I need such as in keeping my records secure and updated.
From the views and opinions I stated above, I therefore concluded that the systems development life cycle existed and will remain part of the school's life cycle for the reason that the steps being considered here is very helpful and efficient tool for the universities development and students progress.


Friday, December 25, 2009

SYSTEMS DEVELOPMENT MODELS

ACCION,HONEY LYNNE C.
BSCS-3

Identify and discuss at least 3 systems development models .. discuss each phases ... (at least 3000 words)

[b]SYSTEMS DEVELOPMENT MODEL[/b]

The systems development model or also known as software process model maybe defined as a simplified description of a software process, presented from a particular perspective. In essence, each stage of the software process is identified and a model is then employed to represent the inherent activities associated within that stage. Consequently, a collection of ‘local’ models may be utilised in generating the global picture representative of the software process. Examples of models include the workflow model, the data-flow model, and the role model.

The [u]workflow model [/u]shows the sequence of activities in the process along with their inputs, outputs and dependencies. The activities in the model represent human actions.

The [u]dataflow model[/u] represents the process as a set of activities each of which carries out some data transformation. It shows how the input to the process such as specification is transformed to an output such as design. The activities here maybe lower than in a workflow model. They may represent transformations carries out by people or computers.

The [u]role model[/u] represents the roles of people involved in the software process and the activities for which they are responsible.
In this section of the course focuses on the traditional generic software process models to highlight they effectively demonstrate the different approaches to software development. Such models include the:
[list][*]Build And Fix
Waterfall Model
Formal Systems Development Model
Prototyping Model [Additional information on Prototyping]
Rapid Application Development (RAD) Model [/list]

Evolutionary Process Models
[list][*]Incremental Model
Spiral Model
WINWIN Spiral Model[/list]

Note that these are not definitive descriptions of any particular software process but give an overview of different approaches to software development.

[b]Build-And-Fix model[/b]

This model is the worst model for developing a project.


The product is built without proper specifications and design steps. In essence, the product is built and modified as many times as possible until it satisfies the client. The cost of using this approach is greater than if specifications are drawn up and a design is carefully developed. Software engineers are strongly discouraged from using this development approach.
The waterfall model
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.

Note that this model is sometimes referred to as the linear sequential model or the software life cycle.

The model consist of six distinct stages, namely:

1.In the requirements analysis phase
(a)The problem is specified along with the desired service objectives (goals)
(b)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.
Note that in some text, the requirements analysis and specifications phases are combined and represented as a single phase.
3.In the system and software design phase, the system specifications are translated into a software representation. 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 [Deliverable – The software product is delivered to the client for acceptance testing.]

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

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.

Advantages
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

Disadvantages
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.

[b]Formal Systems Development Model[/b]

The formal systems development model utilises a development process that is based on formal mathematical transformation of system models to executable programs. Similar to the waterfall model, the formal approach has clearly defined (cascading) phase boundaries. The critical distinctions between the two models are:
1.The software requirements and specification phases are refined into a detailed formal specification, which is expressed mathematically.
2.The design, implementation and unit testing (NB: to be covered later in semester) are replaced by a single formal transformation phase.


Formal Transformation
During the formal transformation process the mathematical representation of the specifications is systematically refined. More specifically, at each transformation stage (Tx, x = 1, 2,…) more detail is added to produce a refined specification (R x, x = 1, 2,…) until the formal specification is converted into the equivalent program.
Each transformation is made should be sufficiently close to avoid excessive verification efforts and reduce the possibility of transformation errors. In the absence of such errors the program would represent the true implementation of the specifications.

The formal systems development model is typically employed when developing systems that require strict safety, reliability and security requirements. However, the expertise required for the mathematical notations used for the formal specifications adds to the system development effort and cost making this model impractical for the development of other systems. Especially as there are no significant quality or cost advantages over other approaches.

[b]Prototyping Model [/b]

Definition: A prototype is a working model that is functionally equivalent to a component of the product.

In many instances the client only has a general view of what is expected from the software product. In such a scenario where there is an absence of detailed information regarding the input to the system, the processing needs and the output requirements, the prototyping model may be employed. This model reflects an attempt to increase the flexibility of the development process by allowing the client to interact and experiment with a working representation of the product. The developmental process only continues once the client is satisfied with the functioning of the prototype. At that stage the developer determines the specifications of the client’s real needs.
The following sections examines two (2) version of the prototyping model:
Version I: Prototyping is used as a requirements technique.
Version II: Prototype is used as the specifications or a major part thereof.
Version I
It uses the prototype as a means of quickly determining the needs of the client; it is discarded once the specifications have been agreed on. The emphasis of the prototype is on representing those aspects of the software that will be visible to the client/user (e.g. input approaches and output formats). Thus it does not matter if the prototype hardly works.
Note that if the first version of the prototype does not meet the client’s needs, then it must be rapidly converted into a second version.
Version II
The prototype is actually used as the specifications for the design phase. This advantage of this approach is speed and accuracy, as not time is spent on drawing up written specifications. The inherent difficulties associated with that phase (i.e. incompleteness, contradictions and ambiguities) are then avoided.
Disadvantages of prototyping
1.Often clients expect that a few minor changes to the prototype will more than suffice their needs. They fail to realise that no consideration was given to the overall quality of the software in the rush to develop the prototype.
2.The developers may lose focus on the real purpose of the prototype and compromise the quality of the product. For example, they may employ some of the inefficient algorithms or inappropriate programming languages used in developing the prototype. This mainly due to laziness and an over reliance on familiarity with seemingly easier methods.
3.A prototype will hardly be acceptable in court in the event that the client does not agree that the developer has discharged his/her obligations. For this reason using the prototype as the software specification is normally reserved for software development within an organisation.

To avoid the above problems the developer and the client should both establish a protocol, which indicates the deliverables to the client as well as an contractual obligations.
In both versions the prototype is discarded early in the life cycle. However, one way of ensuring that the product is properly designed and implemented is to implement the prototype in a different programming language from that of the product.

[b]RAD Model[/b]

“Rapid Application Development (RAD) is an incremental software development process model that emphasises a very short development cycle [typically 60-90 days].” The RAD model is a high-speed adaptation of the waterfall model, where the result of each cycle a fully functional system.



RAD is used primarily for information systems applications, the RAD approach encompasses the following phases:

Business modeling

The information flow among business functions is modeled in a way that answers the following questions:
What information drives the business process?
What information is generated?
Who generates it?
Where does the information go?
Who processes it?

Data modeling

The information flow defined as part of the business modeling phase is refined into a set of data objects that are needed to support the business. The characteristics (called attributes) of each object are identified and the relationships between these objects are defined.
Process modeling
The data objects defined in the data-modeling phase are transformed to achieve the information flow necessary to implement a business function. Processing descriptions are created for adding, modifying, deleting, or retrieving a data object.
Application generation
RAD assumes the use of the RAD fourth generation techniques and tools like VB, VC++, Delphi etc rather than creating software using conventional third generation programming languages. The RAD works to reuse existing program components (when possible) or create reusable components (when necessary). In all cases, automated tools are used to facilitate construction of the software.

Testing and turnover

Since the RAD process emphasizes reuse, many of the program components have already been tested. This minimizes the testing and development time.
If a business application can be modularized so that each major function can be completed within the development cycle then it is a candidate for the RAD model. In this case, each team can be assigned a model, which is then integrated to form a whole.

Disadvantages
·For Large (but scalable) projects, RAD requires sufficient resources to create the right number of RAD teams.
·RAD projects will fail if there is no commitment by the developers or the clients to ‘rapid-fire’ activities necessary to get a system complete in a much abbreviated time frame.
·If a system cannot be properly modularized, building components for RAD will be problematic

[b]Incremental Model[/b]

This model derives its name from the way in which the software is built. More specifically, the model is designed, implemented and tested as a series of incremental builds until the product is finished. A build consists of pieces of code from various modules that interact together to provide a specific function.
At each stage of the IM a new build is coded and then integrated into the structure, which is tested as a whole. Note that the product is only defined as finished when it satisfies all of its requirements.

This model combines the elements of the waterfall model with the iterative philosophy of prototyping. However, unlike prototyping the IM focuses on the delivery of an operational product at the end of each increment.
An example of this incremental approach is observed in the development of word processing applications where the following services are provided on subsequent builds:
1. Basic file management, editing and document production functions
2. Advanced editing and document production functions
3. Spell and grammar checking
4. Advance page layout
The first increment is usually the core product which addresses the basic requirements of the system. This maybe either be used by the client or subjected to detailed review to develop a plan for the next increment. This plan addresses the modification of the core product to better meet the needs of the customer, and the delivery of additionally functionality. More specifically, at each stage
·The client assigns a value to each build not yet implemented
· The developer estimates cost of developing each build
· The resulting value-to-cost ratio is the criterion used for selecting which build is delivered next
Essentially the build with the highest value-to-cost ratio is the one that provides the client with the most functionality (value) for the least cost. Using this method the client has a usable product at all of the development stages.

[b]The Spiral Model[/b]

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.

Depending on the model it may have 3-6 task regions (/framework activities) 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.
The evolutionary process begins at the centre position and moves in a clockwise direction. Each traversal of the spiral typically results in a deliverable. For example, the first and second spiral traversals may result in the production of a product specification and a prototype, respectively. Subsequent traversals may then produce more sophisticated versions of the software.
An important distinction between the spiral model and other software models is the explicit consideration of risk. There are no fixed phases such as specification or design phases in the model and it encompasses other process models. For example, prototyping may be used in one spiral to resolve requirement uncertainties and hence reduce risks. This may then be followed by a conventional waterfall development.

·Note that each passage through the planning stage results in an adjustment to the project plan (e.g. cost and schedule are adjusted based on the feedback from the customer, project manager may adjust the number of iterations required to complete the software….)
·Each of the regions is populated by a set of work tasks called a task set that are adapted to characteristics of the project to be undertaken. For small projects the number of tasks and their formality is low. Conversely, for large projects the reverse is true.
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]

[b]The WINWIN Spiral Model[/b]

This is an adaptation of the spiral model which emphasis is explicitly placed on the involvement of the client in a negotiation process at the genesis of the product development. Ideally, the developer would simply ask the customer what is required and the customer would provide sufficient detail to proceed. Unfortunately this rarely happens and significant negotiations between both parties are required to balance functionality, performance, etc… with cost and time-to-market considerations.
The model derives its name from the objective of these negotiations, i.e. “win-win”. The client gets the product that satisfies the majority of his/her needs, and the developer wins by working to realistic and achievable budgets and deadlines. To achieve this objective the model defines a set of negotiation activities at the beginning of each pass around the spiral. Rather that a single customer communication activity the following activities are defined:
Identification of the system stakeholders. That is the people on the organisation that have direct business interest in the product to be built and will be rewarded for a successful outcome or criticised if the effort fails (e.g. user, customer, developer, maintainer, interfacer, etc.).
Determination of the stakeholder’s “win conditions”
Negotiations of the stakeholder’s win conditions to reconcile them into a set of win-win conditions for all concerned (including the software project team).

In addition to the early emphasis placed on the win-win condition, the model also introduces three process milestones (anchor points), which help establish the completion of one cycle around the spiral and provide the decision milestones before the software project proceeds. These are,
1.Life Cycle Objectives (LCO) – Defines a set of objectives for each major software activity (e.g. a set of objectives associated with the definition of top level product requirements)
2. Life Cycle Architecture (LCA) – Establishes the objectives that must be met as the as the software architecture is defined.
3. Initial Operational Capability (IOC) – represents a set of objectives associated with the preparation of the software for installation/distribution, site preparations prior to installations, and assistance required by all parties that will use or support the software.
Advantages:
Faster software production facilitated through collaborative involvement of the relevant stake holders.
Cheaper software via rework and maintenance reductions

References:
http://scitec.uwichill.edu.bb/cmp/online/cs22l/software_process_models.htm
http://scitec.uwichill.edu.bb/cmp/online/cs22l/formalModel.htm
http://scitec.uwichill.edu.bb/cmp/online/cs22l/BuindAndFix.htm
http://scitec.uwichill.edu.bb/cmp/online/cs22l/waterfall_model.htm
http://scitec.uwichill.edu.bb/cmp/online/cs22l/prototype.htm
http://scitec.uwichill.edu.bb/cmp/online/cs22l/rad.htm
http://scitec.uwichill.edu.bb/cmp/online/cs22l/incremental.htm
http://scitec.uwichill.edu.bb/cmp/online/cs22l/spiralmodel.htm
http://scitec.uwichill.edu.bb/cmp/online/cs22l/winwinspiralmodel.htm

Sunday, December 20, 2009

ROLE OF THE SYSTEMS ANALYST AS A PROJECT MANAGER


Discuss the role of a systems analyst as a project manager. You need to interview an analyst/project manager …








The life of a systems analyst in in a company is full of big responsibilities. Issues is always one of the toughest they have been facing all the time in which it totally needs their skills in decision making and problem solving. In a deeper sense, they mostly seems to be immune already of the happenings inside and outside of the company. Surely, minds of them always asking questions such as he or she is doing the right or is he or she is on the other way around. Of being the decision maker and problem solver, we can probably say that the whole industry relies most of their life unto them. We are also a systems analyst of our own life and only it is up to us if we know how to handle it in fact that is what the system analyst itself always doing for the company's integrity and progress. And the mere truth about it, is that their job is really not that easy to work with because if you may think solving problems that bigger is like you are carrying the whole world as well. Without this important people and and without a kind of characteristic ans skills like this, I predict that the world will be filled with unsolved problems and failures. From that given scenario, we somehow barely understand that the real existence of systems analyst in the industry is for the improvement and success of everybody. Though competition with in the companies are always there, still their purpose is to help people and the country to be more progressive and productive. It is better to really understand the overall activity they always doing so that we will not remain judgmental to our own people whom just want to fix the mess that somehow people may have caused. From that way, we can even help lessen certain issues and most especially lightens their working activity. In the company, employees must also be open-minded and generous in stating their ideas to the system analyst so that he or she could balance things well. Having others views and opinions, the system analyst can somehow get some points and answers from them, who knows? It is not always that the systems analyst mind always knows this kind of problem and it is not bad to ask others about it. Though it is your job, it does not mean you will not accept their part of course you both belong on the same company and you both have the same goal to gave the company its longing success in its entire residence in the in the industry. As long as they were there and continue to serve companies, we can say that there no problems that can not be solve. The are the means of companies that is why there are certain corporations remain standing. But others were not as lucky as them because probably not all decisions succeeded and maybe the company itself hired a system analyst that is not skilled and knowledgeable enough at that certain field. Companies must also seek proper person for that job so that company will not regret in the end. Since we have already learned a lot of things about systems analyst, we will now come to a point of learning about systems analyst as a project manager. Mainly at this level of job a system analyst is kinda different wherein certain projects are now involve. As what I learned about it and from the interview that we done at PIADI (Printing Association of Davao Incorporated), the project manager has that tasked to do a project in accordance to the requirements given by their clients. And aligned to that job, the project manager will be managing a team that will be working on ti. Prior to to the role of the project manager in the company, he or she should also develop a system that would achieve to the expected needs of their users. The developing team and project manager must have an open communication to its client to be able to cope up with their prescribe standards and requirement. Without consulting them and you as the project manager will just develop a system with what you believe can help is not a proper thing to do. The clients knows most of their business then they should be followed and that is one part of the role of the systems analyst as a project manager to be able to satisfy the needs of their users. Many projects which failed risked billions of money so that is why sometimes companies intend not to risk because they were afraid of losing some of their resources that they have been working on for a long time. The reasons for this failure maybe there are incomplete or changing requirements, lack of resources, lack of executive support, unclear objectives etc. That is just few reasons why projects never succeeded. The role also of the project manager is to see to it that failure will not prevail and before he or she would start the project, he or she must follow certain guidelines for a successful project to prevent failures and inconsistencies in their system. If that aspect is being applied, we must say that a consistent project will be done. Being a project manager, you must also consider that teamwork in your group so there be no conflicts will occur. The project manager as he cited an example where teamwork never existed such as when one person in the group never wanted any help because he or she believes that he or she can do the work by his or her own self and even opinions from others he or she never intend to listen. When that happens, the project will never be in progress and it will just end up useless. So as a project manager, he or she should look on his or her team to solve the issue as earlier as possible. It is very important that the group communicates and interact since all of you want the best for your project and the best for your clients. To sum it up, truly the role of a systems analyst as a project manager is to see to it that the team have an open communication to their clients, he or she (project manager) should follow guidelines to have a successful project, the group he or she handles must be skillful and responsible through their actions towards work and towards others, and lastly, project manager accompanied by his or her group must be able to create a system that would satisfy the needs of their clients.


[b]Interview a system analyst and ask what skills and characteristics must a systems develop in order to be more effective in any design modeling process.






In the world of industrial competition, we can never say that a company which is known to be famous remained famous at all times. There are also many hopefuls that someday they may be even one of the top companies in the country. In this aspect, though there are certain differences between companies, still they have the same purpose, to succeed in every way they can ever offer. That is why, there are requirements being followed and analyzed in aid for the improvement ans development if the entire project. Without considering rules and standards could be the loss of the overall activity activity, and that could somehow cost a lot. A priority concept must be proposed to have that goal achieve in a specified time. Aligned to the success and progress of the company, there is one person involved and he or she is tasked to be the problem-solver of the entire activity happening inside the establishment. He or she id known as the system analyst wherein hid or her profession, the mind is fully charged and pursued to analyze problems that might be the cause of failures. When deficiencies are pointed out, the system analyst itself must be open for resolutions and may even discussed it with the group for assistance. It means to say having that lack eradicate is a big achievement since this is one of the reason for the company's ups and downs. As part of their job, they also use design techniques to solve business problems. From the usage they tried to expose, information technology is being applied. An information technology is basically an education towards technological advancement which could be a helpful tool when company want changes for their business. Changes, as facts stated, is inevitable. From that indicated situational analysis, a system analyst should be responsible enough on his characters and skills so that communication breakdown will not exterminate the whole activity.



The company we conducted an interview is a multipurpose cooperative known as “PIADI (Printing Association of Davao Incorporated)”. As we entered their vicinity, one employee asked us about our intentions regarding the visitation. We answered, if it is alright to interview your systems analyst for our study?As she mention our side to their manager, she said we have to wait for a few minutes because he is still on a work. When he finished already, we are now referred through his table. Meeting the manager personally and interviewed is much informative than researching facts through the internet. Most of their learning is based from their experiences through life. The manager, on his 21 years in banking worked at first as a teller, collector, ans etc. at the PCI bank now known as BDO. He id a graduate of AB Philosophy. When we asked him about how he applied his educational background on his work, he answered, as part of the systems analyst job wherein you use to solve problems by decision making but through philosophical views, you ,must also consider others insights and opinions in conducting a specific task. The fact that in philosophy “discipline” is a big word. He also added when it comes to interpersonal relationship to hid employee and members must be widely open o communication and interactions. One follow-up questions we asked about is what skills and characteristics must an analyst develop in order to be more effective in any design modeling process. The manager itself stated that the system being used by the company is furnished and organized by a programmer that they hired under legal company. Being an analyst, he stated that your experience is important especially handling a big cooperative with a number of members involve. Through his level of understanding, he asses that first timers and inexperience might success or fail since he or she is new to the industry but still it relies on hoe adaptive he or she in his or her work. On the other hand, we can barely say that the most experience in the field of work is superior than the latter. The manager also added that accounting skills is one skill that an analyst should have because handling cash inflows, outflows, inventory bookkeeping etc. truly needed your knowledge even small businesses like stores, in fact, use to have that. He share a story about a family who owned a store. He said that the family at first can say that the family at first can say that this is a good business since all the needs of his neighborhood can be bought on their store. Then suddenly, they find out that their products is few already sand they asked their selves “why is it that it looks like were not gaining something from the business?” The manager answered that query, he said that for sure they don not have ab accounting skills especially the cashier whom is known to be the handler of money is not responsible enough on his or her actions towards work. Accounting skills must be applied to businesses necause without that knowledge, the company will have a big problem thus somehow lead to bankruptcy and more of the members will also be affected. You must also consider that owning a business is a risk but if you choose not to risk your business, you should think first your capability on running that trade and the help or damage you will bring to the company. He stated that he is not only the one who owned the business but as well as everybody whom is the reason why the company is still standing ans part of the business industry. I may say that without their participation, is a company can still be called strong in every challenges it will undertake? The answer is no. Without that personnel, the company can never be called a multipurpose cooperative since no involvement of members occurred. That is how powerful people are! They were the ones woo give life to the company. Mainly, the manager as a systems analyst is barely responsible when problems arises and it is part of their job to gave time on solving it because one small leak could even cause bigger leaks and that will be hard to solve. It is much better that it will be solve the earlier as possible so others work will not be affected especially that the company is dependent on how you acted towards work. He said that working habit is also an important characteristics that must also be applied because having that love on your work is a big help to the company and that would also reflect to your personality. Tardiness and having wick personality towards his or her work will never meant to help him or her developed as a whole. The manager's prospect about it is that his employee must be accountable to their individual aspect towards life. They must be positive, hardworking and supportive to their boss since their manager strongly believes that one part of hid min and body is his people. If he felt that such part of his system is not functioning that well, it maybe someones got a problem and that manager would try to seek for it for immediate resolution. From that given scenario, we can provably say that goo communication skills is one aspect for the company's development and progress. If the manager allow others to talked about what could be the cause of problems, maybe they could help him find it out that easily . Because when interaction is present, it is not that far to succeed and who knows all encountered dilemmas will be eliminated and will diminished out of nowhere. Another characteristic he posted out is the attitude on work. He said, if good attitude is applied, nothing to worry about interconnecting yourselves your selves to others. As we all know that kind of aspect comprises all the characteristic must a system analyst should have. It seems that valuing ones attitude resulted to a more productive self and maintaining that aspect you considered that to be the key for your all throughout success. Of course all of us want to be successful someday and the fact that I learn something from him really means a lot. Starting from the struggles he encounter; the life he had before; the achievement he,the company have now; those numbers of people whom continuously believing in the company and served for many years. The cooperative as being known to be a resource manager has also its other sidelines such as printing and selling rims or pack of fronting supplies. This kind of business is done so members money will grow depending upon how big their share is. It means to say if you save bigger, your share is also big but if you save less, you share is just less. That is what also partly one of the manager of PIADI tasked to do. We can say that their purpose for attaining a cooperative is mainly to help people and that is barely a well appreciated work. For sure people whom does not know about their job, always say that they will just corrupt the money and only them whom can benefit it. I must say that the conducted interview we encountered for me is a great pleasure to have him shared his insights about the overall activity happening in his entire life. Though it is not that long conversation, still, we gain a lot things from him. From being busy with his schedule,when we have waited him to finish his work for about an hour, I see that he really want his job to be finished as earlier as possible. From that credibility he showed before the interview, I can see the characteristics and skills he have and that act is a big plus I can consider. Giving his time also to entertain us even though he is busy still he find us time to conduct our interview. That is how it happened before the one-on-one interview, than a little conversation when the interview began until it was finished. We make it a point that taking a picture with him is a perfect evidence that we truly meet him and interviewed personally. We also asked permission if it is alright to take picture with their employers and their building then he answered yes. The manager we interviewed is barely easy to deal with and I really find his place comfortable and very accommodating especially their employers is really funny and very happy person. It seems that their company is definitely different from those other company we visited. They were only the ones whom have a great relationship to people that clients can easily interact with. For sure, this is one reason why they have a great number of members and they succeeded in the sold of business. Finding out that the real existence of a systems analyst is very important in a business talking to that manager itself. Without his good traits and skills, a person can never be called an analyst. There must be their involvement because they are the only ones who understand break-flows and inconsistencies of the company. That ceramist aspect is a big basis to have them be part of the group. In case of failures, that will be one task he or she must sole to repel deficiencies occupying with in the system. The performance and result should also be introduce so knowldege and kills will be imparted on the group itself of why there are certain perform ace needed to acquire a specific result that the company want to achieve. Having that requirement, we must say that everything is planned and given a time because not all things can b immediately answered. It means to say that the systems analyst should be liable enough on such solution he or she believe could help. So certainly so be likeable, you should be expertly skilled in decision making and handling big issues. I therefore concluded that through their expertise and good aspects in life, truly they are the hopes and aspirations of the Comanche in the business industry.

Tuesday, December 15, 2009

CHARACTERISTIC I HAVE AS A GOOD SYSTEM ANALYST

Being a citizen of this country, a student and a second child in the family, the real thing about the topic being discussed is that we manage to have those characteristics of a good system analyst. One possible reason is those activities happening in a life of an individual person. In my side, there is what we called planned and unplanned undertakings. Of course daily exercises are certainly part of the system and we acknowledge doing that everyday. Others for sure need specific requirement to run. So basically analysis meant to enter this stage. Its participation is very important stating the case on how you can solve a problem such as in school, at home and others. Because of the above explanation, I finally got to the point that the characteristic I have as a good system analyst are the following:

· WILLINGNESS TO LEARN


- It is one of my characteristic because when I find things hard, I looked it up as a challenge so I keep telling myself that you need not to worry about that as long as you had this willingness to learn. Then, I finally saw that happen. Before I find it, way back in the past I was then a person that when I had a hard time of analyzing a specific area of the subject, I will then close my mind about it without finding a way to solve the problem. Fortunately, I already graduated at that attitude and I have learned from my mistakes. It just shows me why I should pursue everything because everything has a solution.

· DEDICATION


- As a student, I definitely acquire this characteristic for the reason that I just don’t easily give up when I find that others can do it, why should I? This attitude is very helpful for building your strength and capabilities as a person. If dedication is high, it is not really that hard for you to keep moving on provided that this kind of aspect is never a “no-no” on your side. Because if that happens, see yourself in the list of who failed, and that feeling definitely hurts. When at your part failure first before succeeding meant to work on you, do it if that certainly helps. But I am not requiring it; all I want is that if that will do for you, why not!

· MOTIVATION


- I have this kind of trait when we talk about exams, projects, quizzes, assignments and others which are basically needed on this specific area. Students like me happen to motivate their minds to the improvement of their performance in the class. That is why I keep motivating myself ensuring that I thoroughly understand lessons in preparation for the given activities happening inside the class. In aid of this trait, I saw the importance of my profession and concluded that your mind set still relies on you no matter what happen. It is on how you carry and motivate yourself throughout the entire system. In such case, this gives the idea that as when you closes your eyes, try to motivate yourself, clear your mind, focus on a certain area and let see what happen next.

· PASSION


- These are things that discourage me most, such as, when your group mates do not have that passion for the success of a project. Of course, we are trying to make the team as tight as possible. When passion is there, probably people involve within the project are manifesting a good attitude since all of you wanted its completion as soon as possible. I consider having this characteristic because my passion to succeed is always there but barriers keep resisting its way up trying to block things that is meant easier for me. Of course, not all things that are planned to happen will happen still it is about how you take the risk. Risking can be a failure or success, but beyond that failure somehow you will learn a lesson from that experience and hopefully encourage you to show your passion, love, and attention on your work.

· RESPONSIBLE


- We, as college students, must be responsible with our overall standing within the school specifically on your grades, conduct, studies and others. I think I have this characteristic especially where mature minded enough and following certain rules and regulations never been a hard time since this are being taught in grade school, high school and until now. How can we forget that! when we are barely trained in school for a long years? So responsibility must be shown already by college students, like me. This attitude is always taught everyday even at home in order for us to be more disciplined when we enter the stage of maturity. Parents are just doing this for our own good so that we can resist the life in the real world.

· HARD-WORKING


- This characteristic, I can mainly say is one key to success. Maybe because some get rich or famous in this kind of aspect. I inherit this kind of character when I saw failure within my activities in school. It suddenly puts me into a situation that I must work hard especially to such an area that I maybe had a hard time. Many students that don’t acquire this attitude seem not serious. Of course, all of us can be hard-working and it will be up to you only if you want improvement on your studies. We can be on our way up if we establish to attain this kind of character and we can totally achieve it by only on our means and will.

· AN ORGANIZER


- For sure all of us can consider having this characteristic. We tend to organize our things when things around seems to be messy and dirty. In school, when professors assigned us to explain, we learn to organize our ideas so we can be understood. This character is really a helpful tool for the improvement of you as an individual. Having this trait present in my personality, it taught me to deal with things well organize and presentable. Of course we should not attempt just to make an explanation without considering how ideas are arranged. If our statements are easily understood, we can already say that we are a good organizer.

· RESEARCH SKILLS


- This is an aspect of a person that does not keep him or her maintain in a level of learning where you intend to wait for education to come closer to you. So, you can already teach yourself by simply surfing in the Internet. Computers, nowadays, provided us all the things that we need in which researching never been a problem for us. But researching must also be applied with effort because it often requires time to search information needed maybe on your assignments or projects. I obtain this character for such reason that in every activity I am doing basically researches became a large part of my entire life as a student. It taught me a lot of things even when it is not needed in the subject. I felt learning keeps entering my mind now and then. And the good thing about it is we are now being developed as a student with good research capabilities.

· AWARENESS


- When I encountered my first failure in my subject, I felt that I already lost in the game. My insights take me to somewhere I believe it is meant for me. But that attitude never turns out late because I suddenly became aware of my life as a student that what matters most is how I can be able to face my fears. With this kind of a situation, my awareness level stood high seems I finally realize that everything is a challenge. This level of characteristic I have just shows people that we will be more conscious with the overall activity happening in this world. Maybe sometimes, we see life as nothing but happiness where we forget that there are still others who are not as lucky as we have now in life. Thus, it just proves to us that awareness does not only mean life within the four corners of your house but instead the life you have across the globe.

· PROBLEM-SOLVER


- The major issue always happens to us is how do with solve a problem. Of course there are problems that can be solved by mathematical formula, distinct proof, graphical representations and a number of solutions or calculations. But what if that will not be the case. We obtain problems that we alone can only solve it by our all means maybe through strategic planning. Since problems are not that easy to be solve, we tend to ask advises from our family and friends. It really requires your time and patience so that any step you make will never be a big regret to you. That is why I acquire to have this trait because I usually solve problems with typical questions banging around my mind saying Is this possible? Do I really have to do this by myself or I will just confirm my parents or friends? Or am I suppose to do it because I believe it is right? Unfortunately, the time ended and I finally decided. Some of my decisions are solve successfully but others were not that lucky enough. For sure, there are answers that we meant to help us but never turned out well. All I can say is that even though we failed at least we try and that will never be a big loss, still we learn something from that experience. And as we all know that experience is a best teacher. So don’t say you still don’t have that key throughout success.

· GOOD COMMUNICATION SKILLS


- This characteristic when achieve by a person is a big plus considering the fact that this would bring you into fame someday. I can say that simply because when words are written or verbally spread can create something to the life of people. But how? Journalist and media practitioner go to dangerous places just to gather information or be updated to what is really happening in the real world. I would say that I have this trait because when we are tasked to do a report, that trait certainly helps me a lot. Even though I am not that good enough in verbal but I am still trying to adapt it because I found out that when your views are heard, you let others think and conclude. It means to say that you do not only help yourself but the whole class as well. Even there are distinct differences with your views; it does not mean it resulted in a negative way. Of course you can not prevent that to happen. That is how communication attacks the life of the people and also through communication relationship with in your family, friends, classmates and others keeps tighter only if that certain aspect is use in a nice way. Truly, good communication must be present if you want that level of relationship will stay longer.

· CREATIVITY


- As a person, I am creative in certain aspects such as in building my ideas, in presenting my work of art and in my personality as well. This characteristic deals really well for so many people whom are expert and knowledgeable of this field. I acquire to have it since I do most of my projects in a creative way so that it will not just serve as a reading material but also an art as well. Being creative does not only satisfy the real existence of art but as well as the color it brings to life.

· POSITIVE ATTITUDE

- Many had failed because they are negative. They believe that the real reason why they choose to quit is that they remain challenged by their own self which in fact happens to all of us. And what is true, we are the ones who handle our life but others acted like they were been made lifeless living. From that scene, I can barely describe the life of a negative person. I maybe partly negative but still I remain to be positive. I realize that looking at the dark side of life will never meant that person developed him or her as a whole. Let yourself embrace life at the brighter side and make most of your time out of it. That is how I describe the life of a person with a positive attitude. Maybe people who acquire this attitude sees life as never been an obstacle but a path through success. It means to say that if you are positive, expect that achievements will not hide you as long as that guts will never fade. Because it is the only one people may instill in their minds to continue life and hope for the better to come.

· HONESTY


- This word is very popular to students because it is one of the very important characteristic taught by teachers to us. In which in every activity we have, it is always been applied. And that act of personality test the conscience of an individual. In this level of characteristic people seems to have a hard time in constantly acquiring this aspect. Others choose to lie just for their own good without considering the fact that the truth must prevail. That is why such community never prospers because of others greediness in the resources of the country. If this will still continue, it is expected that a country will be filled with sorrows, madness and devastations. I may say that I use to be an honest person, but not as tough as it is. I always taught myself to be honest within my words and acts. Somehow difficult at times if your love ones are involve but still conscience always knows what is right so what ever may happen, we must listen to it.

The following characteristics listed above are one of the aspects I believe I attain as a good system analyst. Some of the trait that must also be present to me never existed, somehow, because it is just the real me. So that “me” I considered is a person whom also acquire this we called weaknesses, and that will never change. Mainly the strength is your courage side and maybe one part of your personality that triggers you to pursue life. But still there are certain issues that we can not prevent such as encountering that feeling that you don not have the power to fight it. For sure, as mentioning the word system analyst, we can say that to be like them, we must be able to cope up with problems so that the entire system will not be affected. On the other side, it is like that kind of a person when being attacked by problems; know how to risk his or her life for the betterment of his or her individuality. So if others will intend not to do it, Do you think life will still be called “the life worth living for”? We must never act that way. Change to become an ideal person of man kind, because if you want to be a good system analyst, know first how to handle your life before you aim something that honestly would not help you in the end.