Showing posts with label System Analysis. Show all posts
Showing posts with label System Analysis. Show all posts

Planning Alternative and Feasibility

Determination of Feasibility

The main aim of the feasibility study activity is to determine whether it would be financially and technically feasible to develop the product. The feasibility study activity involves the analysis of the problem and collection of all relevant information relating to the product such as the different data items which would be input to the system, the processing required to be carried out on these data, the output data required to be produced by the system as well as various constraints on the behavior of the system.

System Design

System Design (Design Phase Logical & Physical)

The design phase decides how the system will operate, in terms of the hardware, software, and network infrastructure; the user interface, forms, and reports that will be used; and the specific programs, databases, and files that will be needed. Systems design phase can be broken into two phases: logical design and physical design.

Project Management

Project management is a logical approach to planning and guiding project processes from start to finish. According to the Project Management Institute, the processes are guided through five stages: initiation, planning, executing, controlling, and closing. Project management can be applied to almost any type of project and is widely used to control the complex processes of software development projects.
A number of charting methods, such as the Gantt chart, PERT chart and critical path method (CPM) have been developed as tools to create a graphic representation of a project plan and its current status.

CASE (Computer-Aided Software Engineering)

CASE (computer-aided software engineering) is the use of a computer-assisted method to organize and control the development of software, especially on large, complex projects involving many software components and people. Using CASE allows designers, code writers, testers, planners, and managers to share a common view of where a project stands at each stage of development. CASE helps ensure a disciplined, check-pointed process. A CASE tool may portray progress (or lack of it) graphically. It may also serve as a repository for or be linked to document and program libraries containing the project's business plans, design requirements, design specifications, detailed code specifications, the code units, test cases and results, and marketing and service plans.

CASE originated in the 1970s when computer companies were beginning to borrow ideas from the hardware manufacturing process and apply them to software development. Some CASE tools supported the concepts of structured programming and similar organized development methods.

Structured Analysis and Design Technique


Structured Analysis and Design Technique (SADT) is a diagrammatic notation designed specifically to help people describe and understand systems. It offers building blocks to represent entities and activities, and a variety of arrows to relate boxes. These boxes and arrows have an associated informal semantics. SADT can be used as a functional analysis tool of a given process, using successive levels of details.

The SADT method not only allows one to define user needs for IT developments, which is often used in the industrial Information Systems, but also to explain and present an activity’s manufacturing processes and procedures.

The SADT supplies a specific functional view of any enterprise by describing the functions and their relationships in a company. These functions fulfill the objectives of a company, such as sales, order planning, product design, part manufacturing, and human resource management. The SADT can depict simple functional relationships here and can reflect data and control flow relationships between different functions.

Effective Communication Skill

Interview Types and Techniques

1. Structured Interview

In structured interview every single detail of the interview is decided in advance. The questions to be asked, the order in which the questions will be asked, the time given to each Interviewee, the information to be collected from each Interviewee, etc. is all decided in advance.

Problem Definition and Classification

Definition of Problem:

problem, which can be caused for different reasons, and, if solvable, can usually be solved in a number of different ways, is defined in a number of different ways. This is determined by the context in which a said problem or problems is defined. When discussed, a problem can be argued in multiple ways. Generally speaking, there are two positions to take, the polemic or the defensive. An example of this is the mother who has a problem with how her daughter is going out, dressed in a particular fashion. She may tell her daughter, there is no way she is leaving the house looking like that. In this example, the mother would be on the polemic side, and the daughter, who presumably would like to go out dressed however she pleases, would be on the defensive side.

Six Sources of Business Problems


