This section provides a foundational overview of System Analysis and Design (SAD), emphasizing its role in software development.
SAD involves creating systems to solve problems.
It includes software development activities aimed at enhancing organizational efficiency.
System Analysis is the process of:
Collecting factual data.
Understanding business processes and information flow.
Identifying problems and proposing improvements.
Achieve organizational goals by:
Understanding the current system's weaknesses.
Gathering operational data to pinpoint bottlenecks.
Evolving solutions for better system functionality.
Key questions to address in systems analysis include:
What is being done?
How is it being done?
Who is involved?
When are tasks performed?
Why are tasks performed?
How can processes be improved?
The objective is to create an efficient system that meets current and future needs.
System Design is based on user requirements and comprehensive analysis of existing systems.
A system is defined as an interrelated set of business procedures working together for a purpose. Key characteristics include:
Components: Individual parts of a system.
Interrelated Components: Connections among components.
Boundary: Distinction between the system and its environment.
Purpose: Intended outcome or function of the system.
Environment: External factors influencing the system.
Interfaces: Points of interaction with other systems.
Constraints: Limitations affecting system performance.
Input/Output: Information entering and leaving the system.
Breaks down a system into manageable components, allowing for focused analysis and design.
Aids in understanding and managing complex systems by concentrating on individual subsystems.
Involves dividing a system into modules, simplifying the design.
Coupling: Degree of dependence between subsystems.
Cohesion: Focused functionality within a subsystem.
Analysts must:
Collaborate with a variety of stakeholders.
Possess technical computer skills.
Primary roles include:
Consultant
Supporting expert
Agent of change
Must be:
A problem solver
Effective communicator
Ethical
Self-disciplined and motivated
Projects are initiated for:
Solving identifiable problems.
Exploring improvement opportunities.
Key criteria include:
Management support
Timeliness for resource commitment
Alignment with business goals
Practical feasibility
Relative importance over other projects
Focuses on:
Separating work from location.
Redesigning workflows to increase flexibility.
Classic Management Pyramid: Traditional structure with three levels of management.
Flattened Management Pyramid: Reduces management layers, promoting a more agile structure.
Example in insurance underwriting illustrates streamlining through technology, reducing clerical tasks and increasing efficiency.
Input, interfaces, interrelationships, output, components, boundary, and environment.
Outputs from one department can serve as inputs for others, illustrating interrelationships among subsystems.
Modern systems allow interaction between hardware and software from various vendors to improve efficiency.
Identifying problems, opportunities, and objectives.
Determining human information requirements.
Analyzing system needs.
Designing the recommended system.
Developing and documenting software.
Testing and maintaining the system.
Implementing and evaluating the system.
Involves interviewing management and summarizing findings.
Produces a feasibility report for decision-making.
Engages in various methods like interviews and observation to understand user needs.
Creation of diagrams and system proposals to guide recommendations.
Includes designing user interfaces, controls, databases, and backup procedures.
Collaboration between system analysts and programmers to ensure effective documentation and coding.
Focuses on resolving issues and updating documentation as necessary.
Training users and planning system transitions.
Significant time (up to 60%) is dedicated to maintaining systems, highlighting its importance.
Transaction Processing Systems (TPS): Automates data handling for business activities.
Management Information Systems (MIS): Converts raw data into meaningful information.
Decision Support Systems (DSS): Assists decision-makers with data and interactive environments.
Encompasses the interaction of business processes and technology infrastructure across various levels.
Examples include e-commerce, ERP, mobile commerce, and the use of open-source software.
Sequential phase completion with limitations on backtracking and flexibility.
Issues with rigid requirements and limited user involvement.
Methodologies include:
Prototyping
CASE tools
Joint Application Design (JAD)
Rapid Application Development (RAD)
Agile Methodologies (e.g., eXtreme Programming)
Centers around objects encapsulating attributes and behaviors along with the concept of inheritance.
Employs an iterative and incremental development approach.