Unit 1 Overview of Systems Analysis and Design
Unit 1 Overview of Systems Analysis and Design
Defining a System
A collection of components that work together to realize some objectives forms a system.
Basically there are three major components in every system, namely input, processing and
output.
In a system the different components are connected with each other and they are
interdependent.
Systems 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.
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
BCA III – SAD Compiled By: GIRIJA 2
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.
the design stage, the programming language and the hardware and software platform in which
the new system will run are also decided.
Objectives of System Design
1. Practicality: We need a system that should be targetting the set of audiences(users)
corresponding to which they are designing.
2. Accuracy: Above system design should be designed in such a way it fulfills nearly all
requirements around which it is designed be it functional o non-functional requirements.
3. Completeness: System design should meet all user requirements
4. Efficient: The system design should be such that it should not overuse surpassing the cost of
resources nor under use as it will by now we know will result in low thorough put (output)
and less response time(latency).
5. Reliability: The system designed should be in proximity to a failure-free environment for a
certain period of time.
6. Optimization: Time and space are just likely what we do for code chunks for individual
components to work in a system.
7. Scalable(flexibility): System design should be adaptable with time as per different user needs
of customers which we know will keep on changing on time.
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
BCA III – SAD Compiled By: GIRIJA 4
Components:
People: Users, analysts, developers, and anyone interacting with the system.
Processes: The steps involved in collecting, processing, storing, and distributing
information.
Technology: Hardware, software, networks, and databases that make the system function.
Data: The raw information that goes through the system's processes.
Benefits:
Better decision-making,
Improved efficiency: Automation and streamlined processes save time and resources.
Enhanced collaboration: Information sharing and communication are facilitated.
Greater competitiveness: Organizations can adapt and respond to market changes quickly.
Examples:
Enterprise resource planning (ERP): Manages core business processes like accounting,
inventory, and customer relations.
Content management system (CMS): Creates, edits, and publishes website content.
Social media platform: Connects users and enables information sharing.
Point-of-sale (POS) system: Processes sales transactions in stores and restaurants.
BCA III – SAD Compiled By: GIRIJA 5
b) Banking and finance: Banks rely on TPS for handling numerous transactions daily,
including deposits, withdrawals, fund transfers, and loan processing. TPS guarantees
accuracy, security, and speed, thereby enhancing customer trust in financial institutions.
c) Online commerce: E-commerce platforms handle a vast number of transactions daily. TPS
manages online purchases, updates product availability, processes payments securely,
and tracks shipments, ensuring a seamless shopping experience for customers.
BCA III – SAD Compiled By: GIRIJA 6
e) Transportation and logistics: TPS optimises supply chain operations, helps in tracking
the movement of goods, manages inventory levels, and processes orders. This is
particularly vital for businesses engaged in global trade, enabling them to coordinate
complex logistics with precision.
d) Decision support: MIS empowers managers by providing them with ad hoc reports, data
visualisations, and predictive analytics. These tools aid in scenario analysis and 'what-if'
modelling, allowing managers to simulate various business scenarios and assess the
potential outcomes of different decisions.
BCA III – SAD Compiled By: GIRIJA 7
DSS consists of a range of components, including databases, analytical models, user interfaces,
and decision engines. These components synergise to analyse vast datasets, identify patterns,
and generate meaningful reports. It often employs technologies such as data mining, predictive
modelling, and machine learning algorithms to gather trends and forecast outcomes. The
intuitive interfaces allow decision-makers to interact with the system, posing queries and
exploring scenarios to gain deeper insights into complex problems.
d) Marketing and customer insights: DSS analyses customer data to identify preferences,
purchasing patterns, and feedback. This information is important for crafting targeted
marketing campaigns, personalised customer experiences, and improving customer
satisfaction.
e) Healthcare and diagnosis: In the healthcare sector, DSS aids medical professionals in
diagnosing diseases and recommending treatments. By analysing patient data and
comparing it with vast medical databases, DSS enhances the accuracy of diagnoses,
leading to improved patient outcomes.
d) Competitor analysis: ESS provides in-depth insights into competitors' activities, market
positioning, and product strategies. By understanding the competitive landscape,
executives can fine-tune their strategy, identify market gaps, and develop offerings that
stand out in the industry.
c) Data analysis: Spreadsheets and data processing tools within OAS automate complex
calculations, data analysis, and reporting. This is particularly valuable for financial
analysis, budgeting, and forecasting, allowing businesses to make data-driven decisions.
d) Task automation: OAS automates repetitive tasks such as data entry, form submissions,
and report generation. By eliminating manual labour, employees can focus on more
strategic tasks, boosting overall productivity.
a) Data analysis and reporting: BIS enables in-depth analysis of historical and real-time data,
providing detailed reports on various aspects of business performance. This analysis helps
businesses track KPIs, assess operational efficiency, and identify areas for improvement.
b) Customer insights: BIS tools analyse customer data to identify purchasing patterns,
preferences, and behaviours. By understanding customer needs, businesses can tailor
their products and services, enhance customer experiences, and improve customer
retention rates.
c) Market intelligence: It gathers and analyses market data, enabling businesses to monitor
market trends, track competitors' activities, and identify emerging opportunities. This
intelligence is invaluable for strategic planning and staying ahead of market shifts.
d) Forecasting and predictive analytics: BIS employs predictive modelling to predict future
trends based on previous data. This capability aids businesses in demand forecasting,
inventory management, and financial planning, ensuring proactive decision-making.
BCA III – SAD Compiled By: GIRIJA 12
Examples of Stakeholders:
Internal Workers: Employees, managers, executives within the organization.
External Workers/Individuals: Customers, suppliers, partners, regulatory authorities.
Technical Stakeholders: IT professionals, developers, system administrators.
Non-technical Stakeholders: Business managers, end-users, customers.
There are five main groups of IS Stakeholders:
o System Owners
o System Users
o System Designers
o System Builders
o System Analysts & Project Managers
System Owner
– Own the system! Upper levels of Management,
– Mainly interested in the business objectives of the system,
• What will the system cost?
• What strategic benefits will the system bring to our business?
• How do we measure the value of the system to the business?
System User
– System Users are the majority of information workers affected by IS
– Less concerned with the business and strategic imperatives underpinning IS
– More concerned with the functionality of the IS
BCA III – SAD Compiled By: GIRIJA 13
– Another layer of technology specialists but are different from System Designers in
that they construct the IS based on the design specifications!
– In small organisations the system designers and system builders are often the
same but in larger organisations they are not. Why?
System Analysts
– Each of the other stakeholders have very different perspectives on IS. For instance,
the System Owner will likely have very different perspectives on an IS than that of
a System Designer.
• Some are only concerned with technical issues
• Others only with business issues
• A communications gap exists between people who need the IS and those
that understand IT
• A key role of System Analyst is to bridge this gap!
• Their role overlaps all the other roles of the other stakeholders. They need,
at the least, a general understand of each of the other stakeholder
concerns.
• Facilitates interaction between groups of stakeholders.
• Analyse current and possible future IS for a business. This is not just a
technology issue but concerns people, process, and technology
• Role of System Analyst will be discussed in greater detail later in the year!
D. Systems Development Life Cycle and life cycle models (Waterfall, Spiral,
Prototype)
The system development life cycle or SDLC is a project management model used to outline,
design, develop, test, and deploy an information system or software product. In other words, it
defines the necessary steps needed to take a project from the idea or concept stage to the actual
deployment and further maintenance.
BCA III – SAD Compiled By: GIRIJA 14
SDLC Cycle
SDLC Cycle represents the process of developing software. SDLC framework includes the following
steps:
The next phase is about to bring down all the knowledge of requirements, analysis, and design of
the software project. This phase is the product of the last two, like inputs from the customer and
requirement gathering.
Stage4: Developing the project
In this phase of SDLC, the actual development begins, and the programming is built. The
implementation of design begins concerning writing code. Developers have to follow the coding
guidelines described by their management and programming tools like compilers, interpreters,
debuggers, etc. are used to develop and implement the code.
Stage5: Testing
After the code is generated, it is tested against the requirements to make sure that the products
are solving the needs addressed and gathered during the requirements stage.
During this stage, unit testing, integration testing, system testing, acceptance testing are done.
Stage6: Deployment
Once the software is certified, and no bugs or errors are stated, then it is deployed.
Then based on the assessment, the software may be released as it is or with suggested
enhancement in the object segment.
After the software is deployed, then its maintenance begins.
Stage7: Maintenance
Once when the client starts using the developed systems, then the real issues come up and
requirements to be solved from time to time.
This procedure where the care is taken for the developed product is known as maintenance.
BCA III – SAD Compiled By: GIRIJA 16
SDLC Models
Software Development life cycle (SDLC) is a spiritual model used in project management that
defines the stages include in an information system development project, from an initial
feasibility study to the maintenance of the completed application.
There are different software development life cycle models specify and design, which are
followed during the software development phase. These models are also called "Software
Development Process Models." Each process model follows a series of phase unique to its type
to ensure success in the step of software development.
Here, are some important phases of SDLC life cycle:
Waterfall Model
The waterfall is a universally accepted SDLC model. In this method, the whole process of software
development is divided into various phases.
The waterfall model is a continuous software development model in which development is seen
as flowing steadily downwards (like a waterfall) through the steps of requirements analysis,
design, implementation, testing (validation), integration, and maintenance.
BCA III – SAD Compiled By: GIRIJA 17
Linear ordering of activities has some significant consequences. First, to identify the end of a
phase and the next, some certification techniques must be used at the end of each step. Some
verification and validation usually do this mean that will ensure that the output of the stage is
consistent with its input (which is the output of the previous step), and that the output of the
stage is consistent with the overall requirements of the system.
Advantages of Waterfall Model:
Spiral Model
The spiral model is a risk-driven process model. This SDLC model helps the group to adopt
elements of one or more process models like a waterfall, incremental, waterfall, etc. The spiral
technique is a combination of rapid prototyping and concurrency in design and development
activities.
BCA III – SAD Compiled By: GIRIJA 18
Each cycle in the spiral begins with the identification of objectives for that cycle, the different
alternatives that are possible for achieving the goals, and the constraints that exist. This is the
first quadrant of the cycle (upper-left quadrant).
The next step in the cycle is to evaluate these different alternatives based on the objectives and
constraints. The focus of evaluation in this step is based on the risk perception for the project.
The next step is to develop strategies that solve uncertainties and risks. This step may involve
activities such as benchmarking, simulation, and prototyping.
Difficulty in time management. As the number of phases is unknown at the start of the
project, so time estimation is very difficult.
Spiral may go on indefinitely.
End of the project may not be known early.
It is not suitable for low risk projects.
May be hard to define objective, verifiable milestones. Large numbers of intermediate
stages require excessive documentation.
Prototype Model
The prototype model suggests making a simple version of the software before creating the final
product. This simple version, called a prototype, might not work perfectly and could have limited
features, lower reliability, and may not perform as well as the actual software. This approach is
useful when the client doesn't have a clear idea of what they want from the software, especially
when details about the inputs, processing, and outputs are not well-known. The prototype helps
to better understand and refine the client's expectations.
BCA III – SAD Compiled By: GIRIJA 20
Agile Methodology
Agile software development is an iterative approach to creating software products based on
quickly releasing a minimum viable product (MVP) and then adjusting it and adding features and
functionalities in stages based on user behaviour and feedback. The methodology is designed to
address the fact it can be difficult to accurately predict the most intuitive user journeys, features
and functionalities users need, prefer and desire from software.
As a methodology, agile software development stands in contrast to the once dominant Waterfall
approach. When building software to the Waterfall methodology, software development teams
create highly detailed specifications and functionality requirements upfront. The software is then
built to that blueprint and released as a ‘completed’ product.
• Ensure effective collaboration between teams and stakeholders to deliver value to the
customer
• Eases dealing with costs & schedules with better interaction to ensure a more controlled
environment
• Deliver working software at frequent intervals through sprints
• Overall ensures cost-effectiveness
Context diagram
Data Flow Diagram (DFD)
E-R Diagram
Algorithm
Flowchart
Pseudo Code
Use Case
Decision Tree
Decision Table
Unified Modelling Language (UML)
Context Diagram
A context diagram is a top-level data flow diagram. It only contains one process node that
generalizes the function of the entire system relationship to external entities. It provides no
information about the timing, sequencing, or synchronization of processes such as which
processes occur in sequence or in parallel. Therefore it should not be confused with a flowchart
or process flow which can show these things. Some of the benefits of the Context Diagram are:
Shows the scope and boundaries of a system at a glance including the other systems that
interface with it.
No technical knowledge is assumed or required to understand the diagram.
Easy to draw and amend due to its limited notation.
Easy to expand by adding different levels of DFDs.
BCA III – SAD Compiled By: GIRIJA 23
Can benefit a wide audience including stakeholders, business analysts, data analysts,
developers.
Example of DFD
E-R Diagram
An entity-relationship diagram (ERD) is a graphical representation of an information system that
shows the relationship between people, objects, places, concepts, or events within that system.
An ERD is a data modeling technique that can help define business processes and can be used as
the foundation for the relational database.
Example of ER Diagram
BCA III – SAD Compiled By: GIRIJA 25
Algorithm
The algorithm is a set of steps that are followed in order to solve a mathematical problem or to
complete a computer process. The word “algorithm” is derived from the name of the Arabian
mathematician Al-Khwarizmi, which means a method, technique, or procedure. It is the most
commonly used tool by the programmer for planning the program and solving the problems. It is
an effective method for solving a problem.
An algorithm is a specific set of instruction or rules for carrying out a procedure or solving a
particular problem.
Flowchart
A flowchart is a diagrammatic or pictorial representation of a problem or algorithm that illustrates
the sequence of operations to be performed. A flowchart is a formalized graphic representation
of a logic sequence, work or manufacturing process, organization chart, or similar formalized
structure. The purpose of the flow chart is to provide people with a common language or
reference point when dealing with a project or process. Flowcharts use simple geometrical
symbols and arrows to define relationships.
Pseudocode
Pseudocode is one of the system development tools in which the preliminary steps of solutions
are written using simple English language rather than programming keywords. It is an informal
high-level description of the operating principle of a computer program or other algorithm. The
pseudocode uses the structural conventions of a normal programming language but is intended
for human reading rather than machine reading. Pseudocode typically omits details that are
essential for machine understanding of the algorithm, such as variable declarations, system-
specific code, and some subroutines.
Use case
In software and systems engineering, a use case is a list of actions or event steps, typically defining
the interactions between a role (known in the Unified Modeling Language as an actor) and a
system, to achieve a goal. The actor can be a human or other external system. In systems
engineering, use cases are used at a higher level than within software engineering, often
representing missions or stakeholder goals.
Decision Tree
Decision tree provides a graphical representation of decision logic that helps non-computer
people find it easy to understand. The principles for the development of decision trees are relative
forward. A decision tree is a decision support tool that uses a tree-like graph or model of decisions
and their possible consequences, including chance event outcomes, resource costs, and utility. It
is one way to display an algorithm.
Decision tree
Decision Table
A decision table is a tabular method for describing the logic of the decisions to be taken. The
decision table accompanies the flowcharts defining the possible outcomes. A decision table is an
excellent tool to use in both testing and requirements management. Essentially it is a structures
exercise to formulate requirements when dealing with complex business rules. Decision tables
are used to model complicated logic.
Decision Table
BCA III – SAD Compiled By: GIRIJA 28
Assignment:
1. Define system analysis and design and explain its significance in today's information
systems landscape.
2. Identify and explain the key challenges faced during system analysis and design phases.
3. Differentiate between transaction processing systems (TPS) and management
information systems (MIS) based on their functionalities and user needs.
4. Provide examples of decision support systems (DSS) and discuss their role in
organizational decision-making.
5. Compare and contrast the characteristics and purposes of enterprise resource planning
(ERP) systems and customer relationship management (CRM) systems.
6. Identify different types of stakeholders involved in information systems development and
explain their respective roles and interests.
7. Describe potential conflicts that might arise between different stakeholders and suggest
strategies to manage these conflicts effectively.
8. Explain the importance of stakeholder engagement throughout the entire system
development lifecycle.
9. Outline the different phases of the SDLC and explain the key activities performed in each
phase.
10. Compare and contrast the Waterfall, Spiral, and Prototype SDLC models, highlighting their
strengths and weaknesses in different scenarios.
11. Discuss which SDLC model you would recommend for a specific type of information
system development project, justifying your choice with relevant arguments.