Module 1-System Analysis Fundamentals-1

INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN

  • This section provides a foundational overview of System Analysis and Design (SAD), emphasizing its role in software development.

Definition of System Analysis and Design

  • SAD involves creating systems to solve problems.

  • It includes software development activities aimed at enhancing organizational efficiency.

System Analysis

Overview

  • System Analysis is the process of:

    • Collecting factual data.

    • Understanding business processes and information flow.

    • Identifying problems and proposing improvements.

Goals

  • Achieve organizational goals by:

    • Understanding the current system's weaknesses.

    • Gathering operational data to pinpoint bottlenecks.

    • Evolving solutions for better system functionality.

Major Objectives of Systems Analysis

  • 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

  • System Design is based on user requirements and comprehensive analysis of existing systems.

Characteristics of a System

  • 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.

Important System Concepts

Decomposition

  • 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.

Modularity

  • Involves dividing a system into modules, simplifying the design.

Coupling and Cohesion

  • Coupling: Degree of dependence between subsystems.

  • Cohesion: Focused functionality within a subsystem.

Roles of the Systems Analyst

  • Analysts must:

    • Collaborate with a variety of stakeholders.

    • Possess technical computer skills.

  • Primary roles include:

    • Consultant

    • Supporting expert

    • Agent of change

Qualities of the Systems Analyst

  • Must be:

    • A problem solver

    • Effective communicator

    • Ethical

    • Self-disciplined and motivated

The Systems Development Environment

  • Projects are initiated for:

    • Solving identifiable problems.

    • Exploring improvement opportunities.

Project Selection Criteria

  • Key criteria include:

    • Management support

    • Timeliness for resource commitment

    • Alignment with business goals

    • Practical feasibility

    • Relative importance over other projects

Organizational Structures

Flattening Organizations

  • Focuses on:

    • Separating work from location.

    • Redesigning workflows to increase flexibility.

Management Levels

  • Classic Management Pyramid: Traditional structure with three levels of management.

  • Flattened Management Pyramid: Reduces management layers, promoting a more agile structure.

Redesigned Workflows

  • Example in insurance underwriting illustrates streamlining through technology, reducing clerical tasks and increasing efficiency.

Basic Concepts for Understanding Systems

Key Elements

  • Input, interfaces, interrelationships, output, components, boundary, and environment.

System Outputs

  • Outputs from one department can serve as inputs for others, illustrating interrelationships among subsystems.

System Integration

  • Modern systems allow interaction between hardware and software from various vendors to improve efficiency.

Systems Development Life Cycle (SDLC)

Phases of SDLC

  1. Identifying problems, opportunities, and objectives.

  2. Determining human information requirements.

  3. Analyzing system needs.

  4. Designing the recommended system.

  5. Developing and documenting software.

  6. Testing and maintaining the system.

  7. Implementing and evaluating the system.

Identifying Problems and Objectives

Activities

  • Involves interviewing management and summarizing findings.

  • Produces a feasibility report for decision-making.

Determining Human Information Requirements

Activities

  • Engages in various methods like interviews and observation to understand user needs.

Analyzing System Needs

Activities

  • Creation of diagrams and system proposals to guide recommendations.

Designing the Recommended System

Activities

  • Includes designing user interfaces, controls, databases, and backup procedures.

Developing and Documenting Software

Activities

  • Collaboration between system analysts and programmers to ensure effective documentation and coding.

Testing and Maintaining the System

Activities

  • Focuses on resolving issues and updating documentation as necessary.

Implementing and Evaluating the System

Activities

  • Training users and planning system transitions.

Maintenance of Systems

  • Significant time (up to 60%) is dedicated to maintaining systems, highlighting its importance.

Types of Information Systems

Categories

  1. Transaction Processing Systems (TPS): Automates data handling for business activities.

  2. Management Information Systems (MIS): Converts raw data into meaningful information.

  3. Decision Support Systems (DSS): Assists decision-makers with data and interactive environments.

Information Architecture of the Organization

  • Encompasses the interaction of business processes and technology infrastructure across various levels.

New Technologies and Trends

  • Examples include e-commerce, ERP, mobile commerce, and the use of open-source software.

Traditional Waterfall SDLC

Description

  • Sequential phase completion with limitations on backtracking and flexibility.

Problems with Waterfall Approach

  • Issues with rigid requirements and limited user involvement.

Alternatives to Waterfall SDLC

  • Methodologies include:

    • Prototyping

    • CASE tools

    • Joint Application Design (JAD)

    • Rapid Application Development (RAD)

    • Agile Methodologies (e.g., eXtreme Programming)

Object-Oriented Analysis and Design

  • Centers around objects encapsulating attributes and behaviors along with the concept of inheritance.

Rational Unified Process (RUP)

  • Employs an iterative and incremental development approach.

robot