0% found this document useful (0 votes)
131 views20 pages

Chapter 5 System Analysis

Uploaded by

sostikakc5
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
131 views20 pages

Chapter 5 System Analysis

Uploaded by

sostikakc5
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 20

System Analysis

System Analysis is the process of studying a system by examining its components,


interactions, and workflows to identify problems, gather requirements, and develop
solutions that meet user needs.
It focuses on understanding what the system should do, ensuring it aligns with
business objectives, and providing a clear blueprint for the system's design and
development.

Key Objectives of System Analysis


1. Understand User Needs: Analyze what the end-users require from the
system.
2. Problem Identification: Identify any issues or inefficiencies in the existing
system.
3. Feasibility Study: Assess if the proposed system is feasible in terms of cost,
time, technology, and resources.
4. Documentation: Provide detailed documentation to help guide the design
and development phases.
5. Risk Assessment: Identify potential risks and how they can be mitigated.

Steps in System Analysis

The system analysis process can be broken down into the following steps:
1. Preliminary Investigation
 Purpose: Determine the scope and objectives of the project.
 Activities:
o Identify the problem or opportunity.

o Conduct an initial feasibility study.

o Define project goals and constraints.

 Outcome: A preliminary report or a feasibility study report.


2. Requirement Gathering and Analysis
 Purpose: Understand the needs and requirements of the stakeholders.
 Activities:
o Conduct interviews, surveys, and workshops with stakeholders.

o Gather data about the existing system (if applicable).

o Analyze user needs, system functionalities, and constraints.

o Define functional and non-functional requirements.

 Outcome: Requirement specification document (often called Software


Requirements Specification, SRS).
3. System Modeling
 Purpose: Create visual representations of the system to better understand its
structure and flow.
 Activities:
o Develop Data Flow Diagrams (DFD) to show the flow of data within the
system.
o Create Entity-Relationship Diagrams (ERD) to illustrate data
relationships.
o Use Use Case Diagrams to capture user interactions with the system.

o Design Process Models to represent system processes.

 Outcome: System models and diagrams.


4. Feasibility Study
 Purpose: Evaluate if the system is practical and achievable.
 Types of Feasibility:
o Technical Feasibility: Can the system be developed with current
technology?
o Economic Feasibility: Is the system cost-effective?

o Operational Feasibility: Will the system solve the identified problems?

o Legal Feasibility: Are there any legal implications?

o Schedule Feasibility: Can the system be developed within the desired


timeline?
 Outcome: Feasibility report.
5. Detailed Analysis and System Design
 Purpose: Develop a detailed plan for the system’s architecture.
 Activities:
o Break down the system into smaller components.

o Define the system’s inputs, processes, outputs, and data storage


needs.
o Develop a detailed System Design Specification document.

 Outcome: Blueprint of the system, which includes both high-level and


detailed designs.
6. Cost-Benefit Analysis
 Purpose: Assess the financial impact of the system.
 Activities:
o Compare the costs of system development versus the expected
benefits.
o Calculate ROI (Return on Investment) and TCO (Total Cost of
Ownership).
 Outcome: A financial assessment report.
7. Risk Analysis
 Purpose: Identify potential risks and their impact on the project.
 Activities:
o List out possible risks (technical, financial, operational).

o Assess the likelihood and impact of each risk.

o Develop mitigation strategies to minimize risk.

 Outcome: Risk management plan.


8. Documentation and Reporting
 Purpose: Document all findings and recommendations from the analysis.
 Activities:
o Compile system requirements, design models, feasibility studies, and
risk assessments.
o Prepare a comprehensive system analysis report.

 Outcome: System Analysis Report (SAR).


Techniques of System Analysis

1. Modern Structured Analysis


2. Information Engineering
3. Prototyping
4. Joint Application Development (JAD)
5. Rapid Application Development (RAD)
6. Object-Oriented Analysis

1. Modern Structured Analysis


 Description:
o This technique uses a top-down approach to break down complex
systems into simpler, manageable components. It focuses on
processes, data flow, and data stores, often utilizing tools like Data
Flow Diagrams (DFDs) and Entity-Relationship Diagrams (ERDs).
 Key Features:
o Emphasizes a clear separation between the logical design (what the
system should do) and the physical design (how it will be
implemented).
o Involves functional decomposition, breaking down the system into
smaller subsystems.
o Uses techniques like process modeling and data modeling to create a
structured view of the system.
 Purpose:
o To provide a clear and structured way to understand complex systems
by focusing on data flow and processes.
 Advantages:
o Easy to understand and communicate using visual models.

o Helps in identifying and eliminating redundancies in system processes.

 Disadvantages:
