Wednesday, November 5, 2008

Documentation and Importance of Documentation

Documentation is one of the system which is used to communicate, instruct and record the information for any reference or operational purpose. They are very useful for representing the formal flow of the present system. With the help of documentation it is very easy to track the flow of the system's progress and they working of the system can be expalined very easily.

It helps to provide the clear description of the work done so far. It is essential that the documents prepared must be updated on regular basis this will help to trace the progress of work easily. With appropriate and good documentation it is very easy to understand the how aspects of the system will work for the company where the system is to installed. It is also help to understand the type of data which will be inputted in the system and how the output can be produced.

After the system is installed, and if in case the system is not working properly it will be very easy for the administrator to understand the flow of data in the system with documentation which will help him/ her to correct the flaws and get the system working in no time.

Uses of Documentation
  • It facilitates effective communication regarding the system between the technical and the non technical users.
  • It is very useful in training new users. With a Good documentation new users can easily get acquainted with the flow of the systems.
  • Documentation also helps the users to solve problems like trouble shooting even a non technical user can fix the problems.
  • It plays a significant role in evaluation process.
  • It not only helps to exercise a better control over the internal working of the firm, but it also external as well especially during audit.
  • Documentations can help the manager to take better financial decisions of the organization.


Tuesday, November 4, 2008

Structured English

Structured English is the additional method which is used for overcoming the problems of the ambiguous language in stating the actions and conditions in making the decisions and formulating the procedures. The procedure is described in the narrative format using the Structured English. It doesn't show any decisions and rules but it states the rules.

Structured English specifications require the analyst to identify the conditions which occur in a process and also identify the decisions which makes these conditions occur. It also forces the analyst to find alternative actions to be taken.

In this method the steps are listed in a specific order in which they are to be taken. No special signs, symbols or any other format are used for the displaying of the steps involved like those involved in the decisions tree of decision tables.

Since only Structured English statements are used it becomes easy for the analyst to state the entire procedure without wasting much time. The terminologies used in Structured English consists of mostly the data names of the elements and they are stored in the Data Dictionary.

Developing Structure Statements-
The process is defined by using three types of statements : sequence structure, decision structure and iteration structure.

Sequence structure
: It is the single stepped or action included in the process and it does not depend on the existence of any other condition but if it does encounter a condition, it is taken into consideration.

Decision structure: It occurs when two or more actions take place depending on the value of the condition. The condition is expanded and the necessary decisions is taken.

Iteration structure: It is commonly found that certain conditions occur commonly or occur after certain conditions are executed. Iterative instructions helps the analyst to describe these cases.

Fact Finding Techniques

To study any system the analyst needs to do collect facts and all relevant information. the facts when expressed in quantitative form are termed as data. The success of any project is depended upon the accuracy of available data. Accurate information can be collected with help of certain methods/ techniques. These specific methods for finding information of the system are termed as fact finding techniques. Interview, Questionnaire, Record View and Observations are the different fact finding techniques used by the analyst. The analyst may use more than one technique for investigation.

Interview
This method is used to collect the information from groups or individuals. Analyst selects the people who are related with the system for the interview. In this method the analyst sits face to face with the people and records their responses. The interviewer must plan in advance the type of questions he/ she is going to ask and should be ready to answer any type of question. He should also choose a suitable place and time which will be comfortable for the respondent.

The information collected is quite accurate and reliable as the interviewer can clear and cross check the doubts there itself. This method also helps gap the areas of misunderstandings and help to discuss about the future problems. Structured and unstructured are the two sub categories of Interview. Structured interview is more formal interview where fixed questions are asked and specific information is collected whereas unstructured interview is more or less like a casual conversation where in-depth areas topics are covered and other information apart from the topic may also be obtained.


Questionnaire
It is the technique used to extract information from number of people. This method can be adopted and used only by an skillful analyst. The Questionnaire consists of series of questions framed together in logical manner. The questions are simple, clear and to the point. This method is very useful for attaining information from people who are concerned with the usage of the system and who are living in different countries. The questionnaire can be mailed or send to people by post. This is the cheapest source of fact finding.


Record View

The information related to the system is published in the sources like newspapers, magazines, journals, documents etc. This record review helps the analyst to get valuable information about the system and the organization.

Observation
Unlike the other fact finding techniques, in this method the analyst himself visits the organization and observes and understand the flow of documents, working of the existing system, the users of the system etc. For this method to be adopted it takes an analyst to perform this job as he knows which points should be noticed and highlighted. In analyst may observe the unwanted things as well and simply cause delay in the development of the new system.

