System Life Cycle

0
System life cycle is an organizational process of developing and maintaining systems. It helps in establishing a system project plan, because it gives overall list of processes and sub-processes required for developing a system.
System development life cycle means combination of various activities. In other words we can say that various activities put together are referred as system development life cycle. In the System Analysis and Design terminology, the system development life cycle also means software development life cycle.
Following are the different phases of system development life cycle:
  • Preliminary Study
  • Feasibility study
  • Detailed system study
  • System analysis
  • System design
  • Coding
  • Testing
  • Implementation
  • Maintenance
The different phases of system development life cycle is shown in this diagram



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 consideration 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 benefits of the new system, etc. in the light of the user requirements.
The system proposal is prepared by the System Analyst (who studies the system) and places it before the user management. The management may accept the proposal and the cycle proceeds to the next stage. The management may also reject the proposal or request 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 technical, 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 detailed investigation. The result is a feasibility report submitted to the management. This may be accepted or accepted with modifications or rejected. The system cycle proceeds only if the management 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 relationships 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 structures 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 feasible suggestions for improving the system functioning. This involves studying the business processes, gathering operational data, understand 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 subdividing of complex process involving the entire system, identification 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 efficient 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 developments 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: In the preliminary or general design, the features of the new system are specified. The costs of implementing these features and the benefits to be derived are estimated. If the project is still considered to be feasible, we move to the detailed design stage.
  • Structured or Detailed Design: In the detailed design stage, computer 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 components as the original problem. Input, output, databases, forms, codification schemes and processing specifications are drawn up in detail.
In the design stage, the programming language and the hardware and software platform in which the new system will run are also decided. There are several tools and techniques used for describing the system 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 understandable 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 control 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: 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 execution, the results or output of the system is analyzed. 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 involved 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 computerized 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 important activities 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 encountered 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 working environments. It has been seen that there are always some errors 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. 


Defining a System

0

A collection of components that work together to realize some objectives forms a system.

            In other words, a system is a set of interacting elements, interacting with each other to achieve a predetermined objective or goal.

            In a system the different components are connected with each other and they are interdependent. For example, human body represents a complete natural system. We are also bound by many national systems such as political system, economic system, educational system and so forth. The objective of the system demands that some output is produced as a result of processing the suitable inputs. A well-designed system also includes an additional element referred to as ‘control’ that provides a feedback to achieve desired objectives of the system.

            Basically there are three major components in every system, namely input, processing and output.

i) Input:–  It includes, Capturing/accepting and assembling components that enter the system to be      processed. Example: raw data, raw material etc.

ii) Processing:– Process is the series of changes to be done on information, to convert input into output.

iii) Output:– Output is produced by the transformation process to their ultimate destination. Example: reports, finished products etc.

Characteristics of a system:

·     Every system has a certain objectives and goals.
·         Main system has a several subsystems or models.
·         The lifecycle of the system is expression of the phases in the alive usage life of the system.
·         System operates in the terms of goals and predetermined scope.
·         Systems in real life do not operate in isolation.

Types of systems are:

a)    Physical Systems, such as man, weapons etc.
b)    Abstract Systems, such as god, nature etc.
c)    Open Systems, such as man
d)    Closed Systems, such as chemical process.
e)    Probabilistic Systems, such as arrival pattern, class etc.
f)     Man-Machine Systems, such as aero plane.


Implementation of Data structure

0

There are three levels of implementation of data structures which are:



  1. The Abstract Level:– The abstract(or logical) level is the specification of the data structure-the "what" but not "how". At this level, the user or data structure designer is free to think outside the bounds of anyone programming language.
  2.  Application Level:– At the application of user level, the user is modeling real-life data in a specific context.
  3.  Implementation Level:– The implementation level is where the model becomes compatible, executable code.