o May become cumbersome for very large systems due to its detail-
oriented nature.
o Focuses mainly on processes, which may not capture object-oriented
perspectives.

2. Information Engineering
 Description:
o A methodology that emphasizes strategic planning and business
modeling to align information systems with business goals. It focuses
on data-driven approaches, using techniques like Data Modeling,
Process Modeling, and Database Design.
 Key Features:
o Data-Centered Approach: Prioritizes data structure and flow over
individual processes.
o Involves the creation of Information Strategy Plans (ISP) and Business
Area Analysis (BAA).
o Uses tools like Entity-Relationship Diagrams (ERDs) and Process
Flowcharts.
 Purpose:
o To ensure that information systems support business strategies and
objectives, improving overall organizational efficiency.
 Advantages:
o Provides a holistic view by integrating data and process modeling.

o Ensures systems are aligned with long-term business goals.

 Disadvantages:
o Requires significant time and effort in the planning stages.

o May be too rigid for rapidly changing business environments.

3. Prototyping
 Description:
o A technique where a preliminary version of the system, known as a
prototype, is developed quickly to demonstrate functionalities. It allows
stakeholders to interact with the system early in the development
process to refine requirements and functionalities.
 Key Features:
o Iterative Development: The prototype is continuously refined based on
user feedback.
o Focuses on user interface and experience, often using mockups and
simulations.
o Types of Prototyping include Throwaway Prototyping (discarded after
requirements are finalized) and Evolutionary Prototyping (refined into
the final system).
 Purpose:
o To validate requirements and system functionality early, reducing
misunderstandings and rework.
 Advantages:
o Increases user involvement and satisfaction by incorporating feedback.

o Helps identify missing or misunderstood requirements early.

 Disadvantages:
o Can lead to scope creep if not properly managed.

o Users may mistake the prototype for the final product, leading to
unrealistic expectations.

4. Joint Application Development (JAD)


 Description:
o A collaborative workshop-based approach that involves key
stakeholders, system analysts, and developers working together to
gather requirements and design solutions. JAD sessions are structured
meetings that aim to accelerate the system analysis phase.
 Key Features:
o Facilitated Sessions: A trained facilitator leads the workshop to keep
discussions focused and productive.
o Involves cross-functional teams, ensuring all perspectives are
considered.
o Produces detailed documentation, including requirements, process
models, and design specifications.
 Purpose:
o To shorten the development cycle by getting consensus on
requirements and designs early on.
 Advantages:
o Reduces communication gaps by bringing stakeholders together.

o Speeds up the analysis and design process.

 Disadvantages:
o Requires the availability of all key stakeholders, which can be
challenging to coordinate.
o Can be costly due to the need for multiple facilitated sessions.

5. Rapid Application Development (RAD)


 Description:
o A development methodology that emphasizes quick and iterative
releases of prototypes and working software. It focuses on rapid
delivery by using component-based development and frequent user
feedback.
 Key Features:
o Time-Boxed Development: Projects are divided into short, fixed
timelines (e.g., 2-3 months).
o Emphasizes reusable components, iterative design, and user
involvement.
o Includes stages like Requirements Planning, User Design, Construction,
and Cutover (deployment).
 Purpose:
o To deliver functional software quickly, adapting to changing user
requirements.
 Advantages:
o Reduces development time and costs.

o Increases user satisfaction by involving them throughout the


development process.
 Disadvantages:
o May compromise quality if the focus on speed overrides thorough
testing.
o Not suitable for projects requiring complex or large-scale integration.

6. Object-Oriented Analysis (OOA)


 Description:
o A methodology that focuses on identifying and organizing system
requirements based on real-world objects and their interactions. It uses
concepts like classes, objects, inheritance, and polymorphism to model
system components.
 Key Features:
o Object-Centric Approach: Emphasizes the identification of objects (e.g.,
customers, orders) and their relationships.
o Uses Unified Modeling Language (UML) diagrams, such as Class
Diagrams, Sequence Diagrams, and Use Case Diagrams.
o Promotes reusability, modularity, and extensibility in system design.

 Purpose:
o To create systems that are easier to maintain and extend by modeling
them after real-world entities.
 Advantages:
o Enhances system flexibility and scalability.

o Facilitates code reusability and better system organization.

 Disadvantages:
o Can be complex to learn and implement, especially for teams
unfamiliar with object-oriented concepts.
o May require significant upfront planning and design.

Comparison Summary

Technique Approach Focus Best Suited For Key Advantages

Modern Top-down, Data flow, Well-defined,


Clear, structured
Structured Process- process structured
models
Analysis based modeling projects
Technique Approach Focus Best Suited For Key Advantages

