Unit 1 Handout
Unit 1 Handout
System Analysis and Design (SAD): This is a critical process in the development and
management of information systems. It focuses on understanding and defining system
requirements, evaluating current performance, and designing solutions to meet organizational
goals. The process involves:
SAD ensures that systems are aligned with organizational objectives, operate effectively, and
adapt to evolving user and technological demands. It combines analytical thinking, problem-
solving, and collaboration to deliver solutions that enhance productivity and decision-making.
SDLC (Software Development Life Cycle) is a systematic process used for planning, creating,
testing, and deploying software systems. It ensures that the final product meets user requirements
and is delivered efficiently and effectively. The key stages of SDLC include:
In conclusion, System Analysis and Design is vital for creating systems that are efficient, cost-
effective, adaptable, and aligned with organizational objectives while ensuring high-quality
outcomes and user satisfaction.
Roles and Responsibilities of System Analysts
A System Analyst plays a crucial role in bridging the gap between business needs and
technological solutions. They analyze business processes, identify system requirements, and
design efficient solutions to enhance organizational performance.
Therefore, system analysts are pivotal in ensuring that technology solutions align with
organizational goals, operate effectively, and deliver value to users. Their role requires a blend of
technical expertise, business acumen, and communication skills.
Understanding user requirements is a critical step in system development, as it ensures that the
system aligns with the needs and expectations of its users. This process involves gathering,
analyzing, and documenting the needs and preferences of stakeholders to create a system that is
functional, efficient, and user-friendly.
Gathering and Documenting Requirements
1. Improved User Satisfaction: It leads to systems that address user needs, enhancing
usability and acceptance.
2. Early requirement identification and clear guidelines minimize costs, reduce rework, and
shorten development time.
3. Foundation for Design and Development: It serves as the basis for system design,
architecture, and testing.
4. Ensuring alignment with organizational and user goals reduces the risk of delivering
ineffective solutions.
1. Identify Stakeholders: Determine key individuals or groups who will use or be affected
by the system (e.g., end-users, managers, IT teams).
2. Use Requirement Elicitation Techniques: Gather information from users and
stakeholders using techniques such as:
o Interviews: Conduct structured or semi-structured discussions with stakeholders
to understand their needs.
o Workshops: Host collaborative sessions to gather input and reach consensus.
o Surveys/Questionnaires: Collect feedback from a large audience efficiently.
o Observation: Study current workflows and user interactions with existing
systems.
o Document Analysis: Review existing process manuals, reports, and system
documentation for insights.
3. Categorize Requirements:
o Functional Requirements: Features the system must provide (e.g., specific
actions or tasks).
o Non-Functional Requirements: Constraints or quality attributes (e.g.,
performance, security, scalability).
o Business Requirements: High-level goals of the organization (e.g., increasing
efficiency).
o User Requirements: Specific needs and expectations of end-users (e.g., ease of
use).
In conclusion, gathering and documenting requirements is essential for creating systems that are
user-centric, efficient, and aligned with organizational objectives. By following a structured
approach, development teams can ensure project success while minimizing risks and
inefficiencies.
Techniques for Requirement Elicitation
Therefore, requirement elicitation is critical for understanding user needs and delivering systems
that meet expectations effectively. By employing appropriate techniques and practices,
organizations can ensure a solid foundation for successful system development.
Analyzing and prioritizing requirements is an essential step in the system development process.
It involves evaluating, categorizing, and ranking requirements to ensure that the most critical
needs are addressed effectively and within the project constraints.
Importance of Analyzing and Prioritizing Requirements
1. Categorization
o Group requirements into types:
Functional Requirements: Specific features or capabilities.
Non-Functional Requirements: Performance, security, usability
constraints.
Business Requirements: High-level objectives and goals.
User Requirements: Needs and expectations of end-users.
2. Validation
o Ensure requirements are:
Clear: That is to say unambiguous and easily understood.
Feasible: Technically and operationally achievable.
Consistent: Compatible with other requirements.
Complete: Addresses all stakeholder needs.
3. Conflict Resolution
o Identify and address conflicts between competing requirements.
o Negotiate with stakeholders to reach consensus.
4. Dependency Analysis
o Determine relationships between requirements to identify dependencies.
o Assess how changes to one requirement may impact others.
Therefore, analyzing and prioritizing requirements is essential for delivering systems that meet
user needs, stay within constraints, and provide maximum business value. By using structured
techniques and fostering stakeholder collaboration, teams can ensure effective decision-making
throughout the project lifecycle.
References:
Systems Analysis and Design Methods" by Jeffrey L. Whitten, Lonnie D. Bentley, and
Kevin C. Dittman (2018, McGraw-Hill Education)
Object-Oriented Systems Analysis and Design Using UML" by Simon Bennett, Steve
McRobb, and Ray Farmer (2014, McGraw-Hill Education)