Monday, January 3, 2022

UNIT 6. Software process model

 The term system is derived from the Greek word ’systema’ which means took place together i.e system is an organized relationship among functioning of all units. It is a set or arrangement of things so related or connected as to form unity. In order to achieve common objective. In other word, system is a set element joint together for common objective. Thus, we can define a system as collection elements or components that are organized together for common purpose in order to enable the flow of information. System can be combination of people, device, process and method interrelated in such a fashion that they all work together for common goal. Some example of system are :

  1. Open system [example: biological system]
  2. Close system [example: nuclear weapon]
  3. Permanent system [example: government policy]
  4. Temporary system [example: small group research project in the laboratory]
  5. Natural system [example water cycle, ecosystem etc]
  6. Manufactured system [example: transportation, manufacturing system]

Basic interacting components of a system.

Components of Information System

1) Input: It involves capturing and assembling element that enter the system to be processed. For eg, the input to a calculator is the keypad. We press keys and the keypad sends an electric signal to be processed.

2) Process: It involves transformation processes that converts input into output. The input signal are changed according to the instruction supplied to generate an output.

3) Output: It involves elements that have been produced by a transformation process to their final and ultimate destination. The output of a calculator is the scree.

4) Storage: Storing for future so that we can retrieve and access whenever required.

5) Controlling: Monitoring the overall data and resources flow is known as controlling.

6) Feed back: Feedback is the idea of monitoring current output of the system and comparing it with the system goal.

7) System boundary: The system boundary defines the components that make up the system and scope of the organization which can be changed during system design.

8) System Environment: Anything outside the system boundary that may directly or indirectly affect the system behavior is system environment.

Information System term

Data: It is the raw facts and figures which are uninterpreted, unrelated and isolated and doesn't give any sense are known as data. Data can be collected from various sources such as interview, observation, sampling, measuring, questionnaire, etc. Data are ta transformed into information after processing which may later help in decision making

Eg, Global, 12, Pokhara, School

Information: Information is the processed form of data. It is organized, interpreted, corrected form of raw facts and figure. It is the processed data into a form that is meaningful to the user so that decision maker may take necessary action.

Eg, Global is a school located in Pokhara-12

Definition of Information system:

The system which accepts data as Input, process it to generate the information and provides the information to the user as output is the information system. The information system is interrelated components working together to collect data, process it, give output and store using the resources of hardware, software, people, procedure & controlling mechanism.

It helps to support decision making, coordination, control, analysis and visualization in an organization. The major objective of an information system is to provide information on timely basis throughout the organization. So that top level management can make proper decision and take appropriate course of action in time.

Types of the information system.(very important)

In an organization, there are various types of operations that takes place. Several operation requires several information system for the effective management of an organization. Senior managers need information to help with the business planning. Middle management need more detail information to help them monitor and control business activities. Employees with operation roles need information to help them carry out their duties. Hence, business organization tends to have several information system operating at the same time. The several information system are:

Types of Information System

Different level of Information system

1) Transaction processing system (TPS): A TPS is a basic business system which serves the most  elementary day to day activities of an organization. It supports the operational level of the business that supplies data for higher level management for decision. A TPS also collects and stores information about  transaction and control some expect of transaction, which includes the collection, modification and retrieves of all transaction data. TPS is also known as real time processing. For example, billing system to send invoice to customer, inventory management system to keep record of purchase, sales and stock.

2) Management Information system (MIS): Management information system provides information to manager of an organization which helps them to organize, evaluate and efficiently manage departments within an organization. It is primarily intended for providing information from the data after processing them. The data are generated, collected recorded, stored, processed and retrieved by MIS after it has been generated by business operation or TPS in an organization. It is the system that provides the information necessary to manage and organization effectively. It has large quantity of input data obtained from TPS and produce summary report as an output. It is used by middle level management. For example, annual budgeting system, auditing system etc

