Download Computer science notes and more Study notes Computer science in PDF only on Docsity!
Form 3C6 Computer Science Notes. System Analysis and Design is the process of studying an existing system and creating a new or improved one.
- System Analysis means carefully examining how the current system works, identifying problems, and finding out what needs to be improved.
- System Design means planning and creating a new system that solves the identified problems and meets user needs. In simple terms: System Analysis finds out what the system should do, while System Design shows how it will do it.
Reasons for SAD
- It is important that new systems being created are fit for purpose.
- Improving an old system which may have developed some faults.
- Need for efficiency and effectiveness in company or organisational performance.
- Putting in a new and already improved system which may be a complete overhaul of the old system simply because it's outdated Five stages for systems analysis & Design
- Problem definition
- Analysis
- Design
- Development
- Implementation
- Maintenance Basically, there are three major components in every system, namely input, processing and output. STAGE 1 Problem Definition The analyst identifies the problem or need for a new system. A feasibility study is done to see if the project is possible in terms of cost, time, and technology. Output: A report recommending whether to continue or not. There are three important aspects in feasibility: technical feasibility – This checks if the available technology, equipment, and technical skills are enough to develop, install, and use the new system.
MAJOR STAGES OF SAD
Stage Description Main Output
- Problem Definition Identify and study the problem Feasibility report 2.Feasibility Study and System Analysis Study the current system and gather requirements SRS document
- System Design Plan how the new system will work Design document
- Development (Coding) Write program code Working programs
- Testing Check and fix errors Tested system
- Implementation Install and train users Operational system
- Maintenance Update and improve the system Maintained system
During the analysis stage, the system analyst studies the existing system in detail to understand how it works and what needs to be improved. The main activities include:
- Fact Finding – Collecting information about the current system through methods such as interviews, questionnaires, observation, and document review.
- Identifying Problems – Finding out weaknesses or challenges in the current system, such as delays, errors, or high costs.
- Identifying User Requirements – Determining what users need or expect from the new system (for example, faster processing or easier access to information).
- Analysing Data Flow – Studying how data moves through the system using tools like Data Flow Diagrams (DFDs). A Data Flow Diagram (DFD) shows how data moves through a system. It uses symbols to represent: Processes (circles) – actions or activities done on data. Data Stores (open rectangles) – where data is kept. External Entities (squares) – people or systems that send or receive data. Data Flows (arrows) – the movement of data between entities, processes, and stores. Purpose: To help understand and communicate how the system works
- Evaluating Alternative Solutions – Considering different ways to solve the problems and deciding which one is most suitable. 6. Preparing the System Requirements Specification (SRS) – Writing a detailed report that describes what the new system should do. a. Alternative Solutions After identifying problems, the analyst suggests different possible ways (solutions) to solve them. Each solution is compared in terms of cost, time, efficiency, and resources , and the best one is chosen. Example:
- Solution 1: Use a database software.
- Solution 2: Develop a web-based system.
- Solution 3: Keep using paper files but organize them better. b. Activity Diagram An Activity Diagram shows the flow of activities or actions in a system, from the beginning to the end. It is often used to show how users interact with the system and how tasks are performed step by step. Example: An activity diagram can show how a student logs in, views marks, and logs out of a school system. STAGE 3: Systems Design After completing system analysis, the next step is System Design. This stage focuses on how the new system will work and how it will meet user requirements. The aim is to create a clear plan that programmers can use to develop the system.
Activities involved in the Design Stage
- Designing Inputs o This involves identifying what data must be entered into the system and how it will be captured. o Input forms or screens are designed to make data entry easy and error-free. Example: Designing a student registration form.
- Designing Outputs o This is deciding what information the system should produce and how it will be displayed or printed. Example: Designing a report card or a receipt.
- Designing the User Interface o The user interface (UI) is the part of the system that users interact with. o It includes menus, buttons, colors, icons, and layout of screens. o The goal is to make the system simple, attractive, and easy to use.
- Database or File Design o This involves deciding how data will be stored, organized, and linked. o Data tables, fields, and relationships are created to ensure accurate and efficient storage. Example: Designing a “Students” table with fields such as Name, ID, Class, and Marks.
- System Flowcharts o A System Flowchart shows the overall flow of data and operations in the system. o It uses standard symbols to represent processes, input/output, and data storage. o It helps programmers understand the logic of the system before implementation.
- Algorithm Design o An algorithm is a step-by-step method for solving a problem or performing a task. o During this stage, algorithms are written for each process the system will carry out. Example: An algorithm to calculate a student’s average marks. Design Activity Purpose Input Design To plan how data is entered into the system Output Design To decide how information is displayed or printed User Interface Design To make the system easy and friendly to use Database/File Design To organize data for efficient storage and retrieval System Flowchart To show the overall structure and data flow Algorithm Design To outline logical steps for solving problems 1. Design File Structures and Tables This involves planning how data will be stored and organized in the computer system.
- A file structure shows how data files are arranged and accessed.
- A table represents data in rows and columns, often used in databases. Key Points:
- Each table should have fields (columns) such as Name, ID, Date, etc.
- Each field should have a data type (e.g. text, number, date).
- Relationships between tables (like Student and Marks tables) should be well defined. Example
Purpose: To help understand and communicate how different parts of the system work together. b. Pseudocode Pseudocode is a simplified, English-like way of writing an algorithm before writing actual program code. It helps in planning logic clearly. Example Purpose: To show step-by-step logic of the program without worrying about programming syntax. Objective Description Example Design File Structures and Tables Plan how data is stored and related Student table with Name, ID, Marks Construct System Flowcharts Show system operations and data movement using symbols Diagram of data processing Write Pseudocode Describe algorithms in simple English IF mark ≥ 50 THEN “Pass” What is Programme syntax It refers to the set of rules that define how a computer program must be written in a particular programming language.
Just like grammar rules in English, syntax rules tell the computer how statements should be arranged so that they can be understood and executed correctly. Example: In Python, the correct syntax for printing is: print("Hello, world!") If you write it wrongly, like: Print "Hello, world!" the computer will give a syntax error because the statement breaks the rules of the Python language. Example of a syntax error: Missing brackets, incorrect spelling of commands, or forgetting quotation marks. STAGE 4: Development After the system has been designed, the next step is to develop (build) and test it. This stage turns the design into a working system and checks whether it works correctly before it is used by users.
1. Coding Coding is the process of writing computer programs using a programming language such as Python, Java, C++, or Visual Basic. Activities involved in coding
- Translating designs into code – Programmers use algorithms, pseudocode, and system flowcharts as guides to write actual program code.
- Modular programming – The system is divided into smaller parts (modules) to make development and debugging easier.
- Documentation – Programmers write comments and explanations within the code to help others understand it.
- Compilation – The program is converted from source code into machine-readable code so that it can run on a computer.
- Debugging – Errors (bugs) found during coding are identified and corrected. Purpose: To produce a working system that performs all required functions. STAGE 5: Testing Testing is the process of checking the system to make sure it works correctly and meets all user requirements. Activities involved in testing
- Preparing test data – Creating sets of input data that will be used to test the system, including both valid and invalid data.