When looking at your operations, nearly all frustrations and problems stem from six basic sources that you should be able to spot and remedy.


  • Human – A person is not a good fit for the job, not skilled or properly trained, not motivated, or perhaps doesn’t get along with their supervisor or peers.
  • Process – The business system or process is poorly designed, communicated, or executed. Half-baked systems always produce inferior results.
  • Policy – You have a company policy that hinders performance. For example, over-ambitious production goals cause hurry and sloppiness. A policy not to take checks or credit cards causes a loss of sales.
  • Equipment – Equipment is outdated, slow, or worn-out and causes downtime or excessive waste.
  • Materials – Cheap or low quality materials cause inefficiency, rework, or customer complaints.
  • Environment – The work environment is not conducive to high performance—too hot or cold, dangerous, cluttered and disorganized, stressful, and so forth.
  • Each of these general causes of poor performance provides a starting point for getting to the root cause. Identify your problem. Ask employees or customers for their perspective. Then fix the step or component in the system that will correct the problem.





Collecting and Analyzing Data

WHAT DO WE MEAN BY COLLECTING DATA?

Essentially, collecting data means putting your design for collecting information into operation.  You’ve decided how you’re going to get information – whether by direct observation, interviews, surveys, experiments and testing, or other methods – and now you and/or other observers have to implement your plan.  There’s a bit more to collecting data, however.  If you are conducting observations, for example, you’ll have to define what you’re observing and arrange to make observations at the right times, so you actually observe what you need to. You’ll have to record the observations in appropriate ways and organize them so they’re optimally useful.

Data Flow diagrams & systems flowcharts

Once the systems analysts have completed their investigation they produce a detailed description of how the existing system works.

Methods used to help describe the system include data flow diagrams and systems flowcharts

Symbols used in DFDs



External entity (symbol1 - top)– data source or data destination, for example people who generate data such as a customer order, or receive information such as an invoice.

Process (symbol2) – an operation performed on the data. The two lines are optional; the top section of the box can be used to label the process, the middle to give a brief explanation, the bottom to say where the process takes place.

Data store (symbol3) – such as a file held on disk or a batch of documents

Data flow (symbol4 - bottom) – the arrow represents movement between entities, processes or data stores. The arrow should be labelled to describe what data is involved.

Data flow diagram for a theatre booking system.



The symbols used in flowcharts



A systems flowchart


ERD and DFD

DFD = Data Flow Diagram
ERD = Entity–relationship diagrams

ERD and DFD are data presentation models that help in identifying the flow of data as well as inputs and outputs. They are important as they enable effective communication between members of different departments in an organization. There are similarities in the two types of data presentation models although there are differences that will be talked about in this article.

DFD’s are systematic representation of how data flows in an organization, how and from where it enters the system, how it moves from one process to another and how it is stored in the organization. On the other hand, a semantic data model of a system in a top down manner is called Entity Relationship Diagram or ERD. ERD demonstrates how a system will look like without telling how to implement it. Since it is entity based, ERD shows the relationship between entities in a system or process. On the other hand, DRD being data flow diagrams focus upon flow of data in a system and how this data is utilized in different stages of a process.

Both DFD and ERD are important for an organization. While entities, whether they are people, places, events or objects are represented in an ERD, DFD talks about how data flows between entities. One gets to know about the entities for which data is stored in the organization through ERD while DFD gives information about the flow of data between entities and how and where it is stored.

Different tools are made use of while preparing DFD and ERD. While it is common to use circles, ovals, rectangles and arrows to make DFD, ERD uses only rectangular boxes. Diamonds are used to represent relationships between entities in ERD and you find description of relationship whereas naming in DFD is through a single word.

Despite their popularity and widespread use, both DFD and ERD are incomplete in the sense that one does not get the full picture looking at either of the two data representation diagrams.

HIPO And IPO Charts

The HIPO (Hierarchy plus Input-Process-Output) is a 1970s systems analysis design aid and documentation popular technique for planning and/or documenting a computer program. A HIPO model consists of a hierarchy chart that graphically represents the program’s control structure and a set of IPO (Input-Process-Output) charts that describe the inputs to, the outputs from, and the functions (or processes) performed by each module on the hierarchy chart.