Strategic
Information Data- Aligning IT Aligns IT with
planning, data-
Engineering centered with business business goals
heavy systems

Iterative, Rapid Projects with Early feedback,


Prototyping User- requirement unclear reduced
centered validation requirements misunderstandings

Complex
Joint Application
Requirements projects needing Accelerated
Development Collaborative
gathering stakeholder decision-making
(JAD)
input

Rapid
Application Iterative, Speed and Time-sensitive Rapid delivery,
Development Fast-paced flexibility projects adaptable
(RAD)

Systems
Object-Oriented Object- Modeling real- requiring Modularity, code
Analysis centric world objects scalability and reuse
reuse

Conclusion
Each system analysis technique has its own strengths and weaknesses, making
them suitable for different types of projects.
For example, Modern Structured Analysis is great for process-focused systems,
while Object-Oriented Analysis is ideal for projects requiring modularity and
scalability.
Prototyping and RAD are best for projects needing rapid turnaround, while JAD
excels in collaborative environments where stakeholder consensus is crucial.
Choosing the right technique depends on the project’s complexity, timeline, user
involvement, and specific requirements.

Concept of Data and Process Modeling


Data and Process Modeling are techniques used in system analysis to visually
represent the flow of data and processes within a system. These models help
analysts understand, document, and communicate how a system works and how it
can be improved.
Summary

Modeling
Focus Key Tool Purpose
Technique

Entity-Relationship Designing efficient


Data Modeling Structure of data
Diagrams (ERDs) database schemas

Visualizing system
Process Flow of processes Data Flow Diagrams functionality and data flow
Modeling and data (DFDs)

These techniques are crucial for ensuring that systems are well-structured, efficient,
and aligned with business requirements.

1. Data Flow Diagram (DFD)


Overview
 A Data Flow Diagram (DFD) is a graphical representation used to model
the flow of data through a system. It focuses on how data enters, moves, and
exits the system, highlighting processes, data stores, data flows, and external
entities.
 Purpose:
o To visualize the processes within a system.

o To identify data sources, processes, and storage points.

o To provide a high-level view of system interactions, useful in both


system analysis and design phases.
Key Components of a DFD
1. External Entity:
o Represents sources or destinations of data that interact with the
system (e.g., Customers, Suppliers).
o Depicted as rectangles or squares.
2. Process:
o Shows activities or functions that transform incoming data into
outgoing data (e.g., "Process Order").
o Depicted as circles or rounded rectangles.

3. Data Flow:
o Represents the movement of data between entities, processes, and
data stores.
o Depicted as arrows.

4. Data Store:
o Indicates where data is stored within the system (e.g., Databases,
Files).
o Depicted as open-ended rectangles.

Levels of DFD
 Context Diagram (Level 0 DFD): Shows the system as a single process
with all its interactions with external entities.
 Level 1 DFD: Breaks down the main process from the context diagram into
sub-processes, showing data flows between them.
 Level 2 DFD: Further decomposes Level 1 processes into more detailed sub-
processes

2. Entity-Relationship Diagram (ERD)


Overview
 An Entity-Relationship Diagram (ERD) is a data modeling technique used
to visually represent the relationships between entities in a database. It
shows the structure of data, including entities, attributes, and their
relationships.
 Purpose:
o To design and visualize the database schema.

o To define how data elements relate to each other within a system.

o Useful during the database design phase of system development.

Key Components of an ERD


1. Entity:
o Represents a real-world object or concept (e.g., Customer, Product,
Order).
o Depicted as rectangles.

2. Attributes:
o Characteristics or properties of entities (e.g., Customer Name, Order
ID).
o Depicted as ovals connected to their respective entities.

