PETROLEUM TRANING INSTITUE
PMBS 20 EFFURUN DELTA STATE.
ASSIGNMENT
DEPARTMENT:
COMPUTER SCIENCE AND INFORMATION TECHNOLOGY
COURSE TITLE:
SYSTEM ANALYSIS AND DESIGN
COURSE CODE:
COM 125
LECTURER:
MR. OPARA .C.
GROUP WORK QUESTIONS: SYSTEM ANALYSIS AND DESIGN
1. Defining and Explaining Key Concepts
Define a System
A system can be defined as a set of interrelated components that work together to
achieve a common objective. These components can include people, hardware,
software, data, and processes. Systems take inputs, process them, and produce
outputs, often with feedback mechanisms to regulate their performance. Examples of
systems range from a simple manual filing system to complex enterprise resource
planning (ERP) software.
SYSTEM ANALYSIS AND ITS IMPORTANCE
System analysis is the process of studying an existing system or a proposed system
to identify its goals, objectives, inputs, outputs, processes, and constraints. It involves
a detailed investigation of the current business environment, user needs, and potential
problems to determine what needs to be improved or developed.
IMPORTANCE OF SYSTEM ANALYSIS
Problem Identification: Helps in clearly understanding the root causes of problems
within existing systems, rather than just treating symptoms.
Requirements Gathering: Crucial for accurately eliciting and documenting the needs
and expectations of all stakeholders for a new or improved system.
Feasibility Assessment: Determines whether a proposed system is technically,
economically, operationally, and legally viable.
Risk Mitigation: Identifies potential risks and challenges early in the development
lifecycle, allowing for proactive planning and mitigation strategies.
Foundation for Design: Provides the necessary blueprint and specifications for the
system design phase, ensuring that the designed system meets the identified needs.
Improved Efficiency and Effectiveness: Leads to the development of systems that
are more efficient, effective, and better aligned with organizational goals.
SYSTEM DESIGN AND ITS IMPORTANCE
System design is the process of translating the requirements identified during system
analysis into a detailed blueprint or specification for building the new system. It
involves defining the architecture, components, modules, interfaces, and data for a
system to satisfy specified requirements. This phase focuses on how the system will
achieve its objectives.
IMPORTANCE OF SYSTEM DESIGN
Blueprint for Development: Provides a clear roadmap for developers, ensuring that
all components are built correctly and integrate seamlessly.
Ensures Cohesion and Consistency: Helps in creating a well-structured and
organized system where all parts work harmoniously.
Optimizes Performance: Allows for the consideration of performance, scalability,
security, and reliability early in the development process.
Facilitates Communication: Serves as a common language between analysts,
developers, and users, ensuring everyone understands the proposed solution.
Reduces Errors and Rework: A well-designed system minimizes errors during
implementation and reduces the need for costly rework later.
Enhances Maintainability and Future Expansion: A modular and well-documented
design makes it easier to maintain the system and add new features in the future.
Resource Optimization: Helps in planning and allocating resources (people, time,
budget) effectively for the development phase.
2. Discuss the Different Stages of System Analysis
While the specific terminology may vary slightly depending on the methodology (e.g.,
Waterfall, Agile), the core stages of system analysis generally include:
Preliminary Investigation (Feasibility Study):
Objective: To determine if a new system is needed and if it is feasible to develop.
Activities:
1. Understanding the problem or opportunity.
2. Defining the scope of the project.
3. Conducting a high-level assessment of technical, economic, operational, and
legal feasibility.
4. Developing a preliminary project plan and resource estimate.
5. Output: Feasibility report, go/no-go decision for the project.
REQUIREMENTS GATHERING AND ANALYSIS
Objective: To thoroughly understand and document the needs of the users and the
business.
Activities:
Elicitation Techniques: Interviews, questionnaires, workshops, observation,
document analysis, prototyping.
Modeling: Using tools like data flow diagrams (DFDs), use case diagrams, entity-
relationship diagrams (ERDs) to represent processes and data.
Prioritization: Ranking requirements based on importance and feasibility.
Validation: Confirming with stakeholders that the gathered requirements are accurate
and complete.
Output: Requirements specification document (functional and non-functional
requirements), use cases, process models.
Structured Analysis/Modeling:
Objective: To create detailed logical models of the current system (if one exists) and
the proposed system.
Activities:
1. Developing detailed DFDs to show data flow and processes.
2. Creating ERDs to model the relationships between data entities.
3. Defining data dictionaries (data element definitions).
4. Describing process logic (e.g., using pseudocode, decision tables).
5. Output: Detailed logical system models, data dictionary.
3. Explain the Different Stages of System Analysis and Design (Combined
Perspective)
When looking at System Analysis and Design as a unified process, the stages
flow logically from understanding the problem to creating a detailed plan for the
solution. Here's a combined explanation:
Preliminary Investigation (Feasibility Study):
Focus: Initial assessment of a problem or opportunity to determine if a new system is
warranted and if it's feasible from technical, economic, operational, and legal
standpoints.
Analysis Role: High-level problem definition, scope identification, initial cost/benefit
analysis.
Design Role (Indirect): No direct design, but the feasibility outcome influences the
potential for a design phase.
Requirements Analysis (Detailed Investigation):
Focus: Deep dive into understanding the current system (if applicable), identifying
pain points, and thoroughly eliciting and documenting user and business requirements
for the new system.
Analysis Role: Primary activity of this stage. Involves gathering data, analyzing
workflows, identifying functional (what the system does) and non-functional (how well
the system performs) requirements. This also includes creating logical models (e.g.,
DFDs, ERDs) to represent the system's processes and data independently of specific
technology.
Design Role (Indirect): The output of this stage (detailed requirements) serves as
the direct input for the design phase.
System Design:
Focus: Translating the "what" (requirements) into "how" (a detailed plan for building
the system). This is where the logical models from analysis are transformed into
physical designs.
Analysis Role (Supportive): Analysts work closely with designers to ensure that the
design adheres to the identified requirements and that the design choices address the
analyzed problems. They might clarify ambiguities in requirements for the designers.
Design Role: This is the core of this stage. It involves:
Architectural Design: Defining the overall structure and components of the system.
Interface Design: Designing user interfaces (UI) and external system interfaces.
Database Design: Designing the database schema, tables, relationships, and data
storage mechanisms.
Process/Logic Design: Detailing the algorithms and logic for specific system
processes and modules.
Security Design: Incorporating security measures into the system.
Output: System design document, architectural diagrams, UI mockups, database
schemas, pseudocode for modules.
Development/Implementation:
Focus: Building the system based on the design specifications.
Analysis Role (Monitoring/Refinement): Analysts might be involved in clarifying
requirements during development, addressing issues, and potentially refining
requirements based on feedback from developers or early testing.
Design Role (Guidance/Refinement): Designers provide guidance to developers,
ensure adherence to the design, and may make minor design adjustments as issues
arise during coding.
Testing:
Focus: Verifying that the developed system meets the specified requirements and
functions correctly.
Analysis Role: Analysts help in defining test cases based on requirements, participate
in user acceptance testing (UAT), and validate that the system addresses the initial
problems.
Design Role (Validation): Designers check if the implemented system aligns with
their design specifications.
Deployment/Conversion:
Focus: Putting the new system into operation.
Analysis Role: Monitoring the transition, gathering feedback on the new system's
performance and user adoption, and identifying any new issues.
Design Role (Support): Providing technical support during the rollout.
Maintenance:
Focus: Ongoing support, updates, and enhancements to the system after deployment.
Analysis Role: Identifying new requirements for enhancements, analyzing reported
bugs, and assessing the impact of changes.
Design Role: Designing solutions for bugs or new features, ensuring the system's
integrity and performance are maintained.