HIPO is a forms-driven technique in that standard forms are used document the information. It consists of a hierarchy chart and an associated set of input/process/output charts. HlPO captures the essence of t down decomposition; it describes the data input and output from processes and defines the data flow composition. It was developed by IBM as a design aid and implementation technique with the following objectives:

   1. Provide a structure by which the functions of a system can be understood.
   2. State the functions to be performed by the program rather than specifying the program statements to be used to perform the functions.
   3. Provide a visual description of input to be used and output to be 'produced for each level of the diagram. HIPO makes the transformation of input JO output data visible. 

      HIPO uses easy-to-draw vector-like symbols between processes that define data communication and data direction. As shown in the procedure for generating HIPO diagrams is simple:
   1. Begin at the highest level of abstraction and define the inputs to the system and the outputs from it in aggregate terms.
   2. Identify the processing steps by those that convert input into output. 
   3. Document each element using HIPO diagram notation and the associated treelike structure.
   4. Identify sub processes and their respective inputs and outputs. Continue decomposition until the processes cannot be decomposed any further.

      There are two aids available for drawing HIPO diagrams: the HIPO work sheet, jacket describes the symbols. The HIPO package format consists of the following:
1. Visual table of contents shows the structure of the diagram and the relationships of the functions in a hierarchical manner, It also has a legend to show how the symbols are to be used.
2. Overview diagrams describe the major functions and reference the detail diagram(s) needed to expand the functions adequately. They provide the following:
   a. The input section that contains the data items used by the process steps.
   b. The output section that contains the data items created by the process steps.
   c. Process section that contains numbered steps that describe the functions to be performed. Arrows connect then to the output step_ and input/output data items.
   d. The extended description refers to non-HIPO documentation and code. 

        3. Detail diagram contains an extended description section that amplifies, the process steps and references the code associated with each process step.
It is important to use HIPD early in the design phase of a project so that designers can document their thoughts concurrently with the design process. Thus, the preparation of HIPO diagrams is a by-product of the though process of the design rather than an additional chore.

PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE

Let us now describe the different phases and related activities of system development life cycle.

(a) Preliminary System Study

Preliminary system study is the first stage of system development life cycle. This is a brief investigation of the system under consider-ation and gives a clear picture of what actually the physical system is? In practice, the initial system study involves the preparation of a ‘System Proposal’ which lists the Problem Definition, Objectives of the Study, Terms of reference for Study, Constraints, Expected ben-efits of the new system, etc. in the light of the user requirements. The system proposal is prepared by the System Analyst (who stud-ies the system) and places it before the user management. The man-agement may accept the proposal and the cycle proceeds to the next stage. The management may also reject the proposal or re-quest some modifications in the proposal. In summary, we would say that system study phase passes through the following steps:


  • Problem identification and project initiation 
  • Background analysis 
  • Inference or findings (system proposal) 


(b) Feasibility Study

In case the system proposal is acceptable to the management, the next phase is to examine the feasibility of the system. The feasibility study is basically the test of the proposed system in the light of its workability, meeting user’s requirements, effective use of resources and of course, the cost effectiveness. These are categorized as tech-nical, operational, economic and schedule feasibility. The main goal of feasibility study is not to solve the problem but to achieve the scope. In the process of feasibility study, the cost and benefits are estimated with greater accuracy to find the Return on Investment (ROI). This also defines the resources needed to complete the de-tailed investigation. The result is a feasibility report submitted to the management. This may be accepted or accepted with modifica-tions or rejected. The system cycle proceeds only if the manage-ment accepts it.

(c) Detailed System Study

The detailed investigation of the system is carried out in accordance with the objectives of the proposed system. This involves detailed study of various operations performed by a system and their rela-tionships within and outside the system. During this process, data are collected on the available files, decision points and transactions handled by the present system. Interviews, on-site observation and questionnaire are the tools used for detailed system study. Using the following steps it becomes easy to draw the exact boundary of the new system under consideration:


  • Keeping in view the problems and new requirements 
  • Workout the pros and cons including new areas of the system 


