King Saud University College of Computer and Information Sciences – Almuzahmiyah Branch systems analysis and design Chapter 1 INTRODUCTION Dr Maddeh Mohamed 2016-2017 1 Learning Objectives Recall the basic types of computer-based systems that a systems analyst needs to address. Realize what the many roles of a systems analyst are. Understand what CASE tools are and how they help a systems analyst. Introduce three development methodologies: SDLC, the Agile approach, and Object-oriented systems analysis and design. Dr Maddeh Mohamed 2016-2017 2 Basic Concepts Systems analysis and design is a systematic approach to: 1. Identifying problems, opportunities, and objectives. 2. Analyzing the information flows in organizations, such as: data input or data flow processing or transforming data data storage and information 3. Designing computerized information systems to solve a problem. Dr Maddeh Mohamed 2016-2017 3 Basic Concepts FIGURE 1-1 An organizational approach to systems analysis and design is driven by methodologies, techniques, and tools Dr Maddeh Mohamed 2016-2017 4 System Analyst 5 System analyst is a person who can start from a complex problem, break it down logically, and identify the reasonable solutions. The system analyst views a systems situation in terms of its scope, objectives, and the organizational framework. She/he plays many roles, balancing several at same time. Find the problem Dr Maddeh Mohamed 2016-2017 Analysis the problem Solve the problem 5 Data, Information, Knowledge Data... data is raw. It can exist in any form, usable or not. In computer parlance, a spreadsheet generally starts out by holding data. Information... information is data that has been given meaning by way of relational connection. Knowledge... knowledge is the appropriate collection of information, such that it's intent is to be useful. Knowledge is a deterministic process. Dr Maddeh Mohamed 2016-2017 6 Data, Information, Knowledge Data represents a fact or statement of event without relation to other things. Ex: It is raining. Information embodies the understanding of a relationship of some sort, possibly cause and effect. Ex: The temperature dropped 15 degrees and then it started raining. Knowledge represents a pattern that connects and generally provides a high level of predictability as to what is described or what will happen next. Ex: If the humidity is very high and the temperature drops so it rains. Dr Maddeh Mohamed 2016-2017 7 Hardware and Software • Hardware refers to the physical layer of the information. The component includes computers, networks, communications equipment, scanners, printers, digital capture devices and other technologybased infrastructure. Dr Maddeh Mohamed 2016-2017 • System software • Application software controls the hardware consists of programs that and software process data to produce environment and information needed by includes the user. (Ex. Word operation system, processors, DBMS) communications • It is also designed to software and utility support specific programs. organizational functions or processes. 8 Business Information System An information system is the effective use of hardware, software, database, procedures, and interface to achieve specific results that support the company’s business objectives. Dr Maddeh Mohamed 2016-2017 9 Fundamentals of different types of Information systems Information systems are developed for different purpose, depending on the needs of human users and the business. A systems analyst may be involved with any or all of these systems. Dr Maddeh Mohamed 2016-2017 10 Fundamentals of different kinds of Information systems (cont.) Operational level: perform routine functions. Transaction processing systems (TPS). Knowledge level: develop day-to-day plans & supervise operational personnel. Knowledge work systems (KWS). higher level: develop short-range goals, and plans. Management information systems (MIS). Decision support systems (DSS). Expert systems (ES) Strategic level: develop long-range goals, plans, and strategies. Group decision support systems (GDSS) Executive support systems (ESS). Computer-supported collaborative work systems (CSCWS). Dr Maddeh Mohamed 2016-2017 11 Roles of Systems Analyst The system analyst is responsible for a wide range of activities such as : • Selecting hardware and software packages. • Designing computer files. • Training users. • Recommending improvements to business procedures. • Building a new Web site. • Plans project , Develop schedules, Estimate costs. Dr Maddeh Mohamed 2016-2017 12 Roles of Systems Analyst (cont.) Systems analysts act as: 1. Outside Consultants to businesses The systems analyst may be hired to address information systems issues within a business. 2. Change agents Dr Maddeh Mohamed 2016-2017 Acting as an a agent of change. Develops a plan for change. Works with others in facilitating that change. 13 Roles of Systems Analyst (cont.) Systems analysts act as: 3. Supporting Experts within a business Dr Maddeh Mohamed 2016-2017 The analyst draws on professional expertise concerning computer hardware and software and their uses in the business. He serves as a resource for those who are managing a systems project. He supports business decision making. 14 Qualities of the System Analyst To be a successful systems analyst, analytical, technical, management, communication skills are necessary. A. B. C. D. E. Dr Maddeh Mohamed 2016-2017 Problem solving abilities -- Problem solver. Communication skills -- Be a communicator capable of relating meaningfully to other people. Get information requirements from users. Computer experience -- Can systematically handle the situation, through application of tools, techniques and experience. Need enough computer experience to program. Understand the capabilities of computers. Self-discipline and self-motivation -- is able to manage and coordinate project resources, including other people. Project management capabilities -- Communicate what is needed to programmers. Need to posses strong personal and professional ethics. 15 A Modern Approach to Systems Analysis and Design 1950s: focus on efficient automation of existing processes (computer programmers created, edited and stored their programs line by line on punched cards) 1960s: advent of procedural third generation languages (3GL) faster and more reliable computers 1980s: major breakthrough with 4GL, CASE tools, object-oriented methods 1990s: focus on system integration, GUI applications, client/server platforms, Internet The new century: Web application development, wireless PDAs and smart phones, component-based applications, application service providers (ASP) Dr Maddeh Mohamed 2016-2017 16 Developing Information Systems System Development Methodology is a standard process followed in an organization to conduct all the steps necessary to analyze, design, implement, and maintain information systems. The Systems Development Life Cycle (SDLC) is a systematic approach to solving business problems SDLC is the overall process of developing information systems through a multi step process from investigation of initial requirements through analysis, design, implementation and maintenance. The SDLC is a complete set of steps. The steps are not purely linear: steps overlap in time. Dr Maddeh Mohamed 2016-2017 17 Systems Development Life Cycle (SDLC) Traditional methodology used to develop, maintain, and replace information systems Phases in SDLC: Planning Analysis Design Implementation Maintenance Dr Maddeh Mohamed 2016-2017 18 Standard and Evolutionary Views of SDLC FIGURE 1 Systems development life cycle Dr Maddeh Mohamed 2016-2017 FIGURE 2 Evolutionary model 19 Systems Development Life Cycle (SDLC) (Cont.) Planning – an organization’s total information system needs are identified, analyzed, prioritized, and arranged Analysis – system requirements are studied and structured Design – a description of the recommended solution is converted into logical and then physical system specifications Dr Maddeh Mohamed 2016-2017 20 Systems Development Life Cycle (SDLC) (Cont.) Logical design – all functional features of the system chosen for development in analysis are described independently of any computer platform Physical design – the logical specifications of the system from logical design are transformed into the technology-specific details from which all programming and system construction can be accomplished Dr Maddeh Mohamed 2016-2017 21 Systems Development Life Cycle (SDLC) (Cont.) Implementation – the information system is coded, tested, installed and supported in the organization Maintenance – an information system is systematically repaired and improved Dr Maddeh Mohamed 2016-2017 22 Systems Development Life Cycle (SDLC) (Cont.) SDLC Model : A framework that describes the activities performed at each stage of a software development project. Waterfall Model V-Shaped Model Prototyping Rapid Application Development Spiral Model Dr Maddeh Mohamed 2016-2017 23 Waterfall Model Winston W. Royce 1970 Requirements – defines needed information, function, behavior, performance and interfaces. Analysis: In this phase we analyze all the gathered requirements whether the requirements are valid or invalid. Design – data structures, software architecture, interface representations, algorithmic details. Implementation – source code, database, user documentation, testing. Dr Maddeh Mohamed 2016-2017 24 Waterfall Model Test – check if all code modules work together and if the system as a whole behaves as per the specifications. Installation – deployment of system, user-training. Maintenance – bug fixes, added functionality (an ongoing process). Dr Maddeh Mohamed 2016-2017 25 Waterfall Strengths Easy to understand, easy to use Provides structure to inexperienced staff Milestones are well understood Sets requirements stability Good for management control (plan, staff, track) Dr Maddeh Mohamed 2016-2017 26 Waterfall Deficiencies All requirements must be known upfront Deliverables created for each phase are considered frozen – inhibits flexibility Does not reflect problem-solving nature of software development – iterations of phases Integration is one big bang at the end Little opportunity for customer to preview the system (until it may be too late) Dr Maddeh Mohamed 2016-2017 27 When to use the Waterfall Model Requirements are very well known When it is possible to produce a stable design E.g. a new version of an existing product E.g. porting an existing product to a new platform. Dr Maddeh Mohamed 2016-2017 28 V-Shaped SDLC Model Kevin John Forsberg et Harold Mooz 1990 Dr Maddeh Mohamed 2016-2017 A variant of the Waterfall that emphasizes the verification and validation of the product. Testing of the product is planned in parallel with a corresponding phase of development 29 V-Shaped Steps Project and Requirements Planning – allocate resources Coding – transform algorithms into software Product Requirements and Specification Analysis – complete specification of the software system Unit testing – check that each module acts as expected Architecture or High-Level Design – defines how software functions fulfill the design Integration and Testing – check that modules interconnect correctly Detailed Design – develop algorithms for each architectural component System and acceptance testing – check the entire software system in its environment Production, operation and maintenance – provide for enhancement and corrections Dr Maddeh Mohamed 2016-2017 30 V-Shaped Strengths Emphasize planning for verification and validation of the product in early stages of product development Each deliverable must be testable Project management can track progress by milestones Easy to use Dr Maddeh Mohamed 2016-2017 31 V-Shaped Weaknesses Does not easily handle concurrent events Does not handle iterations or phases Does not easily handle dynamic changes in requirements Dr Maddeh Mohamed 2016-2017 32 When to use the V-Shaped Model Excellent choice for systems requiring high reliability – hospital patient control applications All requirements are known up-front When design is stable Solution and technology are known Dr Maddeh Mohamed 2016-2017 33 Prototyping Model Developers build a prototype during the requirements phase Prototype is evaluated by end users Users give corrective feedback Developers further refine the prototype When the user is satisfied, the prototype code is brought up to the standards needed for a final product. Dr Maddeh Mohamed 2016-2017 34 Prototyping Steps A preliminary project plan is developed An partial high-level paper model is created The model is source for a partial requirements specification A prototype is built with basic and critical functions The designer builds the database user interface algorithmic functions The designer demonstrates the prototype, the user evaluates for problems and suggests improvements. This loop continues until the user is satisfied Dr Maddeh Mohamed 2016-2017 35 Prototyping Strengths Customers can “see” the system requirements as they are being gathered Developers learn from customers A more accurate end product Unexpected requirements accommodated Allows for flexible design and development Steady, visible signs of progress produced Interaction with the prototype stimulates awareness of additional needed functionality Dr Maddeh Mohamed 2016-2017 36 Prototyping Weaknesses Tendency to abandon structured program development for “code-and-fix” development Bad reputation for “quick-and-dirty” methods Overall maintainability may be overlooked Process may continue forever (scope creep) Dr Maddeh Mohamed 2016-2017 37 When to use Prototyping Requirements are unstable or have to be clarified As the requirements clarification stage of a waterfall model Develop user interfaces New, original development Dr Maddeh Mohamed 2016-2017 38 Rapid Application Development Model (RAD) Requirements planning phase (a workshop utilizing structured discussion of business problems) User design phase – users to participate in the nontechnical design of the system Construction phase – productivity tools, such as code generators, screen generators. Cutover phase -- installation of the system, user acceptance testing and user training Dr Maddeh Mohamed 2016-2017 39 Rapid Application Development Model (RAD) Requirements planning phase Construction phase Dr Maddeh Mohamed 2016-2017 Prototyping User design phase Cutover phase 40 RAD Strengths Reduced cycle time and improved productivity with fewer people means lower costs Customer involved throughout the complete cycle minimizes risk of not achieving customer satisfaction and business needs Focus moves from documentation to code Uses modeling concepts to capture information about business, data, and processes. Dr Maddeh Mohamed 2016-2017 41 RAD Weaknesses Accelerated development process must give quick responses to the user Risk of never achieving closure Hard to use with legacy systems Requires a system that can be modularized Developers and customers must be committed to rapid-fire activities in an abbreviated time frame. May compromises functionality and performance in exchange for faster development and better application maintenance Dr Maddeh Mohamed 2016-2017 42 When to use RAD When requirements are not fully understood. User involved throughout the life cycle Functionality delivered in increments High performance not required System can be modularized Dr Maddeh Mohamed 2016-2017 43 Spiral SDLC Model Barry Boehm en 1988 Dr Maddeh Mohamed 2016-2017 Adds risk analysis, prototyping to the waterfall model Each cycle involves the same sequence of steps as the waterfall process model 44 Spiral Determine objectives, alternatives and constraints Objectives: functionality, performance, hardware/software interface, critical success factors, etc. Alternatives: build, reuse, buy, sub-contract, etc. Constraints: cost, schedule, man-power, experience etc. Dr Maddeh Mohamed 2016-2017 45 Spiral Evaluate alternatives, identify and resolve risks Study alternatives relative to objectives and constraints Identify risks (lack of experience, new technology, tight schedules, etc.) Resolve risks Dr Maddeh Mohamed 2016-2017 46 Spiral Quadrant Develop next-level product Typical activites: Create a design Review design Develop Inspect Test code code product Dr Maddeh Mohamed 2016-2017 47 Spiral Plan next phase Typical activities Develop project plan Develop a test plan Develop an installation plan Dr Maddeh Mohamed 2016-2017 48 Spiral Model Strengths Provides early indication of insurmountable risks, without much cost Users see the system early because of rapid prototyping tools Critical high-risk functions are developed first Early and frequent feedback from users Dr Maddeh Mohamed 2016-2017 49 Spiral Model Weaknesses Time spent for evaluating risks too large for small or low-risk projects Time spent planning, resetting objectives, doing risk analysis and prototyping may be excessive The model is complex Risk assessment expertise is required Spiral may continue indefinitely Dr Maddeh Mohamed 2016-2017 50 When to use Spiral Model When creation of a prototype is appropriate When costs and risk evaluation is important For medium to high-risk projects Users are unsure of their needs Requirements are complex New product line Dr Maddeh Mohamed 2016-2017 51 The Computer-Aided Software Engineering (CASE): The Computer-Aided Software Engineering (CASE): is the application of tools, methods, and disciplines to produce and maintain an automatic solution to a real-world problem. CASE tools are automated, microcomputer-based software packages for systems analysis and design. Dr Maddeh Mohamed 2016-2017 52 The Computer-Aided Software Engineering (CASE): Four reasons for using CASE tools are: 1. 2. 3. 4. To increase analyst productivity. Facilitate communication among analysts and users. Providing continuity between life cycle phases. To assess the impact of maintenance. CASE tools divided into: Dr Maddeh Mohamed 2016-2017 Upper CASE tools Lower CASE tools Integrated CASE 53 Upper CASE tools: allows the analyst to create and modify the system design. All the information about project is stored in CASE repository. The repository is a collection of records, elements, diagrams, screens, reports, and other project information. Dr Maddeh Mohamed 2016-2017 54 The Approaches to SDLC (cont.) Lower CASE tools: are used to generate computer language source code. Advantages of code generation: Dr Maddeh Mohamed 2016-2017 Time to develop new systems decreases. The time to maintain generated code is less than to maintain traditional systems. Computer programs may be generated in more than one language. Generated code is free from program coding errors. 55 The Approaches to SDLC (cont.) The Object-oriented Analysis and Design: is an approach that is intended to facilitate the development of systems that must change rapidly in response to dynamic business environments. It consists of the objects, inheritance and object class and using Unified Modeling Language UML, to break down a system into a use case model. Dr Maddeh Mohamed 2016-2017 56 The Approaches to SDLC (cont.) Object-oriented (O-O) analysis and design is used to build object-oriented programs. Object-oriented (O-O) programming examines the objects of a system. Objects are grouped into classes for optimal reuse and maintainability. Dr Maddeh Mohamed 2016-2017 57 The Approaches to SDLC (cont.) Dr Maddeh Mohamed 2016-2017 There are three types of object-oriented analysis and design: Object-oriented analysis (OOA) Object-oriented design (OOD) The Unified Modeling Language (UML), a standardized object-oriented modeling language 58 The Approaches to SDLC (cont.) The Agile Approach: is an incremental model. System is developed in incremental, rapid cycles. This results in small incremental releases with each release building on previous functionality. Each release is thoroughly tested to ensure system quality is maintained. Two words characterize a project done with an agile approach are interactive and incremental. Dr Maddeh Mohamed 2016-2017 59 Rational Unified Process (RUP) An object-oriented systems development methodology Establishes four phase of development: inception, elaboration, construction, and transition Each phase is organized into a number of separate iterations. Dr Maddeh Mohamed 2016-2017 60 FIGURE 1-13 Phases of OOSAD-based development Dr Maddeh Mohamed 2016-2017 61 Vertically Phases Ativities Dr Maddeh Mohamed 2016-2017 62 Summary In this chapter you learned how to: Define information systems analysis and design. Describe the information Systems Development Life Cycle (SDLC). Explain Rapid Application Development (RAD), prototyping, Computer Aided Software Engineering (CASE). Describe agile methodologies. Explain Object-Oriented Analysis and Design (OOAD) and the Rational Unified Process (RUP). Dr Maddeh Mohamed 2016-2017 63 Dr Maddeh Mohamed 2016-2017 64 http://argouml.tigris.org/ Dr Maddeh Mohamed 2016-2017 65
© Copyright 2026 Paperzz