Sunday, October 12, 2008

4GT Approach

The Fourth Generation Technique (4GT) is based on NPL that is the Non-Procedural Language techniques. Depending upon the specifications made, the 4GT approaches uses various tools for the automatic generation of source codes. It is the vital tool which uses the non-procedural language for Report generation, Database query, Manipulation of data, Interaction of screen, Definition, Generation of code, Spread Sheet capabilities, High level graphical capacity etc.

Like any other models used, the 4GT approach requires the requirement analysis step. Once the requirement analysis is done upto the expectations, its translation into the operational prototype begins. The most important phase in the 4GT approach is the customer developer approach, all the major decisions regarding the implementations, costs and functioning of the system is taken in this phase.

The Fourth Generation Technique (4GT) is usually successful in implementing smaller applications as we can easily switch from the requirement analysis phase to the implementation phase. Prototypes of any applications can be easily developed with the help of the 4GT approach. This prototype helps the clients to give a rough idea of how the system will look when it is done. The 4GT model is very useful approach in small projects but it is not a dominant approach for large software development.

Tuesday, October 7, 2008

Feasibility study

It is the measure and the study of how beneficial the development of the system would be to the organization. This is known as feasibility study. The measurement of feasibility is known as feasibility study. There are number of aspects which are taken into consideration while the feasibility studies. Firstly the project team is formed then with the help of flowcharts and other forms of documentations the characteristics of the system are identified. The system is evaluated and measured against the expected performance. A suitable candidate is selected for the job and a final report is made and presented to the management for further evaluations.

There are number of steps in the feasibility study, some of them are

1) Forming a team for the specific project and appointing a suitable leader.

2) Preparing layouts and flowcharts of the system.

3) Enumerate the candidate systems.

4) Identify and describe the characters of the candidate systems.

5) Determining the performance of each candidate system with the standards set.

6) Reviewing the performance of the system and performing the cost analysis.

7) Selecting the best candidate for the system and preparing the final report for the management.

As noted earlier number of factors determines the feasibility of the system but the 3 prime factors for the feasibility study are technical, economical and behavioral factors. Feasibility study is important in all the organizations before setting up any system.

Friday, October 3, 2008

prototyping

Information system applications can be best achieved with the help of the Prototyping which helps the developer to create a working model. Prototyping helps to give an idea about the system but it doesn’t contain all the features or it doesn’t perform the necessary functions which are needed for the final system. Stages in the prototyping like the customer evaluations suggest the necessary additions and modifications which are to be made in the system to make it more useful for the users. Prototyping process is said to be an iterative process as it helps to fulfill the needs of the users and customers. As compared with the other models or process Prototyping process can be implemented with less amount of capital. It can be made up using actual paper works or some computer software’s which generate the necessary reports. Following are the steps in Prototyping

Requirement gathering and refinement

The objective and the plans are laid by the customer and the analyst/ developer. They identify the requirements for making the system more feasible.

Develop working model

The user and the developer identify the data which will be needed for the system. They also predict the output that the system will yield. This helps the management to estimate the overall costs for the productions and how profitable the system will be to the organization. In this phase a rough idea of the cost is given by the developer and the tools that will be required for the development of system.

Customer Evaluation

The user actually works on the prototypes in order to evaluate its operations and features. According to the working of the system the user gives positive or negative feedback to the developer.

Review prototype

In this phase a feedback from the user’s side is obtained from users and the required suggestions if any are made by the users. The developer must understand the needs of the uses properly and likewise the necessary modifications.

The prototyping approach is best suited for the smaller organizations where capital is an issue.

Thursday, October 2, 2008

Role and Tasks of System Analyst

The primary objective of any system analyst is to identify the need of the organization by acquiring information by various means and methods. Information acquired by the analyst can be either computer based or manual. Collection of information is the vital step as indirectly all the major decisions taken in the organizations are influenced. The system analyst has to coordinate with the system users, computer programmers, manager and number of people who are related with the use of system. Following are the tasks performed by the system analyst:

Defining Requirement: The basic step for any system analyst is to understand the requirements of the users. This is achieved by various fact finding techniques like interviewing, observation, questionnaire etc. The information should be collected in such a way that it will be useful to develop such a system which can provide additional features to the users apart from the desired.