You Might also view the following Related Posts

    For more other Posts: Click Here



    What is data structure?

    1

    A data structure is the organization of data in computers memory or in a file.

    Some examples of data structures are: array, stack, queue, link list, binary tree, hash table, heap and graph. Data structures are often used to build databases. Typically, data structures are manipulated using various algorithms.

    Based on the concept of Abstract Data Types (ADT), we define data structure by the following three components

    1. Operations: Specifications of external appearance of data structure
    2. Storage structures: Organizations of data implemented in lower-level data structures.
    3. Algorithms: Description on how to manipulate information in the storage structures to obtain the  results defined for operations.

    You Might also view the following Related Posts

    For more other Posts: Click Here

    Basic Components of operating Systems.

    0
    The basic components of operating systems are.
    a) Process Management:  
    The operating System is responsible for the following activities in connection with process management.
    · Process creation and deletion 
    · Process suspension and resumption 
    · Provision mechanisms for process synchronization and process communication

    b) Main-Memory management  
    The operating system is responsible for the following activities in connection with memory management. 
    · Keep track of which parts of memory and currently being used by whom 
    · Decide which process to load when memory space becomes available. 
    · Allocate and De-allocate memory space as needed.

    c) Secondary-Storage management  
    The operating system is responsible for the following activities in connection with disk management. 
    · Free space management 
    · Storage allocation 
    · Disk scheduling

    d) I/O system Management 
    The I/O system management consists of 
    · A buffer-caching system 
    · A general device-driver interface 
    · Drivers for specific hardware devices

    e) File Management 
    The operating system is responsible for the following activities in connection with file management. 
    · File creation and deletion 
    · Directory creation & deletion 
    · Support of primitives for manipulating files and directories 
    · Mapping files onto secondary storage 
    · File backup on stable (non volatile) storage media.

    f) Protection system 
    Protection refers to a mechanism for controlling access by programs, processes or users to both system and user resources. 
    The protection mechanism must. 
    · Distinguish between authorized and unauthorized usage. 
    · Specify the controls to be imposed. 
    · Provide a means of enforcement

    g) Networking (Distributed System)

    A distributed system is collection of processors that do not share memory or a clock. Each processor has its own local memory. The processors in the system are connected through a communication network. A distributed system provides user access to various system resources. Access to a shared resource allows. 
    · Computation speed-up 
    · Increased data availability 
    · Enhanced reliability

    h) Command-Interpreter system 
    Many commands are given to the operating system by control statements which deal with. 
    · Process creation and management 
    · I/O handling 
    · Secondary-storage management 
    · Main-memory management 
    · File system access 
    · Protection 
    · Networking 
    The program that reads and interprets control statements called variously 
    · Control-card interpreter 
    · Command-line interpreter 
    · Shell(in UNIX)

    You Might also view the following Related Posts

    For more other Posts: Click Here

    Functions of operating system

    0


    The main functions of operating system are listed below


    • Implementing the user interface. 
    • Sharing hardware among users. 
    • Allowing users to share data among themselves. 
    • Preventing users from interfering with one another. 
    • Scheduling resources among users. 
    • Facilitating input/output. 
    • Recovering from errors. 
    • Accounting for resource usage. 
    • Facilitating parallel operations. 
    • Organizing data for secure and rapid access. 
    • Handling network communications. 
    • Interpretation of commands and instructions. 
    • Establishment and enforcement of priority system. 
    • Automatic transition from job to job as directed by special control statements. 
    • Assignment of processor to different tasks being performed by computer system. 
    • Allocation of main memory and other storage areas to the system programs.


    You Might also view the following Related Posts



    For more other Posts: Click Here

    Development stages in operating Systems

    0
    Operating systems have developed through a number of distinct phases or generations, which corresponds roughly to the decades. Which are described below.

    i. The 1940’s first generations

    The earliest electronic digital computers had no operating systems. Machines of the time were so primitive that programs were often entered one bit at time on rows of mechanical switches. Programming languages were unknown (not even assembly languages). Operating systems were unheard of.

    ii. The 1950’s second generations

    By the early 1950’s, the routine had improved somewhat with the introduction of punch cards. The general motors’ research laboratories implemented the first operating system in early 1950’s for their IBM701. The system of 50’s generally ran one job at a time. These were called single-stream batch processing systems because programs and data were submitted in groups or batches.

    iii. The 1960's Third Generation.

    The Systems of the 1960's were batch processing system but they were able to take better advantage of the computer resources by running several jobs at once. So operating system designers developed the concept of multiprogramming in which several jobs are in main memory at once, a processor is switched from job to job as needed to keep several jobs advancing while keeping the peripheral devices in used.

    For example, on the system with no multiprogramming, when the current job paused to wait for other I/O operation to complete, the CPU simply sat idle until the I/O finished. The solution for this problem that evolved was to partition memory into several pieces, with a different job in each partition. While one job was waiting for I/O to complete, another job could be using the CPU.

    Another major feature in third generation operating system was the technique called spooling. In spooling, a high-speed device like a disk interposed between a running program and low-speed device involved with the program in Input/output. Instead of writing directly to a printer, for example outputs are written to the disk. Programs can run to completion faster, and other programs can be initiated sooner when the printer becomes available, the outputs may be printed.

    Another feature present in this generation was time-sharing technique, in which each user has an on-line terminal. Because the user is present and interacting with the computer, the computer system must respond quickly to the user requests, otherwise user productivity could suffer. Time searing systems were developed to multiprogramming large number of simultaneous interactive users.

    iv. Fourth Generation

    With the development of LSI (Large Scale Integration) circuit, chips, operating system entered in the personal computer and the workstation age. Microprocessor technology evolved to the point that it became possible to build desktop computers as powerful as the mainframes of the 1970's. Two operating systems have dominated the personal computer scene Ms-Dos written by Microsoft Inc. for the IBM PC and other machines using the Intel 8080 CPU and its successors and UNIX. Which is dominant on the large personal computers using the Motorola 6899 CPU family.


    You Might also view the following Related Posts
    For more other Posts: Click Here

    يتم التشغيل بواسطة Blogger.