3. Relationships:
o Shows how entities are related to each other (e.g., "Customer places
Order").
o Depicted as diamonds or labeled lines connecting entities.

o Types of relationships:

 One-to-One (1:1): Each entity in the relationship will have


exactly one related entity.
 One-to-Many (1): An entity can have multiple related entities
(e.g., One Customer can place many Orders).
 Many-to-Many (M): Entities on both sides of the relationship
can have multiple related entities (e.g., Students enroll in many
Courses).

Strategies of System Design

System Design is the process of defining the architecture, components, interfaces,


and data for a system to satisfy specified requirements.
It involves converting the system requirements identified during the system analysis
phase into a detailed blueprint for building the system.
This blueprint serves as a guide for developers, ensuring that the system meets
both functional and non-functional requirements.

Objectives of System Design


 To transform system requirements into a complete system architecture.
 To ensure the system is scalable, efficient, and maintainable.
 To reduce risks by thoroughly planning before development.
 To optimize system performance and user satisfaction.

Key Aspects of System Design/Components of System Design

1. Architectural Design:
o Establishes the overall structure of the system, including hardware,
software, network, and database components.
o Defines how different system components interact with each other.

2. Component Design:
o Breaks down the system into smaller, manageable modules or
components.
o Specifies how each module functions and interacts with others.

3. Data Design:
o Involves designing data structures, databases, and data flow.

o Ensures data integrity, security, and efficient access.

4. Interface Design:
o Focuses on creating user interfaces (UI) and system interfaces.

o Ensures ease of use and seamless communication between system


components.
5. System Security and Controls:
o Defines security measures, access controls, and data protection
mechanisms.
o Ensures the system is secure, reliable, and meets compliance
standards.

Let's break down the various strategies of system design:


1. Modern Structured Design
 Description:
o Modern Structured Design is a systematic approach to system design
that focuses on breaking down a system into smaller, manageable
components. It emphasizes a top-down approach where the system is
divided into modules, which are then further decomposed.
 Key Principles:
o Modularity: The system is divided into distinct, independent modules.

o Top-Down Approach: Starts with a high-level overview, followed by


detailed design of each component.
o Structured Programming Techniques: Utilizes flowcharts, data flow
diagrams (DFDs), and structured charts.
 Benefits:
o Makes complex systems easier to understand and maintain.

o Promotes reuse of code and components.

o Reduces redundancy through modular design.

2. Information Engineering (IE)


 Description:
o Information Engineering is a data-centric approach to system design
that focuses on aligning technology and business strategies. It involves
using data models and process models to plan, analyze, and design
information systems.
 Key Principles:
o Data-Driven Design: Emphasizes the importance of data models and
database design.
o Business Alignment: Ensures that system design aligns with
organizational goals.
o Strategic Planning: Uses tools like Entity-Relationship Diagrams
(ERDs) and data flow diagrams to map out the system.
 Benefits:
o Improves data quality and consistency.

o Aligns IT systems with business needs.

o Facilitates strategic decision-making.

3. Prototyping
 Description:
o Prototyping is an iterative system design approach where a working
model (prototype) of the system is built and refined based on user
feedback. It is particularly useful for systems with unclear or evolving
requirements.
 Key Principles:
o Iterative Development: The prototype is developed quickly, shown
to users, and modified based on feedback.
o User Involvement: Active participation from end-users throughout
the design process.
o Refinement: Continuous improvement of the prototype until it meets
user expectations.
 Types of Prototypes:
o Throwaway/Rapid Prototyping: Discarded after use; used to gather
requirements.
o Evolutionary Prototyping: Gradually evolves into the final system.

 Benefits:
o Helps in identifying user requirements early on.

o Reduces the risk of misunderstandings between users and developers.

o Accelerates the development process.

4. Joint Application Development (JAD)


 Description:
o JAD is a collaborative system design strategy that involves key
stakeholders, including users, developers, and business analysts, in
intensive workshops to define system requirements and design.
 Key Principles:
o Collaboration: Encourages joint discussions and brainstorming
sessions.
o Workshops: Facilitated sessions to gather requirements and make
design decisions.
o Documentation: Immediate documentation of requirements and
decisions made during the sessions.
 Benefits:
o Reduces the time required to gather and validate requirements.
o Increases stakeholder buy-in and satisfaction.

o Minimizes the risk of project scope changes.

5. Rapid Application Development (RAD)


 Description:
o RAD is a methodology focused on quickly developing systems using
iterative development and user feedback. It emphasizes speed and
flexibility, often utilizing tools like CASE (Computer-Aided Software
Engineering) tools to accelerate development.
 Key Principles:
o Time-Boxing: Delivering features in fixed, short development cycles.

o User Feedback: Continuous interaction with end-users for validation.

o Component Reuse: Using pre-built components to speed up


development.
 Phases of RAD:
o Requirements Planning: Gathering user requirements.

o User Design: Creating prototypes with user involvement.

o Construction: Developing the system rapidly.

o Cutover: Final system testing and deployment.

 Benefits:
o Speeds up the delivery of the system.

o Enhances flexibility to accommodate changing requirements.

o Reduces development costs by reusing components.

6. Object-Oriented Design (OOD)


 Description:
o Object-Oriented Design focuses on designing systems using objects,
which are instances of classes that encapsulate both data and
behavior. It promotes reusability, modularity, and scalability.
 Key Principles:
o Encapsulation: Bundling data and methods that operate on that data
within a single unit (class).
o Inheritance: Allowing new classes to inherit properties and methods
from existing ones.
o Polymorphism: Enabling a single interface to represent different
underlying data types.
o Abstraction: Simplifying complex systems by focusing on essential
qualities.
 Benefits:
o Promotes code reuse through inheritance and polymorphism.

o Enhances system maintainability and scalability.

o Facilitates the modeling of real-world scenarios.

Summary of System Design Strategies

Strategy Focus Key Benefits

Modern Structured Modularity, top-down Improves system maintainability and


Design approach reuse

Information Data-driven, Enhances data quality and strategic


Engineering (IE) business alignment alignment

Iterative user Reduces risk of requirements


Prototyping
feedback misunderstandings

Joint Application Collaborative Speeds up requirements gathering and


Development workshops increases stakeholder buy-in

Rapid Application Fast, iterative Accelerates delivery and adapts to


Development development changing requirements

Object-Oriented Objects, classes, Improves reusability, scalability, and


Design encapsulation system modeling

Each strategy has its strengths and is suitable for different types of projects,
depending on factors like project size, complexity, time constraints, and user
involvement.

Input Design and Output Design

Output Design
Introduction:
Outputs in an information system are crucial as they present information to system
users and serve as the justification for the system.
During systems analysis, output needs and requirements are defined, but the actual
design of these outputs occurs in this section i.e. output design.
There are two primary types of computer outputs: external outputs and internal
outputs.
1. External Outputs:
External outputs are those that leave the system to trigger actions or provide
confirmation to their recipients.
They are often preprinted forms designed by forms manufacturers for use on
computer printers.
Examples of external outputs include invoices, paychecks, course schedules, airline
tickets,
boarding passes, travel itineraries, telephone bills, and purchase orders.
Some external outputs are designed as turnaround documents, which eventually
reenter the system as inputs. For instance, an invoice may have a detachable top
portion that is returned with the customer payment.

2. Internal Outputs:
Internal outputs, on the other hand, remain within the information system to
support system users and managers.
These outputs cater to management reporting and decision support requirements.

System User Issues for Output Design:


Several principles are important to consider when designing outputs for information
systems:
a. Readability:
Computer outputs should be simple to read and interpret. To enhance readability,
the following guidelines are suggested:
 Each report or output screen should have a title.
 Reports and screens should include section headings to segment large
amounts of information.
 Columns in reports should have clear column headings.
 Legends should be used to interpret abbreviated section and column
headings.
 All fields on a report should be formally defined using legends.
 Omit computer jargon and error messages from outputs to avoid clutter and
confusion.
b. Timing:
The timing of computer outputs is crucial as recipients must receive the information
while it is still relevant to transactions or decisions. This can influence the design
and implementation of the outputs.

c. Distribution:
Computer outputs must be distributed to all relevant system users in sufficient
quantities to assist them effectively.

d. Acceptability:
Outputs should be acceptable to the system users who receive them. Understanding
how recipients plan to use the output is essential to ensure its acceptability.
New Topics Related to Advanced IT:
Now, let's explore some additional topics related to advanced IT that are relevant to
output design:
1. Interactive Outputs:
In modern information systems, outputs are often interactive, allowing users to
customize and manipulate data to suit their specific needs. These interactive
outputs enable users to drill down into detailed information, apply filters, and
perform real-time data analysis.
2. Mobile Responsiveness:
With the widespread use of mobile devices, output design must consider mobile
responsiveness. Outputs should be optimized for different screen sizes and
orientations to ensure a seamless user experience across various devices.
3. Data Visualization:
Advanced IT has introduced sophisticated data visualization techniques. Output
design should leverage these visualizations, such as charts, graphs, and
infographics, to present complex data in a more understandable and actionable
format.
4. Personalization and User Profiles:
Modern systems can offer personalized outputs based on user profiles and
preferences. Output design should consider tailoring information to individual users,
providing them with relevant and targeted insights.
5. Integration with AI and ML:
Integration of artificial intelligence (AI) and machine learning (ML) technologies can
enhance output design. AI algorithms can analyze user interactions and behavior to
suggest more relevant outputs or automate the generation of specific reports.
6. Accessibility:
Designing outputs that adhere to accessibility standards is crucial to ensure that
users with disabilities can access and comprehend the information provided by the
system.
7. Security and Privacy:
As outputs may contain sensitive data, advanced IT output design should
incorporate robust security measures to safeguard information and ensure data
privacy compliance.
Conclusion:
Effective output design is vital for information systems, as outputs are the visible
component that justifies the system's existence. By following principles of
readability, timing, distribution, and acceptability, and incorporating advanced IT
concepts, output design can provide valuable insights to system users and support
decision-making processes.

(Remaining _ Input Design)

You might also like