3) Decision Support system (DSS): It is a computer based application that collects, organize, and analyze business data to facilitate quality business decision making for management, operation and planning. This system aid decision maker in compiling a variety of data from of data from many sources. DSS analysis helps companies to identify and solve problem and make decision. It is created to help people to make decision by providing access to information and analysis tool. It support the decision process so manager can make simulation and prediction. DSS allows user to use different option and find out what the outcome would be so that proper action con be identified. DSS is flexible, adaptable and quick.

4) Executive support system: It is also known as executive information system. It is a decision support system used to assist senior executive in the decision making process. It does this by providing easy access to important data needed to achieve strategic goals in on organization. ESS normally features graphical display on an easy to use interface. ElS can be used in many different type of organization to monitor enterprise performance as well as to identify opportunities and problems.

System Analyst

The person who is involved in analyzing, designing, implementing and evaluating, computer based information system to support decision making and operation of an organization is known as system analyst. He/she is a computer specialist person who is in charge of designing, modifying and  analyzing various system to ensure compatibility and user effectiveness. A system analyst used computers and related system to design new IT solution, modify, enhance, or adapt existing system and integrate new feature  or improvement all with the aim of improving business efficiency and productivity. They must posses a high level of technical expertise and have depth knowledge of current business practices.

Attributes qualities of good system analyst/desirable characteristics or qualities

1) Knowledge of an organization: A system analyst must understand way in which various functions of an Organization. He/she should have insight view of management structure, objective of an organization and the relationship among the department in the organization. He/she should know the principle end policies of an organization for whom the information system is to be built. In general he/she should have great knowledge of business practices.

2) Communication skill: Effective communication skill is vital for the success of any system. The system analyst should have ability to articulate and speak with all levels of managerial position of an organization. He/she is required to influence people to change their mind and attitude and motivate them to work in group.

3) Technical knowledge: System analyst should have the knowledge of basic of computers and business functions.  He/she must be familiar with the capabilities and limitations of hardware and software products. He/she should possess good and enough technical knowledge so that he/she can recommend and implement new information system.

4) Creativity: The analyst should be creative enough to generate ideas and views that can help different executives in decision making process and help organization to increase its efficiency and productivity. He/she should be innovate enough to design and implement new system.

5) Problem solving: System analyst should have the skill of problem solving, developing alternative solutions scheduling and co-ordinating team effort and managing cost and account. He or she should posses deep intellectual capacity, and should be able to diagnosis problem critically.

6) Dynamic interface: System analyst must be a perfect of both technical and non-technical skill. He/she should have potential of dealIng with technical issues and management function.

Roles and responsibilities/Duties

1) Defining requirement: It involves understanding users requirement by interviewing, finding out what information is being used and what is their expectation towards purposed system. He/she should be capable of recommending appropriate information system to solve the specific problem of two user.

2) Analyst and evaluation: The system analyst analyze the working of current information system in the organization and find out the best characteristics of existing system and evaluates if new system modification is required.

3) Gathering data facts and opinion of user: Since, System analysis may recommend information system on behalf of user so he/she should gather actual and appropriate data before recommending. His/her purpose system should fulfill the requirement of the user. Hence, proper communication between user and analyst is required to gather important ideas and opinion.

4) Prioritizing requirement: System analyst should be able to prioritize the requirement of the user that means the requirement of the user may not always be useful so he or she should be able to filter or sort out the requirement according to the priority by making communication with user.

5) Designing system: It is one of the important responsibilities of system analyst to design the system according to the requirement of the user. Designs are frame work for the development of the system. Hence, system analyst should understand the need of the user and incorporate that need in a proposed system through design.

System Development Life Cycle (SDLC)

System is defined as an integrations of objects of the real world environment joined in some regular interaction. The process of developing system by set of predefined steps is called system development life cycle. We need system development lifecycle due to following reasons. Computer based processing enables the same data to be processed in many ways according to the need.

  1. It is easier to handle large volume of data and deal with variety of information.
  2. It is easier to handle organization having distributed branches.

The software development lifecycle consists of following phases:

Software Development Life Cycle

