Course Content: Computer Science TOTAL: 100: System
Course Content: Computer Science TOTAL: 100: System
TOTAL: 100
(THEORY: 75+PRACTICAL: 25)
System Analysis
System Analysis is a process of system understanding in detail what a system should accomplish.
It is about understanding the goals and strategies of the business and defining the information
requirements that support those goals and strategies. Most importantly, systems analysis is not about
programming.
Time Management Skills: This will help them adhere to the strict schedules of the task.
Project Management Skills: This will help them manage the project within the boundaries of
time and cost.
Man Management Skills: The analyst will need human resource skills so that they can
manage people working under him. This skill will also help them to connect to people in the
client organization so that there is greater acceptability for their solutions.
Team Management Skills: The analyst must be a team player. They have to work in a team
and they should ensure smooth team functioning.
Organizing and Directing Skills: These are basic managerial skills that the analyst must have
to conduct the analysis properly.
Negotiation Skills: The analyst should be a good negotiator to get his way around for the
purposes of selling his solution and to get the relevant data from the client.
Leadership Quality: The analyst must exhibit leadership and take initiative to understand
issues pertaining to the organization and its line of business in a proactive manner so that they
are well aware of the associated issues of the problem/opportunity as well.
Training and Documentation Capability: The analyst needs to be a good trainer as they may
be called upon to enhance the capacities of the users. Their documentation skills will also have
to be good, as without those skills the communication with the technical team will remain
incomplete.
Presentation Skills: The analyst must have good presentation skills that will help him to
communicate better.
Creativity: This skill will ensure that the analyst can give the users novel technical
solutions for the same problem.
Problem Solving: This skill will help the analyst form a systems approach to problem
solving so that they are able to structure a problem even when there is none.
Technical Knowledge: The analyst needs to have concrete knowledge in the technical
domain so that they are able to generate alternative solutions to problem. Without the
technical know how they will not be able to develop the solution. The analyst must also
have a broad knowledge of the entire technical domain. The broad spectrum of knowledge
will help them be flexible in their solution approach and will ensure that they have a better
understanding of the future of technologies.
Roles of a Systems Analyst
The systems analyst systematically assesses how users interact with technology and how
businesses function by examining the inputting and processing of data and the outputting of
information with the intent of improving organizational processes. Many improvements involve better
support of users’ work tasks and business functions through the use of computerized information
systems. This definition emphasizes a systematic, methodical approach to analyzing—and potentially
improving—what is occurring in the specific context experienced by users and created by a business.
Our definition of a systems analyst is necessarily broad. The analyst must be able to work with
people of all descriptions and be experienced in working with computers. The analyst plays many
roles, sometimes balancing several at the same time. The three primary roles of the systems analyst are
consultant, supporting expert, and agent of change.
Agent of Change
System analysts are also known as an agent of change since they use different approaches to
bring changes in the information system that can facilitate business operations. The biggest hurdle
for the role of system analysts is the skepticism of people about accepting the change. So, they
prefer users' participation for easy exchange of information. When stakeholders, management, and
clients are ready for the technological changes, a final system is made.
Prioritizing Requirements
Large systems do have various requirements which are not equal and are, therefore, not possible
for the team to implement all of them at the same time. Also, various types of users in the
organization have different types of information needs that cannot be satisfied due to various
constraints such as limited resources, budgetary constraints, time sensitivity, feasibility, etc.
Therefore, system analysts have to prioritize users’ requirements using their social and analytical
skills.
Solving Problems
System analysts help IT users to solve information problems by using different approaches in
which one good source of solutions is to take suggestions from others. With this approach, analysts
develop and evaluate a set of possible alternative solutions and then compare and choose the best
one to implement. They have to compare the alternative solutions on the basis of cost, benefits, risk
factors, etc. and decide the best with management's help.
Drawing Specifications
System analysts are responsible for drawing precise and clear specifications for programmers and
managers to understand easily. That includes text, documents, and flow charts for visual
understanding of computer programmers. These are presented in a detailed form as they lay the
foundations for optimal functioning of the system.
Designing and Evaluating Systems
At last, when the analysts are done with the preparation of the system's specifications, they
design and implement the system along with the development team so that the management’s goal is
achieved. With the knowledge of advanced programming tools, they act as an architect and develop
new systems. After the system is developed, they test the performance and recommend necessary
modifications.
Due to the various roles and responsibilities of a system analyst, he/she has to be a multifaceted
personality who is able to manage and coordinate with various people.
1) Waterfall Model
Waterfall Model is a sequential model that divides software development into
different phases. Each phase is designed for performing specific activity during
SDLC phase. It was introduced in 1970 by Winston Royce.
Built Stage After design stage, it is built stage, which is nothing but coding the software.
Test Stage In this phase, you test the software to verify that it is built as per the
specifications given by the client.
Maintenance Once your system is ready to use, you may later require change the code as
Stage per customer request.
Before the next phase of development, Error can be fixed only during the phase
each phase must be completed
Suited for smaller projects where It is not desirable for complex project
requirements are well defined where requirement changes frequently
They should perform quality assurance Testing period comes quite late in the
test (Verification and Validation) before developmental process
completing each stage
Any changes in software is made during Small changes or errors that arise in the
the process of the development completed software may cause a lot of
problems
2) Prototyping Model
The basic idea in Prototype Model is that instead of freezing the
requirements before a design or coding can proceed, a throwaway
prototype is built to understand the requirements. This prototype is
developed based on the currently known requirements. Prototype model is a Software
Development Model. By using this prototype, the client can get an “actual feel” of the system,
since the interactions with prototype can enable the client to better understand the requirements of
the desired system. Prototyping is an attractive idea for complicated and large systems for which
there is no manual process or existing system to help determining the requirements. The prototype
are usually not complete systems and many of the details are not built in the prototype. The goal is
to provide a system with overall functionality.
Diagram of Prototype Model:
Star
t Requirement Quick Building Customer Refining Engineering
Gathering Design Prototype Evaluation Prototype Product Sto
Advantages of Prototype Model:
p
Users are actively involved in the development.
Since in this methodology a working model of the system is provided, the users get a better
understanding of the system being developed.
Errors can be detected much earlier.
Quicker user feedback is available leading to better solutions.
Missing functionality can be identified easily.
Confusing or difficult functions can be identified.
Requirements validation, quick implementation of, incomplete, but functional, application.
Disadvantages of Prototype model:
Leads to implementing and then repairing way of building systems.
This methodology may increase the complexity of the system as scope of the system may
expand beyond original plans.
Incomplete application may cause application not to be used as the full system was designed.
Incomplete or inadequate problem analysis.
3) Spiral Model
The spiral model is similar to the Incremental Model, with more
emphasis placed on risk analysis. The spiral model has four phases:
Planning, Risk Analysis, Engineering and Evaluation. A software project
repeatedly passes through these phases in iterations (called Spirals in this
model). The baseline spiral, starting in the planning phase, requirements
are gathered and risk is assessed. Each subsequent spirals builds on the
baseline spiral. It’s one of the Software Development Models like Waterfall, Agile, and V-
Model.
Planning Phase: Requirements are gathered during the planning phase. Requirements like ‘BRS’
that is ‘Business Requirement Specifications’ and ‘SRS’ that is ‘System Requirement
specifications’.
Risk Analysis: In the risk analysis phase, a process is undertaken to identify risk and alternate
solutions. A prototype is produced at the end of the risk analysis phase. If any risk is found during
the risk analysis then alternate solutions are suggested and implemented.
Diagram of Spiral
Engineering (Development/Coding) Phase: In this phase software is developed, along
with testing at the end of the phase. Hence in this phase the development and testing is done.
Evaluation phase: This phase allows the customer to evaluate the output of the project to date
before the project continues to the next spiral.
1. Planning
2. System Analysis/Study
3. Feasibility Study
4. System Design
5. System Development
6. System Testing
Fig: Steps involved in SDLC
7. System Implementation
All these phases together are called a life
8. Maintenance and Review
1. Problem Identification/Planning:
System definition is the process of defining the current problem, determining why a new system
is needed and identifying the objectives of the proposed system. During Problem Definition Project
team (members responsible for Systems Study) focus on completing the task, investigating the
problem and deciding whether to proceed. In this phase the main aim is to answer “Why do we
need a new system?” and “What are the objectives of the new system?”
2. System Analysis:
During System Analysis Project team (members responsible for Systems Analysis) focus on
completing two tasks:
Analyzing the current system and developing possible solutions to the problem.
Selecting the best solution and defining its functionality
This phase starts when the current computerized system is to be modified or current manual
system is to be computerized. Systems Analysts then begin investigation, talking with the users.
The first challenge is to define the problem accurately. When the problem of the current system is
accurately defined, the users can decide whether to proceed or not.
Systems study is carried out by a small group of people who are familiar with Information System
techniques, understand the part of the business and skilled Systems Analysts. Main activities
included in the phase are; understanding the problem, feasibility analysis or study and system
requirements.
3. Feasibility Study
As the name implies, a feasibility analysis is used to determine the viability of an idea, such as
ensuring a project is legally and technically feasible as well as economically justifiable. It tells us
whether a project is worth the investment—in some cases, a project may not be doable. There can
be many reasons for this, including requiring too many resources, which not only prevents those
resources from performing other tasks but also may cost more than an organization would earn
back by taking on a project that isn’t profitable.
A well-designed study should offer a historical background of the business or project, such as a
description of the product or service, accounting statements, details of operations and management,
marketing research and policies, financial data, legal requirements, and tax obligations. Generally,
such studies precede technical development and project implementation.
A. Technical Feasibility
This assessment focuses on the technical resources available to the organization. It helps
organizations determine whether the technical resources meet the capacity and whether the
technical team is capable of converting the ideas into working systems. It also involves the
evaluation of the hardware, software, and other technical requirements of the proposed system.
As an exaggerated example, an organization wouldn’t want to try to put Star Trek’s transporters
in their building—currently, this project is not technically feasible. A technical feasibility study
assesses the details of how you intend to deliver a product or service to customers. Think
materials, labor, transportation, where your business will be located, and the technology that
will be necessary to bring all this together.
B. Economic Feasibility
This assessment typically involves a cost/ benefits analysis of the project, helping
organizations determine the viability, cost, and benefits associated with a project before
financial resources are allocated. It also serves as an independent project assessment and
enhances project credibility—helping decision-makers determine the positive economic
benefits to the organization that the proposed project will provide.
C. Legal Feasibility
This assessment investigates whether any aspect of the proposed project conflicts with legal
requirements like zoning laws, data protection acts or social media laws. Let’s say an
organization wants to construct a new office building in a specific location. A feasibility study
might reveal the organization’s ideal location isn’t zoned for that type of business. That
organization has just saved considerable time and effort by learning that their project was not
feasible right from the beginning.
D. Operational Feasibility
This assessment involves undertaking a study to analyze and determine whether—and how
well—the organizations needs can be met by completing the project. Operational feasibility
studies also examine how a project plan satisfies the requirements identified in the requirements
analysis phase of system development.
E. Scheduling Feasibility
This assessment is the most important for project success; after all, a project will fail if not
completed on time. In scheduling feasibility, an organization estimates how much time the
project will take to complete. When these areas have all been examined, the feasibility analysis
helps identify any constraints the proposed project may face.
4. System Design
System Design is the process of planning a new business
system to replace the old. But before this planning can be done,
we must thoroughly understand the old system. Once the analysis
is completed, the Systems Analyst has a firm understanding of
what is to be done. The next step is how the problem can be
solved.
The major objectives of System Design are:
Identification of reports and outputs the new system should produce.
Sketch the input screen and layout of menus options.
Description of data to be input, calculated and stored.
Individual data items, database and calculation procedures.
Major activities of System Design are carried out by the System Designer. The Project team
(members responsible for System Design), at this phase, finds the answers of questions like – How
the application accepts input data and stores it in the database?, How many Input Screens are
required?, How should the screen look like?, What kind of menus and options must be there?,
What code or programming language to use?, What are the goal of the outputs produced?, What
features and/or system software and hardware are required to run it smoothly?, What types of
platforms/OS will it support?, What kind of features should the system provide?
In bottom-up design, the team starts with the details (for example, the reports
to be produced by the system), then moves out to the big picture (major functions
or process). This approach is particularly appropriate when users have very specific requirements
for output – for example, payroll checks, which must contain certain pieces of information.
5. System Development:
During the development phase, programmers play a key role. They create and customize the
software for all the parts of the system. The actual coding and writing of the program is done at
this stage. The overall system is broken up into number of components. Then the programmers on
the project team are assigned to specific components. The programmers write the necessary code.
Technical writers and work with the programmers to produce the technical documentation for the
system. The technical documentation includes information about software features and
programming, about the data flow and processing, about the design and layout of the necessary
hardware.
6. System Testing:
Testing is the process of executing a program with the intent of finding an error. Testing is an
integral part. The testing process move from the individual component out to the system as a
whole. The project team tests each component separately (unit testing), and then tests the
components of the system with each other (system testing).
The major objectives of Systems Testing are:
Ensure that software does not fail.
7. System Implementation
In this phase, the project team (especially systems analysts) install the new software and
hardware, which has been tested. The users, then, start using the system to perform their jobs in
user environment. In this phase, the user moves from old system to new system. This is called
conversion.
8. System Conversion
The process of moving from old system to new system is called conversion. Conversion, in an
organization, takes places in the Phase System implementation. If the system is replacing an
existing one, implementation becomes critical. In such case, there are four different types of
conversion strategies:
a) Direct Conversion:
All users stop using old system at the same time and then begin using the new. This option is
very fast, less costly but more risky.
b) Parallel Conversion:
Users continue to use old system while an increasing amount of data is processed through the
new system. Both the systems operate at the same time until the new system works smoothly.
This option is costly but safe approach.
c) Phased Conversion:
Users start using the new system component by component. This option works only for systems
that can be compartmentalized. This option is safe and conservative approach.
d) Pilot Conversion:
Personnel in a single pilot-site use the new system, and then the entire organization makes the
switch. Although this option may take more time, it is very useful in big organizations where a
large number of people make the conversion.
9. System Evaluation
The system evaluation is performed to identify its strengths and weaknesses. The actual
evaluation can occur along any of the following dimensions;
Operational Evaluation
Some errors in the system are also corrected during this phase. Changes, or upgrades, to the
systems are made regularly during the remaining life span of the system. At some point, however,
repairs to the system no longer meet the user requirements. Users start calling for a major
modification or new system. At this point, the SDLC has come full circle, and the Systems study
(Phase 1) begins again.
Types of DFD
Logical DFD - This type of DFD concentrates on the system process, and flow of data in the
system. For example in a Banking software system, how data is moved between different
entities.
Physical DFD - This type of DFD shows how the data flow is actually implemented in the
system. It is more specific and close to the implementation.
DFD Components
DFD can represent Source, destination, storage and flow of data using the following set of
components -
Entities - Entities are source and destination of information data. Entities are represented by a
rectangles with their respective names.
Process - Activities and action taken on the data are represented by Circle or Round-edged
rectangles.
Data Storage - There are two variants of data storage - it can either be represented as a
rectangle with absence of both smaller sides or as an open-sided rectangle with only one side
missing.
Data Flow - Movement of data is shown by pointed arrows. Data movement is shown from the
base of arrow as its source towards head of the arrow as destination.
Levels of DFD
Level 0 - Highest abstraction level DFD is known as Level 0 DFD, which
depicts the entire information system as one diagram concealing all the
underlying details. Level 0 DFDs are also known as context level DFDs.
Level 1 - The Level 0 DFD is broken down into more specific, Level 1 DFD.
Level 1 DFD depicts basic modules in the system and flow of data among
various modules. Level 1 DFD also mentions basic processes and sources of
information.
Level 2 - At this level, DFD shows how data flows inside the modules
mentioned in Level 1.
Higher level DFDs can be transformed into more specific lower level DFDs
with deeper level of understanding unless the desired level of specification is achieved.
Overview
This note is about the Concept of System Designing Tools and its example. It includes the System
designing tools or modeling technique used in system development like Context Diagrams, Data flow
diagrams E-R diagrams. This modeling technique is used for the development of any system before
designing the complete system or program.
Concept of System Design Tools (Application Modeling Techniques)
System analysis can be complex and confusing work. The analyst should be able to deal with a
large amount of highly detailed and often conflicting information. The analyst needs a way to organize
the information, determine where there are gaps in understanding and identify areas of conflicting.
Modeling techniques provide solutions for the system analyst.
The modeling techniques used in system development are:
Context diagram
Data Flow Diagram (DFD)
E-R diagrams
Context Diagram
In keeping with the top-down approach to requirement determination, the first graphic that is
produced using structured technique is the context diagram. It gives a broad overview of the
information system environment including the data flows into and out of the system.
Context Diagrams serve three important purposes
1. Context diagrams support a data-oriented approach to system design.
2. Context diagrams help to investigate the output and process requirements of the organization.
3. Context diagrams defines the boundaries of the proposed system.
Levels of Context Diagram
There are three levels of context diagrams:
1. Level 1: A user-level diagram describes one functional area’s operational activity.
2. Level 2: A combined user-level diagram provides an overall view of the activities of related
user groups.
3. Level 3: An organizational level diagram reflects a consolidated view of the activities of the
organization.
(Source: www.visual-paradigm.com)
Problem Narrative
The customer sends a list of items required, which is processed by the customer handling department.
A copy of the list is sent to the stores. Based on the item price, an estimated value of goods is prepared
and sent to the client. At the end of the month, consolidated list of the customer requests are prepared
and sent to the manager of the sales department.
(Source:businessanalystlearnings.com)
A Data Flow Diagram (DFD) is a pictorial representation of the path which data takes from its initial
interaction with the system until it completes any interaction. The diagram will describe the logical
data flows without detailing the movements of any physical items.
The DFD also gives insight into the data that is used in the system. It does not show a sequence of
steps. It shows only what the different processes in a system are and what data flows between them.
Preparing context diagram is a preliminary step in creating a data flow diagram (DFD).
Based on context diagram, data flow diagrams identify the major data flows within the system
boundaries, the process and the data storage.
The complexity of business system means that it is impossible to represent the operations of any
system by means of single data flow diagram. At the top level, an overview of the different systems in
any organization is shown by way of context analysis diagram. When exploded into DFD, they are
represented by:
The input and output data were shown should be consistent from one level to the next.
Level 0: System Input/output: A level-0 DFD describes the system-wide boundaries detailing inputs
to and outputs from the system and major processes. This diagram is similar to the combined user-
level context diagram.
Level 1: Subsystem level data flow: A level-1 DFD describes the next level of detail within the
system detailing the data flows between subsystems, which make up the whole.
Level 2: File level detail data flow: A level-2 DFD details the files to which the data is applied in the
system and from which data is obtained. Each individual process is shown in detail.
Order Tracking System
Level 0
Level 1
Level 2
Entity Relationship Diagrams (E-R Diagram)
Entity Relationship Diagrams (ERD) are graphic illustration used to display object or events within a
system and their relationships to one another. E-R diagrams model data is much the same way as
DFD's model processes and data flows.
Purpose of ER Diagram
1. Verify accuracy and thoroughness of data design, current and new, with users.
2. Organize and record organizational data entities, relationships and scope through
decomposition and layering.
3. Enhance the overall communication between development project team member’s system
technicians, management and users with the use of graphic models.
4. Generally, simplify and bolster the creative data design process
Decision tree
Decision table