System Analysis and Design Notes

System Analysis and Design (SAD)

  • Systems are created to solve problems.
  • SAD mainly deals with software development activities.

System Analysis

  • Process of collecting data, understanding processes, identifying problems, and recommending improvements.
  • Involves studying business processes, gathering data, understanding information flow, finding bottlenecks, and evolving solutions.

Objectives of Systems Analysis

  • Find answers for:
    • What is being done?
    • How is it being done?
    • Who is doing it?
    • When is it being done?
    • Why is it being done?
    • How can it be improved?
  • Aims for a new efficient system that meets current needs and has future growth potential.

System Design

  • Based on user requirements and analysis of the existing system.

System Definition

  • Interrelated set of business procedures within a business unit working together for a purpose.
  • Has nine characteristics and exists within an environment separated by a boundary.

Characteristics of a System

  • Components, Interrelated Components, Boundary, Purpose, Environment, Interfaces, Constraints, Input, Output

System Concepts

Decomposition

  • Breaking down a system into smaller components.
  • Allows analysts to:
    • Break a system into small, manageable subsystems.
    • Focus on one area at a time.
    • Concentrate on components for specific users.
    • Build different components independently.

Modularity

  • Dividing a system into modules of uniform size.
  • Simplifies system design.

Coupling

  • Dependency between subsystems.

Cohesion

  • Extent to which a subsystem performs a single function.

Roles of the Systems Analyst

  • Consultant, Supporting expert, Agent of change

Qualities of the Systems Analyst

  • Problem solver, Communicator, Strong ethics, Self-disciplined

Project Initiation

  • Initiated due to:
    • Problems that lend themselves to systems solutions.
    • Opportunities for improvement through upgrading, altering, or installing new systems.

Project Selection Criteria

  • Backed by management, Timed appropriately, Aligns with business goals, Practical, Important enough to be considered.

New Options for Organizational Design

  • Flattening organizations, Separating work from location, Reorganizing workflows, Increasing flexibility, Redefining boundaries.

Flattening Organizations & Information Systems

  • Traditional hierarchical organization vs. flattened organization with fewer management layers.

Redesigned Work Flow

  • Streamlined workflows using imaging systems can significantly reduce processing time.

Basic Concepts for Understanding Systems

  • Input, Interfaces, Interrelationship, Output, Components, Boundary, Environment

Systems Perspective

  • Outputs from one department serve as inputs for another.

Systems Integration

  • Allows hardware and software from different vendors to work together.
  • Visual programming environment uses client/server model.

Your Role in Systems Development

  • Study problems, determine best approach, help define requirements.

Systems Development Life Cycle (SDLC)

  • Traditional methodology for developing, maintaining, and replacing information systems.

Seven Phases of SDLC

  • Identifying problems, Determining information requirements, Analyzing system needs, Designing the system, Developing software, Testing and maintaining, Implementing and evaluating.

Identifying Problems, Opportunities, and Objectives

  • Activity: Interviewing, summarizing, estimating scope, documenting results.
  • Output: Feasibility report.

Determining Human Information Requirements

  • Activity: Interviewing, sampling data, questionnaires, observation, prototyping.
  • Output: Understanding user workflows and system requirements.

Analyzing System Needs

  • Activity: Creating diagrams, completing data dictionary, analyzing decisions, preparing system proposal.
  • Output: Recommendation on what should be done.

Designing the Recommended System

  • Activity: Design procedures, interface, controls, database, backup procedures.
  • Output: Model of the actual system.

Developing and Documenting Software

  • Activity: Developing software, creating documentation.
  • Output: Computer programs, system documentation.

Testing and Maintaining the System

  • Activity: Testing, system maintenance, documentation.
  • Output: Updated programs, documentation.

Implementing and Evaluating the System

  • Activity: Training users, planning conversion, reviewing system.
  • Output: Trained personnel, installed system.

Systems Maintenance

  • Can consume a significant portion of project time.

Maintenance Reasons

  • Removing errors, enhancing software.
  • Eventually, creating a new system becomes more feasible than continued maintenance.

Types of Information Systems

Transaction Processing Systems (TPS)

  • Automate data handling for business activities.
  • Process orientation.

Management Information Systems (MIS)

  • Converts raw data into meaningful form.
  • Data orientation.

Decision Support Systems (DSS)

  • Helps decision makers with interactive environment.
  • Involves data warehouses and executive information systems.

IS Characteristics and Development Methods

  • TPS: High-volume, data capture focus.
  • MIS: Data aggregation and summarization.
  • DSS: Problem identification and alternative evaluation.

Information Architecture of the Organization

  • Coordination processes at strategic, management, knowledge, and operational levels.

New Technologies

  • E-commerce, Enterprise Resource Planning (ERP), Wireless and handheld devices, Open source software.

Traditional Waterfall SDLC

  • Sequential phases with little backtracking.

Problems with Waterfall Approach

  • Inflexible requirements, limited user involvement, focus on deadlines.

Alternatives to Traditional SDLC

  • Prototyping, CASE tools, Joint Application Design (JAD), Rapid Application Development (RAD), Agile Methodologies, eXtreme Programming.

Prototyping

  • Iterative development with close user collaboration.

Joint Application Design (JAD)

  • Structured process involving users, analysts, and managers to specify requirements.

Rapid Application Development (RAD)

  • Aims to decrease design and implementation time using prototyping, JAD, CASE tools.

Agile Methodologies

  • Adaptive, emphasizes people, self-adaptive processes.

eXtreme Programming

  • Short cycles, automated tests, two-person teams.

Object-Oriented Analysis and Design

  • Based on objects with attributes and behaviors.
  • Inheritance enables subclasses to inherit properties of superclasses.

Rational Unified Process (RUP)

  • Involves an iterative, incremental approach.