Chapter 1: Introduction to Systems Analysis and Design PDF
Document Details
Uploaded by Deleted User
M. Alper TUNGA
Tags
Related
Summary
Chapter 1 introduces systems analysis and design, outlining software engineering concepts, including the software development life cycle (SDLC), and various facets for designing systems. It further highlights stakeholders in the system development process. This document provides an overview of the subject matter.
Full Transcript
CHAPTER#1: Introduction To Systems Analysis And Design Prepared by Prof. Dr. M. Alper TUNGA Sensitivity: Internal / Non-Personal Data Agenda What is engineering? Who is an engineer? What is software engineering?...
CHAPTER#1: Introduction To Systems Analysis And Design Prepared by Prof. Dr. M. Alper TUNGA Sensitivity: Internal / Non-Personal Data Agenda What is engineering? Who is an engineer? What is software engineering? Who is a software engineer? Basics of systems analysis and design (SAD) Stakeholders of systems analysis and design Software development life cycle (SDLC) 2 Sensitivity: Internal / Non-Personal Data What is Engineering? 3 Sensitivity: Internal / Non-Personal Data What is Engineering? Engineering is the application of science and math to solve real life problems. Engineering is the use of scientific principles to analyze, design and build machines, structures, and other items, including bridges, tunnels, roads, vehicles, and buildings. 4 Sensitivity: Internal / Non-Personal Data Who is an Engineer? 5 Sensitivity: Internal / Non-Personal Data Who is an Engineer? Engineer is a professional who invent, analyze, design, build and test machines, complex systems, structures and materials to fulfill functional objectives and requirements while considering the limitations imposed by practicality, regulation, safety and cost. (Wikipedia) An engineer figures out how things work and finds practical uses for scientific discoveries. 6 Sensitivity: Internal / Non-Personal Data What is Software Engineering (SE)? 7 Sensitivity: Internal / Non-Personal Data What is Software Engineering (SE)? Software Engineering is the systematic application of engineering approaches to the development of software. Software Engineering is the systematic application of scientific and technological knowledge, methods, and experience to the analysis, design, implementation, testing, deployment and documentation of software. Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. (IEEE) 8 Sensitivity: Internal / Non-Personal Data Who is a Software Engineer? 9 Sensitivity: Internal / Non-Personal Data Who is a Software Engineer? A software engineer is a person who applies the principles of software engineering to the analysis, design, development, testing, deployment, maintenance, and evaluation of computer software. 10 Sensitivity: Internal / Non-Personal Data Main Components of SE People project stakeholders Product the software product plus associated documents 11 Sensitivity: Internal / Non-Personal Data Main Components of SE Project the activities carried out to produce the product Process framework within which the team carries out the activities necessary to build the project 12 Sensitivity: Internal / Non-Personal Data What is System? 13 Sensitivity: Internal / Non-Personal Data What is System? A system is a collection of elements or components that are organized for a common purpose. A system is a group of interacting or interrelated entities that form a unified whole. 14 Sensitivity: Internal / Non-Personal Data What is Information System? 15 Sensitivity: Internal / Non-Personal Data What is Information System? An information system (IS) is a formal, organizational system designed to collect, process, store, and distribute information. A computer information system is a system composed of people and computers that processes or interprets information. 16 Sensitivity: Internal / Non-Personal Data Information System Information systems have five key components: Hardware is the physical layer of the information system. Software is the set of instructions that control hardware. Data is the raw material that an information system transforms into useful information. Process is a business function that users perform to achieve specific results. People are the inside/outside users who interact with an IS. 17 Sensitivity: Internal / Non-Personal Data Systems Analysis and Design Systems Analysis and Design (SAD) is a field in which analysts repetitively learn new approaches and different techniques for building the system more effectively and efficiently. The primary objective of systems analysis and design is to improve organizational systems. Systems Analysis and Design is a step-by-step process for developing high-quality information systems. 18 Sensitivity: Internal / Non-Personal Data Systems Analysis and Design The purpose of systems analysis and design is to understand how an information system can support business needs, to analyze the system, to design the system, to deliver the system to users. 19 Sensitivity: Internal / Non-Personal Data Systems Analysis and Design Systems analysis is a process of collecting and interpreting facts, identifying the problems, and decomposition of a system into its components. Analysis specifies what the system should do. 20 Sensitivity: Internal / Non-Personal Data Systems Analysis and Design Systems design is a process of planning a new business system or replacing an existing system by defining its components or modules to satisfy the specific requirements. Design focuses on how to accomplish the objective of the system. 21 Sensitivity: Internal / Non-Personal Data Four P’s of Systems Analysis and Design People Project stakeholders ❖ A stakeholder is any person who has an interest in an existing or proposed information system. Most important resource in a software development project. Project success highly depends on their efforts. 22 Sensitivity: Internal / Non-Personal Data Four P’s of Systems Analysis and Design Product Software product with associated documents ❖ Project Documents ❖ Code ❖ Test documents ❖ Customer documents 23 Sensitivity: Internal / Non-Personal Data Four P’s of Systems Analysis and Design Project a sequence of unique, complex, and connected activities having one goal that must be completed by specific time, within budget, and according to specification. ❖ Determining what's required ❖ Determining how the software should be built to meet the requirements ❖ Implementing the software ❖ Testing the software ❖ Maintaining the software once delivered to customers 24 Sensitivity: Internal / Non-Personal Data Four P’s of Systems Analysis and Design Process Framework within which the team carries out the activities necessary to build the project, expresses the interrelationship among the phases by defining their order and frequency, defines the deliverables of each activity and the project. Specific software process implementations are called software process models. ❖ Waterfall process model ❖ Agile process model 25 Sensitivity: Internal / Non-Personal Data Measures of Project Success The resulting information system must meet the user needs. The resulting information system must be delivered on time. The resulting information system must be delivered within budget. Goals of Software Engineering Project Success 26 Sensitivity: Internal / Non-Personal Data Stakeholders A stakeholder is any person who has an interest in an existing or proposed information system. System owner Project manager Systems analyst System designer System builder Software tester System user 27 Sensitivity: Internal / Non-Personal Data Stakeholders – System Owner System owner is usually responsible for funding the project of developing, operating, and maintaining the information system. Pays for the system to be built and operated. Sets the vision and priorities for the system. Concerns with the big picture. ❖ Interested in information that adds new business knowledge. ❖ Interested in business functions that support the business. Helps managers make decisions. 28 Sensitivity: Internal / Non-Personal Data Stakeholders – Project Manager Project manager is an experienced professional who accepts responsibility for planning, monitoring, and controlling projects with respect to schedule, budget, deliverables, customer satisfaction, technical standards, and system quality. 29 Sensitivity: Internal / Non-Personal Data Stakeholders – Systems Analyst Systems analyst is a specialist who studies the problems, opportunities, directives and needs of an organization to determine how people, data, processes, and information technology can best accomplish improvements for the business. Problems are either real or anticipated cases that require corrective action. Opportunities are advantageous circumstances to improve a situation despite the absence of complaints. Directives are legal acts to change a situation regardless of whether anyone has complained about the current situation. 30 Sensitivity: Internal / Non-Personal Data Stakeholders – Systems Analyst A systems analyst must understand the company’s organizational model in order to recognize who is responsible for specific processes and decisions and to be aware of what information is required by whom. A systems analyst must know how to use a variety of techniques and tools to plan, design, and implement information systems. A systems analyst works with these tools in a team environment. 31 Sensitivity: Internal / Non-Personal Data Stakeholders – System Designer System designer is a technical specialist who translates business requirements of system users and constraints into technical solution. Designs databases, inputs, outputs, screens, networks, and software that will meet the user requirements. Concerns with which processes to automate and how to automate them. Concerns with the technical design of both the user and the system-to- system communication interfaces. 32 Sensitivity: Internal / Non-Personal Data Stakeholders – System Builder System builder is a technical specialist who constructs information systems and components based on the design specifications generated by the system designers. Uses SQL and DBMS or other data technologies. Concerns with programming logic. Concerns with the construction, installation, and implementation of user and system-to-system interface solutions. 33 Sensitivity: Internal / Non-Personal Data Stakeholders – Software Tester Software tester is an individual that tests software for bugs, errors, defects or any problem that can affect the performance of a computer software or an application. analyzes users stories, use cases, requirements for validity and feasibility executes all levels of testing (unit, integration, regression, system) Design and develop automation scripts when needed Detect and track software defects and inconsistencies 34 Sensitivity: Internal / Non-Personal Data Stakeholders – System User System user is a “customer” who will use or is affected by an information system on a regular basis – capturing, validating, entering, responding to, storing and exchanging data and information. View data as something recorded and stored on computer. Concerns with the inputs and outputs of the information system. Concerns with work that must be performed to provide the appropriate responses to business events. 35 Sensitivity: Internal / Non-Personal Data Software Development Life Cycle Software Development Life Cycle (SDLC) is a process of creating or altering information systems, and the models and methodologies that people use to develop these systems. 36 Sensitivity: Internal / Non-Personal Data SDLC Phases Planning Phase Purpose: To plan, monitor, and control the software development project Analysis Phase Requirements analysis Purpose: To define what to build 37 Sensitivity: Internal / Non-Personal Data SDLC Phases Design Phase Software design Purpose: To describe how to build the software Implementation Phase Purpose: To program, test and install the software 38 Sensitivity: Internal / Non-Personal Data SDLC Phases Maintenance Phase Purpose:To resolve problems and adapt software to meet new requirements 39 Sensitivity: Internal / Non-Personal Data Modeling – UML Diagrams Requirements model Scenarios Use case diagram Data model User stories Class diagram Object model E-R diagram Object diagram Network model Data flow diagram Activity diagram Process model Decision table Sequence diagram State machine diagram Component diagram Deployment diagram 40 Sensitivity: Internal / Non-Personal Data Software Quality The more closely a software product meets its specified requirements, and those requirements meet the wants and needs of its customers, the higher its quality. Lower defect rate results in higher quality in software Defect is a deviation from requirements 41 Sensitivity: Internal / Non-Personal Data Software Quality Software quality is the degree to which software satisfies its requirements. To measure this degree, some metrics are used. Two of them are; Defect density ❖ Total number of defects relative to the software size. Mean time to failure ❖ Amount of elapsed time between system crashes. 42 Sensitivity: Internal / Non-Personal Data Software Quality Quality goals of software development processes are To remove as many defect as is reasonably possible before the product is delivered to the customer To remove as many of these defects as early in the development process as possible ❖ The earlier defects are discovered the less they cost to repair 43 Sensitivity: Internal / Non-Personal Data Software Quality Software quality assurance is supported by verification and validation. Verification is the process of checking whether or not a product is built in accordance with the requirements and specifications. Does the code fully and correctly implement the design? Are we building the product right? Inspections and reviews are verification activities. 44 Sensitivity: Internal / Non-Personal Data Software Quality Validation is the process of checking that each completed artifact satisfies its specifications. Does the implemented system meet the specified user requirements? Are we building the right product? Software testing is a validation activity. First verification, then validation 45 Sensitivity: Internal / Non-Personal Data