All the data and the findings must be documented in the form of detailed data flow diagrams (DFDs), data dictionary, logical data struc-tures and miniature specification. The main points to be discussed in this stage are:



  • Specification of what the new system is to accomplish based on the user requirements. 
  • Functional hierarchy showing the functions to be performed by the new system and their relationship with each other. 
  • Functional network, which are similar to function hierarchy but they highlight the functions which are common to more than one procedure. 
  • List of attributes of the entities – these are the data items which need to be held about each entity (record) 


(d) System Analysis

Systems analysis is a process of collecting factual data, understand the processes involved, identifying problems and recommending fea-sible suggestions for improving the system functioning. This involves studying the business processes, gathering operational data, un-derstand the information flow, finding out bottlenecks and evolving solutions for overcoming the weaknesses of the system so as to achieve the organizational goals. System Analysis also includes sub-dividing of complex process involving the entire system, identifica-tion of data store and manual processes.

The major objectives of systems analysis are to find answers for each business process: What is being done, How is it being done, Who is doing it, When is he doing it, Why is it being done and How can it be improved? It is more of a thinking process and involves the creative skills of the System Analyst. It attempts to give birth to a new effi-cient system that satisfies the current needs of the user and has scope for future growth within the organizational constraints. The result of this process is a logical system design. Systems analysis is an iterative process that continues until a preferred and acceptable solution emerges.


(e) System Design

Based on the user requirements and the detailed analysis of the existing system, the new system must be designed. This is the phase of system designing. It is the most crucial phase in the develop-ments of a system. The logical system design arrived at as a result of systems analysis is converted into physical system design. Normally, the design proceeds in two stages:


  • Preliminary or General Design 
  • Structured or Detailed Design 


Preliminary or General Design: In the preliminary or general de-sign, the features of the new system are specified. The costs of imple-menting these features and the benefits to be derived are estimated. If the project is still considered to be feasible, we move to the de-tailed design stage.


Structured or Detailed Design: In the detailed design stage, com-puter oriented work begins in earnest. At this stage, the design of the system becomes more structured. Structure design is a blue print of a computer system solution to a given problem having the
same components and inter-relationships among the same compo-nents as the original problem. Input, output, databases, forms, codi-fication schemes and processing specifications are drawn up in de-tail. In the design stage, the programming language and the hard-ware and software platform in which the new system will run are also decided.


There are several tools and techniques used for describing the sys-tem design of the system. These tools and techniques are:


  • Flowchart 
  • Data flow diagram (DFD) 
  • Data dictionary 
  • Structured English 
  • Decision table 
  • Decision tree 


Each of the above tools for designing will be discussed in detailed in the next lesson.

The system design involves:

i. Defining precisely the required system output

ii. Determining the data requirement for producing the output

iii. Determining the medium and format of files and databases

iv. Devising processing methods and use of software to produce output

v. Determine the methods of data capture and data input

vi. Designing Input forms

vii. Designing Codification Schemes

viii. Detailed manual procedures

ix. Documenting the Design

(f) Coding

The system design needs to be implemented to make it a workable system. This demands the coding of design into computer under-standable language, i.e., programming language. This is also called the programming phase in which the programmer converts the program specifications into computer instructions, which we refer to as programs. It is an important stage where the defined procedures are transformed into control specifications by the help of a computer language. The programs coordinate the data movements and con-trol the entire process in a system.

It is generally felt that the programs must be modular in nature. This helps in fast development, maintenance and future changes, if required.


(g) Testing

Before actually implementing the new system into operation, a test run of the system is done for removing the bugs, if any. It is an important phase of a successful system. After codifying the whole programs of the system, a test plan should be developed and run on a given set of test data. The output of the test run should match the expected results. Sometimes, system testing is considered a part of implementation process.


Using the test data following test run are carried out:


  • Program test 
  • System test 


Program test: When the programs have been coded, compiled and brought to working conditions, they must be individually tested with the prepared test data. Any undesirable happening must be noted and debugged (error corrections)