1) System investigation: It is the preliminary way of handling the user request to change, improve or enhance existing system. The objective is to determine the user requirement, whether the request is valid and feasible. In this phase, problem definition is well understood, as system intended to meet the need of an organization. Thus, the first step in the design is to specify these needs for requirements. The top manager of an organization takes the basic decision to use a computer based information system for managing the organization. During this phase the objective of the system are identified. In general system Investigation studies the following questions. What is to be done in the future?

  1. How to do it?
  2. When to do it?
  3. Who will do it?

2) System analysis: The process of analyzing a system and trying to find a way to modify it or create a new system to meet the users need. In other words, the investigation into  system operation and possible changes to the system is called system analysis. The system are made up of many interrelated task, change to any one of this task to the addition of new task may affect the existing one. Therefore, it is necessary to understand the system and its problem which will help to reduce the failure due to any risk and uncertainties. Main activities which are undertaken in this phase. 

  1. Definition of output requirements such as content, layout design etc.
  2. Specification of input data such as source, format etc.
  3. Development of overall logic.
  4. Develop step by step algorithm and flowchart.
  5. Develop a general test requirement

3) Feasibility studies (V.imp): The process of analyzing whether the proposal is feasible or not is known as feasibility study. If it is not feasible then we have to look after other alternative. Feasibility study mainly focus on the demand of the system that affects the overall the development of the information system. Feasibility is how beneficial or practical the development of an information system will be to an organization

The aim of feasibility study Are.

  1. To determine whether the objective stated can be early attainable within a prescribe limitation and period.
  2. To define major problem areas so that system analyst can plan the strategy for the field investigation.
  3. To find areas where we can save time money and effort.
  4. To prepare cost estimation and time scheduling.
  5. To discover the areas where specialist knowledge are required.

Different types of feasibility study.

a) Economic feasibility: The system development said to be economically feasible if the budget on proposed system doesn't ought weight, the estimated cost involve in acquiring, installing and operating it. Cost can be one time or continuing and  can occur at various time during project development and use. It mainly measures cost, savings, and benefits. During economic feasibility the cost of the following things are to be measured.

  1. People including IT staff and user.
  2. Hardware and equipment
  3. Software
  4. Formal and informal training
  5. License and fees
  6. Facility cost

b) Schedule feasibility (time): A system development is said to be schedule feasible if time required to accomplish the project doesn't cross the proposed deadline. It is called schedule feasibility. The schedule feasibility also depends upon available manpower and economical condition as well. In practice, time period of project completion should be always less than or equal to time required then proposed time, then only the system will be schedule feasible.

c) Technical feasibility: A system development is said to be technically feasible if the organization has the resources to develop or purchase, install and operate the system. It measures the availability of appropriate manpower required to accomplish the project. If the manpower used are not technical or the work performance of the technical manpower are not experienced the entire system will be certainly insufficient and this will distract the achievement of its goals and objectives, Technical feasibility measures following things.

  1. Does the company have the need of technical expertise? If not can it be acquired ?
  2. Does the company have necessary hardware, software and network resources?

d) Operational feasibility: A system that has operational feasibility is one that will be used effectively after it has been developed. If user have difficulty with a new system it will not produce the expected benefit. Operational feasibility depends on several issues. Some are performance of employees, information, economy, control, efficiency and service. A system which is operationally feasible will win it day to day activities smoothly without any delay and disturbance.

4) System design: System design is the process of creating alternative solutions to satisfy the investigated goals, evaluating the choices and drawing up the specification for the chosen alternative. Design begins after the study team has analyzed the current procedure. Since many factor have been bearing on the design process, it can be challenging. After analyzing the current system the job of the designer is to decide whether the benefits and possible savings expected from design alternative out weigh the cost. There are several designing tool. Some of them are algorithm, flowchart, ER diagram etc

Algorithm: The sequential system steps  written in order to solve a particular problem is known as algorithm. Eg, Algorithm to find greatest number among two numbers.

Step 1: Start

Step 2: Enter any two number (a, b)

Step 3: Check whether (a>b)

If true: Go to step 4 and stop

If false: Go to step 5 and stop

Step 4: Display greatest number is ‘a’

Step 5: Display greatest number is ‘b’

