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.
- 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.
- 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.
Transaction Processing Systems (TPS)
- Automate data handling for business activities.
- Process orientation.
- 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.
- 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.