Prioritizing Requirements: Number of users use the system in the organization. Each one has a different requirement and retrieves different information. Due to certain limitations in computing capacity it may not be possible to satisfy the needs of all the users. Even if the computer capacity is good enough is it necessary to take some tasks and update the tasks as per the changing requirements. Hence it is important to create list of priorities according to users requirements. The best way to overcome the above limitations is to have a common formal or informal discussion with the users of the system. This helps the system analyst to arrive at a better conclusion.

Gathering Facts, data and opinions of Users: After determining the necessary needs and collecting useful information the analyst starts the development of the system with active cooperation from the users of the system. Time to time, the users update the analyst with the necessary information for developing the system. The analyst while developing the system continuously consults the users and acquires their views and opinions.

Evaluation and Analysis: As the analyst maintains continuous he constantly changes and modifies the system to make it better and more user friendly for the users.

Solving Problems: The analyst must provide alternate solutions to the management and should a in dept study of the system to avoid future problems. The analyst should provide with some flexible alternatives to the management which will help the manager to pick the system which provides the best solution.

Drawing Specifications: The analyst must draw certain specifications which will be useful for the manager. The analyst should lay the specification which can be easily understood by the manager and they should be purely non-technical. The specifications must be in detailed and in well presented form.

Wednesday, September 24, 2008

Spiral model

There are number of reasons because of which ongoing project may stop. In order to overcome the hurdles in the future it is essential to make a brief study of the possibilities of the future problems and likewise steps must be taken for avoiding such problems. This will help the project to be carried on nonstop without any future hurdles and it also help to save time and money. Spiral model, is one such model which is useful in such situations where the future planning is essentials to eliminate the possible risks in the future. It helps to guide the risks that the project may face in the mere future and what steps should be taken t overcome such risks. The Spiral model has a unique process design which helps to eliminate the risks in the future.

The spiral model is a four stage model. The four stage are nothing but part of a circular path which are critical in providing the guidelines for the future. Each stage of the spiral model is represented by one quadrant of the Cartesian design. The cost incurred is represented by the radius of the model. The four activities or stages involved in the spiral model are as follows:

Planning: It helps to understand the underlining concept of the project. We get acquainted with the objectives, alternatives and the constraints of the project or the product which is under process. It is essential that a lot of time must be invested for planning as it is the base of the spiral model, even if the slightest negligence can adversely affect the process.

Risk analysis: In this stage all the potential risks involved in the future are analyzed carefully. This stage is most vital stage of the model as the main process actually starts from Risk analysis. In this process the potential risk areas are taken into consideration and solutions are drawn to overcome the risks. Also, in Risk analysis alternative options are evaluated which becomes easier to overcome the future risks.

Engineering: Once the risk analysis is done the next step is the actual development and the verification process. This is done by using either a prototyping approach or the simulation.

Custer evaluation: The customer evaluates the model and checks it in and out. If there are any modifications to be made the customers give feed back to the developers.

The spiral model is one of the most realistic approaches which are very essential for the development of the large systems. By spiral model the developers can also apply the prototyping and the customer’s evolutions approach to make the project more unique and successful.

Sunday, September 14, 2008

Waterfall model

In the waterfall model the process in carried in phases. The output of one phase in the waterfall model is the input to the other phase. There is a sequential and linear flow amongst the process. There are standards set for the output of each process. If one output is wrong it disturbs the entire model.

With the help of the waterfall model one can easily measure the progress of the current project which is carried on. As, the model is a diagrammatic representation it is very easy to trace the output and the logical content of the project. The following are the phases of the waterfall model:

1) Preliminary Investigation

2)Requirement analysis

3)System Design

4)System Coding

5)System Testing

6)Implementation and Evaluation

7)Maintainable

Friday, September 12, 2008

Stages of System Development Life Cycle (SDLC)

The System Development is the interactive process which consists of the following stages
  • Preliminary Investigation: One of the most tedious task is to recognize the real problem of the pre-installed system. The analysis has to spend hours and days for understanding the fault in the system. This fault could have however overcome if the Preliminary Investigation before installing the system was properly done. This is the first stage of the development of the system. In this stage the analyst makes a survey by gathering all the available information needed for the system elements and allocation of the requirements to the software.
  • Analysis of the requirement: The analyst understands the nature of the information and the functions of the software which is required for the system. The analyst makes a brief survey of the requirements and tries to analyze the performance of the system which is to be developed. He also makes sure that he gets enough information and resources for building the appropriate system.
  • System Design: The analyst actually makes number of designs of the system on paper or on the computer and sees to it that the rough image made of the system comprises of all the requirements or not. Once this is done, the analyst selects and finalizes a best suited design for the development of the system.
  • System Coding: The analyst translates the code or the programs in such a way that they become in machine readable form. The coding step is very time consuming and involves number of rooms for errors.
  • System Testing: Once the analyst is through with the coding stage he tests the systems and sees to it that it is working as per the expectations or not. He corrects the flaws in the system if any.
  • System Implementation: This is one of the most vital phase as in this phase the analyst actually gives the system to the customer and expects for a positive feedback.
  • System Maintenance: The last stage of the SDLC is that the analyst needs to maintain the system and see to it that it working within the standards set. He needs to maintain the system by removing the defects of flaws occured.