Step 6: Stop

Flowchart: The diagrammatic representations of steps involved while solving a particular problem is called flowchart.

5) System Development (Coding): Coding the process of writing programs using actual programming language. In the phase solutions are created using real program code. In general, the system design needs to be implemented to make it a workable system. This demands the coding of design into computer language i.e. programming language (machine level language, high level language, assembly language). This is also called the programming phase in which the programmer converts the program specification into computer instruction, which we refer to as program. The programs co-ordinate the data movement and control the entire process in a system. A well written code reduces the testing and maintenance effort. This helps in fast development, maintenance and future changes if required programming tools like compiler, interpreter and languages like C, C++, Java script, PHP etc are used for coding. With respect to the type of application, appropriate programming language should be chosen.

6) System Testing : This steps includes whether the developed system can fulfill the user requirement or not. The testing is the process of validating the correctness of program. It's objective is to demonstrate that the program meets its designed specification. It is an investigation conducted to provide stake holder with information about the quality of the product or service under test. Some of the objective of system testing are :

  1. To check whether developed system fulfills the user requirement or not.
  2. To check whether developed system works as expected.

Some testing methods are:

a) Black box testing: Black box testing treats the software as a black box without any knowledge of internal implementation. It is also called functional testing because it tests whether a system is functioning or not. Here in this type of testing several known input is provided and checked whether the system generates expected output or not.

b) White box testing: In white box testing, procedural details are checked logical path through the software and between several components are tested through codes, statements and syntax analysis. White box testing is used when the tester has to the internal data structure and algorithms including the code that implement this. It is also called glass box testing.

7) System implementation: The main objective of this phase is to obtain an operational system fully documented. In the phase system are installed and tested with operational data. It also consist of implementation of the system into production environment and resolution of the problem identified in testing phase. Implementation generally refers to the use of newly developed system in practice. when the software appears to be running properly then we understand it is ready to implement. The main activities of implementation phase are:

  1. Testing and proving in all parts of system.
  2. Training of data processing and user staff to use the new system.
  3. Preparation of documentation of a system.
  4. Acquiring all necessary equipment & stationary.

8) System maintenance: When the system is implemented, maintenance and modification begins. like any system, there is an aging process that requires periodic maintenance of hardware and software. There may be need of new modification which are done in this phase. The software and hardware requires periodic maintenance to as to keep in tune with design specification and to innovate new ideas into the system. The different types of maintenance are:

  1. Corrective maintenance: It corrects the run-time error during the operation.
  2. Adaptive maintenance : It modifies or add new feature in the system according to the environmental change.
  3. Perfective maintenance. It makes the system perfect up to date and improve the life and efficiency of the system.

System Development Model

A) The waterfall Model: This model is some time called classic life cycle because it suggest a systematic sequential approach to software development that begins with customer specification of requirements and progress through planning, modeling, construction etc. It is an oldest type of model for software engineering. It takes the fundamental process activities of specification, development, validation and evolution & represents them as separate process phases such as requirements specification, software design, implementation testing and so on.

Waterfall Model

a. Requirement analysis & definition: In this stage the system's services constrain and goals are established by consultation with system users. They are  defined in details and serve as system specification.

b. System and software design: In this stage the system design process partition the requirements to either hardware or software system. It establishes overall system architecture. Software design involves identifying and describing the fundamental software system abstraction and their relationship.

c. Implementation and unit testing: During this stage, the software design is realized as a set of programs or program unit testing involves verifying that each unit meets its specification.

d. Integration and system testing: The individual programs units or programs are integrated and tested as a complete system to ensure that the software system is delivered to the customer.

e. Operation and maintenance: Normally, this is the longest life cycle phase. The system is the installed and put into practical use, maintenance involves correcting errors which are not discovered in earlier stage of the life cycle improving the implementation of system units and enhancing the system service as a new requirements are discovered.

B) Prototyping Model: This model is applied when there is an absence of detail information regarding input and output requirement of a software. Prototype model is suitable when the requirement of the client is not clear and it is supposed to be changed. It doesn't cover any risk management.