System Test: After carrying out the program test for each of the programs of the system and errors removed, then system test is done. At this stage the test is done on actual data. The complete system is executed on the actual data. At each stage of the execu-tion, the results or output of the system is analysed. During the result analysis, it may be found that the outputs are not matching the expected output of the system. In such case, the errors in the particular programs are identified and are fixed and further tested for the expected output.


When it is ensured that the system is running error-free, the users are called with their own actual data so that the system could be shown running as per their requirements.

(h) Implementation

After having the user acceptance of the new system developed, the

implementation phase begins. Implementation is the stage of a project during which theory is turned into practice. The major steps in-volved in this phase are:


  • Acquisition and Installation of Hardware and Software 
  • Conversion 
  • User Training 
  • Documentation 


The hardware and the relevant software required for running the system must be made fully operational before implementation. The conversion is also one of the most critical and expensive activities in the system development life cycle. The data from the old system needs to be converted to operate in the new format of the new system. The database needs to be setup with security and recovery procedures fully defined.


During this phase, all the programs of the system are loaded onto the user’s computer. After loading the system, training of the user starts. Main topics of such type of training are:


  • How to execute the package 
  • How to enter the data 
  • How to process the data (processing details) 
  • How to take out the reports 


After the users are trained about the computerized system, working has to shift from manual to computerized working. The process is called ‘Changeover’. The following strategies are followed for changeover of the system.

(i) Direct Changeover: This is the complete replacement of the old system by the new system. It is a risky approach and requires comprehensive system testing and training.

(ii) Parallel run: In parallel run both the systems, i.e., computerized and manual, are executed simultaneously for certain defined period. The same data is processed by both the systems. This strategy is less risky but more expensive because of the following:


Manual results can be compared with the results of the com-puterized system.
The operational work is doubled.
Failure of the computerized system at the early stage does not affect the working of the organization, because the manual system continues to work, as it used to do.

(iii) Pilot run: In this type of run, the new system is run with the data from one or more of the previous periods for the whole or part of the system. The results are compared with the old system results. It is less expensive and risky than parallel run approach. This strategy builds the confidence and the errors are traced easily without affecting the operations.

The documentation of the system is also one of the most im-portant activity in the system development life cycle. This ensures the continuity of the system. There are generally two types of documentation prepared for any system. These are:


  • User or Operator Documentation 
  • System Documentation 


The user documentation is a complete description of the system from the users point of view detailing how to use or operate the system. It also includes the major error messages likely to be en-countered by the users. The system documentation contains the details of system design, programs, their coding, system flow, data dictionary, process description, etc. This helps to understand the system and permit changes to be made in the existing system to satisfy new user needs.


(i) Maintenance

Maintenance is necessary to eliminate errors in the system during its working life and to tune the system to any variations in its work-ing environments. It has been seen that there are always some er-rors found in the systems that must be noted and corrected. It also means the review of the system from time to time. The review of the system is done for:



  • Knowing the full capabilities of the system 
  • Knowing the required changes or the additional requirements 
  • Studying the performance. 


If a major change to a system is needed, a new project may have to be set up to carry out the change. The new project will then proceed through all the above life cycle phases.

SYSTEM LIFE CYCLE


System life cycle is an organizational process of developing and main-taining systems. It helps in establishing a system project plan, be-cause it gives overall list of processes and sub-processes required for developing a system.

System development life cycle means combination of various activi-ties. In other words we can say that various activities put together are referred as system development life cycle. In the System Analy-sis and Design terminology, the system development life cycle also means software development life cycle.

Following are the different phases of system development life cycle:


  1. Preliminary study 
  2. Feasibility study 
  3. Detailed system study 
  4. System analysis 
  5. System design 
  6. Coding 
  7. Testing 
  8. Implementation 
  9. Maintenance 


Introduction to System

INTRODUCTION



Systems are created to solve problems. One can think of the sys-tems approach as an organized way of dealing with a problem. In this dynamic world, the subject System Analysis and Design (SAD), mainly deals with the software development activities.