Introduction System Development Life Cycle (SDLC)

Software development contains set of activities which when performed in coordination and in accordance with one another result in the desired result. Software development methodologies are used for the computer based information systems. The growth of the informations has to pass through various phases/ stages these stages are known as System Development Life Cycle (SDLC). The SDLC follows a well defined process by which the system is conceived, developed and implemented.

Executive Information System (EIS)

The Executive Information System (EIS) is needed by the top level management executives for serving period reports and information. This systems helps the management to access the on time and the information is provided in the form of report.

The Executive Information System (EIS) is very user friendly and make use of the Graphical user Interface (GUI) for better understanding of the reports generated. It posses drill down capabilities and exception reporting system which helps users to easily connect and access the online information and other online services.

Thursday, September 4, 2008

Decision Support Systems (DSS)

The Decision Support Systems (DSS) is used by the top level management. It helps the top level management to take the unstructured decisions in the management. A unstructured decision is a very tedious and difficult decision as there is no clear procedure available for such a decision.

The key factor in the Decision Support Systems is determining what type of information should be needed. In the unstructured decisions its very difficult to identify the information needed in the future decision making, so the Decision Support Systems plays a vital role of assisting the directors in taking vital decisions.

Sunday, August 31, 2008

Management Information System (MIS)

Management Information System (MIS) is found in the middle management, it helps the manager to take the important decisions and assists the manager in the problem solving process. They draw conclusions on the data which is already stored, at times they may also use the some other information.

As the decision making process is well understood in the management it becomes easy for the manager to identify the information which will be needed to formulate the decisions. In turn, the Management Information System can be so developed that reports can be prepared regularly to support the recurring decisions that occur.

Transaction Processing Systems (TPS)

Transaction Processing Systems (TPS) aims for improving the routine activities of the organization which are related to business. TPS is any event or activity which affects the working of the organization. Some of the common transactions which are affected by the TPS include the billing customers, Placing orders, depositing checks etc. These types of the transactions vary from organization to organization. TPS, is found in all organization's at the Lower level management and it contains a set of activities which help the lower level management to manage the procedures for handling the needful transactions. Transaction Processing procedures are also often refereed as Standard Operating Procedures.

Transaction Processing Systems (TPS) is very essential in any organizational structure for speed and accuracy in the system. It helps to smoothen the system without any variance. It provides accuracy and speed and the daily transactions can programmed to follow the daily routines without any kind of inconsistency. For more effective and efficient way to process the transaction data some firms take the aid of computer's assistance.

Introduction to Software Development Lifecycle

Software Development Lifecycle.

In order to understand what is Software Development Lifecycle (SDLC) let us break these words into two parts: Software Development , and LifeCycle.

Software Development.

Software Development is A PROCESS to create software.At first glance to a developer - this is the coding process. This is when you sit down with the computer and start to write codes that later processed (compiled,linked etc.) become the actual software that is used by the end user. This is might be the case for beginners or novice developer who are working on "garage" project.

In a small one person project its common for developers to go directly into coding and then testing their code. They are using common divide and conquer, then trial and error testing.But for a significant size software development trial and error method will be expensive.This is because large size project normally involved few developers. Any change in any part of the codes might requires other developers to change their code also.

Larger software development also requires better way to communicate, between the developers.The communication is to make sure developers understand what to be developed, when to start the development, when the other part of the software that they dependence to will be developed, when to test these parts together, what is considered pass..etc.etc. Lot of issues to synchronized the developers.

The larger the group, the harder it is to communicate to all the team members.

This can be worst if the team members are not located in the same place - which are common these day. The team that I am part of have people working in 4 different continents in different time zone.

To make it easier, a concept of "Lifecycle" is introduced.

Lifecycle

Common concept of lifecycle is communicated to a development team to synchronized all the team members - so that every one knows when are the important milestones.

Milestones are dates when certain important criteria or requirement has to be met.