Prototype Model

Development of prototype.

Identify user problem: The system analyst interviews the user to obtain an idea of what is required from the system.

Develop a prototype: The system analyst, working with other information specialist uses one or more prototyping tool to develop a prototype.

Determine if prototype is acceptable: The system analyst educates the user in prototype and provides an opportunity becoming familiar with the system. The user advises the analyst whether the prototype is satisfactory or not. If yes then the prototype will be used if not again the loop continues from beginning.

Use the prototype: The prototype becomes operational system.

Advantages of prototyping model

  1. Helps in reducing risk associated with the the project.
  2. There is great involvement of user in software development.

Disadvantages of prototyping model

Time consuming and expensive because if the user is not satisfied by the developed prototype new prototype should be developed. This process goes on until a perfect prototype is developed which satisfies the user.

C) Spiral model: In this model, process is represented as a spiral rather than a sequence of activities with back tracking. Each loop in the spiral represent a phase in the process. It has no fixed phase such a specification or design. Loops in the spiral are chosen depending upon what is required. This model combines the feature of both waterfall model and prototype model. The spiral model is favorable of large, expensive and complicated  projects. It is a system development method in Looping structure. In this model planning, risk analysis, software development and user evaluation are repeatedly processed until the system performed correct output.

Spiral Model

Planning: The project is reviewed and the decision is made whether to continue with a further loop of a spiral. If it is decided to continue, plan has to be drawn up for the next phase of the project.

Risk analysis: For each of the identified project risk, detail analysis is carried out. Steps are taken to reduce the risk. For example: if there is a risk that the requirement are inappropriate, a prototype system may be developed.

Software development: After risk evaluation a development model of the system is chosen.

User evaluation: Specific objective for the phase of the project are defined by the evolution of the user. Here, user requirement and the product are identified and checked whether it fulfills the specification or not.

Advantages of spiral model

  1. It emphasize on risk, which are often ignored.
  2. Some phases are in loop, it is effective for regular updates.
  3. Effective user feedback.
  4. It emphasize on quality.

Disadvantage of spiral model

  1. Full scale risk analysis need training and maybe expensive. Hence, it is only applicable for large project.
  2. This model is relatively untested.

System design tool

Various system design tool are used during system analysis and design phase of system development. Some of the most commonly used tools are algorithm, flowchart, entity relationship (ER) diagram , data flow diagram (DFD) etc.

1) Algorithm: The sequential steps or step by step procedure written to solve particular problem is called algorithm. It is one of the most basic tools used for solving problem. It is defined as the finite sequence of instruction for solving a problem. It consists of step wise list of English statement making sequential procedure. The number of instruction should be minimized to increase the speed of an algorithm.

2) Flowchart: The pictorial or diagrammatic representation of steps involved while solving problem. It is defined as a diagram or picture which describe the procedure how to solve a problem. It shows the order of instruction and relationship between them. The purpose of constructing flowchart is to help the programmer for understanding the logic of the problem. There are two types of flow chart.

Program Flowchart: It is the type of flowchart that explains how a particular program solves a given tasks. It helps to get an understanding on how to solve the problem using the programs· Since it solves only one type of problem at a time, it is very easy to understand. Different symbols used in program flowchart are:

System flowchart: A system flowchart plays vital role in system analysis. It illustrates the elements graphically and characteristics of a system, its structure and relationship in terms of flowchart symbol. A system flowchart is a diagram that shows a broad overview of the data flow and sequences of operation in a system. It is the graphical representation of a sequence of activities in a process of a system.

Program FlowchartSystem Flowchart
i. It gives detail of any particular part of the system.i. It gives detail of whole system or software.
ii. It is limited.ii. It is broad.
iii. It has less symbols.iii. It has more symbols.
iv. It is easy to understand.iv. It is difficult to understand.
v. It is designed by the programmer.v. It designed by the system designer.

No comments:

Post a Comment

Class 12 Computer Science MCQ set

  Class 12 Computer Science MCQ set According to the new curriculum and grid of NEB, there is an abrupt change in question pattern. Computer...