Introduction to System Analysis and Design
Systems are created to solve problems, employing an organized approach.
Objectives
- Define a system.
- Explain the phases of the system development life cycle (SDLC).
- Enumerate the components of system analysis.
- Explain the components of system designing.
Defining a System
A system is a collection of components working together to achieve objectives.
- Basic system components:
- Components are interconnected and interdependent.
- Examples:
- Human body (natural system)
- Political system
- Economic system
- Educational system
- A well-designed system includes 'control' for feedback to achieve desired objectives.
System Life Cycle
An organizational process for developing and maintaining systems. It provides a list of processes and sub-processes for system development. SDLC is a combination of activities, also referred to as software development life cycle.
- Phases of System Development Life Cycle:
- Preliminary study
- Feasibility study
- Detailed system study
- System analysis
- System design
- Coding
- Testing
- Implementation
- Maintenance
Phases of System Development Life Cycle
Preliminary System Study
- Initial stage, brief investigation of the system.
- Involves preparing a 'System Proposal' including:
- Problem Definition
- Objectives of the Study
- Terms of reference for Study
- Constraints
- Expected benefits of the new system
- Prepared by System Analyst, presented to user management.
- Management may:
- Accept the proposal
- Reject the proposal
- Request modifications
- Steps:
- Problem identification and project initiation
- Background analysis
- Inference or findings (system proposal)
Feasibility Study
- Examines the system's feasibility regarding:
- Workability
- Meeting user's requirements
- Effective use of resources
- Cost-effectiveness.
- Categorized as:
- Technical feasibility
- Operational feasibility
- Economic feasibility
- Schedule feasibility
- Goal: To achieve the scope, not necessarily solve the problem.
- Estimates cost and benefits for Return on Investment (ROI).
- Defines resources needed for detailed investigation.
- Result: Feasibility report submitted to management.
Detailed System Study
- Detailed investigation based on the proposed system's objectives.
- Involves studying operations and their relationships within and outside the system.
- Data collection on available files, decision points, and transactions.
- Tools: Interviews, on-site observation, and questionnaires.
- Steps to define the new system:
- Considering problems and new requirements
- Workout the pros and cons including new areas of the system
- Documentation: Data flow diagrams (DFDs), data dictionary, logical data structures, and miniature specification.
- Main points:
- Specification of the new system's goals based on user requirements.
- Functional hierarchy showing functions and their relationships.
- Functional network highlighting common functions.
- List of attributes of the entities (data items).
System Analysis
- Process of collecting data, understanding processes, identifying problems, and recommending improvements.
- Involves studying business processes, gathering operational data, understanding information flow, finding bottlenecks, and evolving solutions.
- Includes subdividing complex processes, identifying data stores and manual processes.
- Objectives:
- What is being done
- How is it being done
- Who is doing it
- When is he doing it
- Why is it being done
- How can it be improved
- Thinking process, requires creative skills.
- Aims to create an efficient system that meets current needs and allows for future growth.
- Result: A logical system design.
- Iterative process until an acceptable solution emerges.
System Design
- Based on user requirements and detailed system analysis.
- Converts logical system design into physical system design.
- Stages:
- Preliminary or General Design
- Specifies features of the new system.
- Estimates implementation costs and benefits.
- Structured or Detailed Design
- Computer-oriented work begins.
- Detailed design of inputs, outputs, databases, forms, coding schemes, and processing specifications.
- Selection of programming language, hardware, and software platform.
- Tools and techniques:
- Flowchart
- Data flow diagram (DFD)
- Data dictionary
- Structured English
- Decision table
- Decision tree
- System design involves:
- Defining required system output
- Determining data requirements
- Determining medium and format of files and databases
- Devising processing methods and software use
- Determining data capture and input methods
- Designing Input forms
- Designing Codification Schemes
- Detailed manual procedures
- Documenting the Design
Coding
- Implementation of system design using a programming language.
- Conversion of program specifications into computer instructions.
- Programs coordinate data movements and control the entire process.
- Programs should be modular for fast development, maintenance, and future changes.
Testing
- Test run to remove bugs before implementation.
- Develop a test plan and run on test data; output should match expected results.
- System testing may be part of implementation.
- Test runs:
- Program test
- Individual testing of programs with prepared test data.
- Debugging (error corrections).
- System test
- Testing the complete system with actual data.
- Analyzing results and fixing errors.
- User testing with their own data to ensure requirements are met.
Implementation
- Putting the developed system into practice after user acceptance.
- Steps:
- Acquisition and Installation of Hardware and Software
- Conversion
- User Training
- Documentation
- Hardware and software must be operational.
- Conversion: Converting data from the old system to the new format and setting up the database with security and recovery procedures.
- User training: Covering execution, data entry, processing, and report generation.
- Changeover strategies:
- Direct Changeover: Complete replacement of the old system (risky).
- Parallel run: Running both computerized and manual systems simultaneously (less risky, more expensive).
- Manual results are compared with the results of the computerized system.
- The operational work is doubled.
- Failure of the computerized system at the early stage does not affect the working of the organization, because the manual system continues to work, as it used to do.
- Pilot run: Running the new system with data from previous periods (less expensive and risky).
- Documentation:
- User or Operator Documentation: How to use the system, including error messages.
- System Documentation: System design, programs, coding, flow, data dictionary, and process description.
Maintenance
- Necessary to eliminate errors and tune the system.
- Review the system to check:
- knowing the full capabilities of the system
- knowing the required changes or the additional requirements
- studying the performance.
- Major changes may require a new project through all life cycle phases.
Key to Intext Questions
- (A) True (b) False (c) True (d) False (e) False
- (a) first (b) detailed (c) logical data structure (d) structure design (e) pilot (f) manual