Concept of lifecycle is not exclusive to software development.

For example a human being also has lifecycle. Start from the day a human being is born.

Then s/he grows become baby,teenager,adult, old and died. This lifecycle also can be traced differently based on different view -example if look from education lifecycle (of the same human being) it can start from pre-school,junior high, high school,college undergrad, and graduate.

To software lifecycle is look like normal products (cars,computers,furnitures) creation lifecycle.It can be splitted into 5 phases:

+ Requirement
+ Design
+ Implementation
+ Final test
+ Delivery

This phases actually applicable to the final product, or even into the individual component that make up the product. For example if you are creating a chair, then you have components such as the arm rest, legs,cushions, and back rest. Once the "high level" requirements (description, specification - lot of different names of the same thing) is defined the developer of each component should be able to continue on their own to produce the components. Each of the components will go through the same 5 phases lifecycle also.

This concept of "component" developement is that not far off from what is happening in software development. If you have been in the industry long enough I bet you have heard of "component based" development. The idea is to introduce generic requirement on how components can be handled, then as long as a component is developped in conformant to this standard it can be "plugged in" into another software that understand this standard with very little effort.

Even a lot of people say that software development should be the same as other product developement -- such as car and building constructions, but experience has proven that this is not true. The normal discipline that is used in building construction does not really work in software development.

>From what the expert observation this is because in normal product construction such as a freeway, ideas and creativity are injected to the project only in very specific part of the phase -- early phase. In building construction creativity can come from the architect and also the civil engineers who has to figure out how to build what is envisioned by the architect. This is done in early stage (design) of the development phase. Once it is fixed the implementation, testing and delivery just need to follow the instructions.

In software development on the other hand, the injection of ideas is hard to controlled since its actually needed in every phase. From the high level architecture, down to low level programming, ingenuity and creativity is needed. Most software development actually depending on in development discoveries to come up with innovative products. New way of coding, new algorithm, new component can make the difference between on software to the other in term of feature offered,resource usage and performance.

Because of this software development process is normally "less rigid" compare to car or buiding construction. The side effect is that this can also caused two major problems:

+ project delay
+ low quality -- more bugs, untested code/features.

Saturday, August 30, 2008

Types of System

Following are some of the types of System

Deterministic System: A system which acts in a predictable manner where stepwise execution and the output is already known is called as Deterministic System. example: A program to find the factorial of the entered number.

Probabilistic System: The system which acts in a unpredictable manner and where the outcome is not predictable is known as a Probabilistic system. There is always a some degree of error present in such system. example: Weather forecasting.

Open System: The system which interacts with the environment is known as an Open system. These system change their organization in response to the changing environment. example:Organizational system.

Closed System: A system which doesn't interact with the outside environment is known as the closed system. All the operation are controlled automatically by the system itself. example:Chemical reaction in the sealed tube.

Elements of the System



A system has three basic elements input, processing and output. The other elements include control, feedback, boundaries, environment and interfaces.
  • Input: Input is what data the system receives to produce a certain output.
  • Output: What goes out from the system after being processed is known as Output.
  • Processing: The process involved to transform input into output is known as Processing.
  • Control: In order to get the desired results it is essential to monitor and control the input, Processing and the output of the system. This job is done by the control.
  • Feedback: The Output is checked with the desired standards of the output set and the necessary steps are taken for achieving the output as per the standards, this process is called as Feedback. It helps to achieve a much better control in the system.
  • Boundaries: The boundaries are nothing but the limit of the system. Setting up boundaries helps for better concentration of the actives carried in the system.
  • Environment: The things outside the boundary of the system are known as environment. Change in the environment affects the working of the system.
  • Interfaces: The interconnections and the interactions between the sub-systems is known as the Interfaces. They may be inputs and outputs of the systems.

Characterstics of the System

The following are the characteristics of the System
  • The System is usable
  • The components of the system interact with each other
  • The System is goal seeking
  • System always has input which yields into certain output
  • System must always be controlled
  • System from a hierarchy
  • System exhibit differentiation

Types of System

The 2 main types of the system are:
  • Open system: The system which interacts directly with the outer environment is called as the Open System
  • Closed system: The system which doesn't interact with the outside environment is called Closed System. example:Chemicals in a test tube

What is System?

A system consists of sets of various components which work in coordination with each other to achieve a desired goal or objective. The components in the system are related with each other and work hand to hand to achieve the desired goal.
example: Business is a system which has components like sales, marketing, research, accounting etc.