Presentation is loading. Please wait.

Presentation is loading. Please wait.

Prince Sultan University

Similar presentations


Presentation on theme: "Prince Sultan University"— Presentation transcript:

1 Prince Sultan University
Course Code : IS 225 Course Name : Systems Analysis & Design- I Course Instructor : Hisham Alkhawar Credit Hours : 4 Text Book : Systems Analysis & Design Author(s) : Jeffery Hoffer, Joseph Valich 5th Edition Reference Book : 1. Systems Analysis & Design By Jeffery Whitten

2 Chapter 1 The Systems Development Environment
1.1

3 Learning Objectives Define information systems analysis and design
Describe three types of information systems: Transaction Processing Systems (TPS) Management Information Systems (MIS) Decision Support Systems (DSS) 1.2

4 Learning Objectives Describe the information systems development life cycle (SDLC) Water fall Model Discuss Rapid Application Development (RAD) and its constituents parts Prototyping JAD CASE 1.3

5 Learning Objectives Describe Object Oriented Analysis and Rational Unified Process (RUP) Describe the Agile Methodologies and eXtreme Programming 1.4

6 Information System-Introduction
An Information system ( IS) is a collection of interrelated components (hardware, software, and telecommunications networks) that people build and use to collect, process, store and provide/distribute as output useful information needed to complete a business task in organizations. Examples: Payroll System Sales Management System

7 Information System-Introduction
Why do we design Information Systems? Information systems are built and rebuilt To provide access to information anywhere and anytime. for organizational benefits by adding values during the process of creating, producing and supporting the organization’s product and services. to improve employee efficiency by applying software solutions to key business tasks Understand what the business requires from the Information System. In other words thorough “Systems Analysis & Design”

8 What is Systems Analysis & Design?
Systems Analysis means understanding and specifying in detail what the information system should accomplish. Systems Design means how to accomplish what is needed by the information system, by specifying in details how many components of the information system should be physically implemented.

9 What is Systems Analysis & Design?
Information Systems Analysis and Design Complex, and challenging organizational process used by a team of business and system professionals, to develop and maintain computer-based information systems that helps in performing business functions efficiently. 1.5

10 What is the outcome of SAD ?
The total Information System includes the hardware, systems software on which the application software runs, documentation and training materials, the specific job roles associated with the overall system and the end users. An important result of Systems A&D is Application Software, i.e. software designed to support a specific organizational function or process, such as Inventory management, payroll etc.

11 Who is Systems Analyst? Systems Analyst performs analysis and design based upon: Understanding of organization’s objectives, structure and processes. Studies the problems and needs of an organization Knowledge of how to exploit information technology for advantage Determine how people, methods and IT can be best combined to bring about improvements in the organization. 1.8

12 Types of Information Systems
Transaction Processing Systems Management Information Systems Decision Support Systems 1.12

13 Types of Information Systems
Transaction Processing Systems (TPS) Automate handling of data about business activities the routine day to day business processes Data about each transaction are captured, transaction are verified and accepted or rejected, and validated transaction are stored for later aggregation. A transaction occurs each time a sale is made, supplies are ordered or interest payment is made 1.13

14 Types of Information Systems
Transaction Processing Systems (TPS) -contd. The A&D of a TPS means Focusing on the firm’s current procedures The goal of TPS development is to improve transaction processing by speeding it up using fewer people, improve efficiency and accuracy, integrate it with other organizational information systems, provide information not previously available. 1.14

15 Types of Information Systems
Examples of TPS Business to consumer e commerce systems Point of Sale System Online Registration System Online Airline Reservation System ATM System Car Rental System Library Information System Business to Business e commerce systems

16 Types of Information Systems
Management Information Systems (MIS) Converts raw data available through a transaction processing system (TPS) into meaningful aggregated form (report) that managers need for planning and controlling business. Examples of MIS MIS used by executives often include external data on the competitive environment – news about competitors Stock market reports Economic forecast

17 Types of Information Systems
Decision Support Systems (DSS) Designed to help organizational decision makers make decisions. Allows a user to explore the impact of available options or decisions, and this is known as “what if” analysis, because the user asks the system to answer. Provides interactive surroundings for decision making in which data can be quickly manipulated. DSS uses both historical data as well as judgment about alternative histories or possible futures. A DSS can help in exploring data at a high level of aggregation and selectively drill down into specific areas where more detailed understanding of business is required.

18 Types of Information Systems
The A&D for a DSS concentrates on Database (data Orientation) Model base ( mathematical rules defining interrelationships among different data, used to predict future data or to find best solutions to decisions problems. User dialogue – decision maker should feel easy to use the system. The A&D for a DSS is to document the mathematical rules with the intention of define the relationships among different data or to find the best solutions to decision problems. Many of the information systems that you will build or maintain will contain aspects of each of the three major types of information systems. Thus far we have talked about the context of information systems development, and the three major types of it. Next we will introduce the process of developing information systems: the system development life cycle (SDLC)

19 Types of Information Systems

20 Systems Development Life Cycle
System Development methodology- Standard set of steps to develop and support IS. Development of IS follows a life cycle. During the life of an IS, it is first conceived as an idea, then it is designed, built and deployed during a development project and finally it is put into production and used to support the business. SDLC – common methodology for system development SDLC is used to describe the life of an information system from conception to retirement.

21 Systems Development Life Cycle
Life Cycle – a circular process Life cycle appear to be sequentially ordered set of phases, but it is not. Some activities in one phase can be completed in parallel with some activities of another phase. Sometimes life cycle is iterative- phases are repeated until accepted.

22 Systems Development Life Cycle
Consists of five phases: Planning Analysis Design Implementation Maintenance Each phase has a specific outcome and deliverable Series of steps used to manage the phases of development for an information system 1.22

23 Systems Development Life Cycle
Planning Ch 16 Ch 4-5 Maintenance Analysis Ch 6-9 Implementation Design Ch 15 Ch 10-14

24 Systems Development Life Cycle
Planning- Ist Phase Project Identification and Selection Project Initiation and Planning

25 Systems Development Life Cycle
Project Identification and Selection Examine Information needs. Identify the project Prioritization and translation of needs Development of Schedule for different projects Selection of a project. Project Initiation and Planning Two Activities Formal preliminary investigation of the problem at hand Determining the scope of the proposed system known as Feasibility Study Producing a specific plan (Baseline project plan) for the proposed system if it has been approved, specifying the time and resources needed for its execution. Outcome Final presentation of the business case 1.25

26 Systems Development Life Cycle
Analysis - 2nd Phase To understand and document the business needs and the processing requirements of the new system. A discovery and understanding process. Activities Gather information Define system requirements Prioritize requirements Generate and evaluate alternatives matching the requirements Review recommendations with management. Outcome Once the recommendation is accepted, the analyst makes plans to acquire hardware and software necessary to build or operate the system as proposed 1.26

27 Systems Development Life Cycle
Design- 3rd phase Used to design the solution system, based on the requirements defined and decisions made during analysis. High level design consisting of developing an architectural structure for the software components, database design, user interfaces and operating environment. Low level design entails developing the detailed algorithms and data structures required for software development. 1.27

28 Systems Development Life Cycle
The description of recommended alternative solution is converted into Logical design Physical design Logical design focuses on “what” rather than the “how”. Logical design process is independent of any specific hardware or software platform – logical design. Logical design concentrates on the business aspects of the system. Logical design is oriented towards high level of design

29 Systems Development Life Cycle
Physical design concentrates on the design of the various parts of the system to perform the physical operations necessary to facilitate data capture, processing and information output. Physical design includes -Hardware selection, determination of software ( custom/off-the shelf applications) -Data capture devices -Data input and report formats -The media to be used for input and output -Construction of database structure -Network communication, data security etc Outcome: Physical system specifications in a form ready to be turned over to the programmers or other system builders for construction e.g. programming language, database, hardware platform

30 Systems Development Life Cycle
Implementation-4th phase Implementation Coding- programmer write the program for the system Testing Operation Hardware and software installation User Training Documentation

31 Systems Development Life Cycle
Coding Programs can be written in Java, Visual Basic etc. Testing Individual testing of the programs System or Integration testing

32 Systems Development Life Cycle
Operation (System conversion) : It is the process abandoning the current system (automated or manual) and installing the new automated information system. System conversion can be done in at least three ways : 1. Direct changeover : Old system is discontinued on one day and the new is used on the next. 2. Parallel running : Old and new systems are used at same time. 3. Phased changeover : Part of the new system are implemented in phases.

33 Systems Development Life Cycle
Installation Application software is installed on existing or new hardware. The new system becomes a part of the daily activities of the organization. Training Users are trained.

34 Systems Development Life Cycle
Documentation : Many types of documentation must be produced for a software system System documentation : Software Engineers develop system documentation that details the inner working of the system to ease future maintenance.

35 Systems Development Life Cycle
User Documentation : It is user–related documentation which contains the following User and reference guides, User training and tutorials Installation procedures and troubleshooting suggestions. Initial user support In addition to documentation, users may also need training program and on going support to use a new system.

36 Systems Development Life Cycle
Maintenance- 5th Phase Maintenance means system is changed to reflect changing conditions Corrective Maintenance : Making changes to an information system to repair flaws in the design, coding or implementation. Adaptive Maintenance : Making changes to an information system to accommodate changing business needs .

37 Systems Development Life Cycle
Perfective Maintenance : Making enhancements to improve processing performance or interface usability. Preventive Maintenance: Making changes to a system to reduce the chance of future system failure.

38 The Traditional Waterfall SDLC
This model is known as ‘water fall model’ because, the output of one phase is the input of the next phase. It is a traditional methodology used to analyze, design, implement and maintain information system. The flow of the project begins in the planning phase.

39 The Traditional Waterfall SDLC
Planning Analysis Design Implementation Maintenance

40 The Traditional Waterfall SDLC
Strengths: The water fall cycle is a very good approach to follow when the requirements for the information system are highly structured and straightforward and at the same time they are known in the early phases only. e.g. payroll, or inventory system. Tackles complexity in an orderly way, works well for well understood projects That is why, waterfall model is mostly used for large systems engineering projects.

41 The Traditional Waterfall SDLC
Drawbacks This model requires that all the requirements should be specified in advance. It is difficult for end-users to anticipate how they will use new information systems to support their everyday work. If these systems are large and complex, it is probably impossible to make this assessment before the system is built and put into use. In short, the requirements are not clear to the end-users in the beginning.

42 The Traditional Waterfall SDLC
Drawbacks contd It was not possible to implement changes in the requirement specifications all the time during system development. The analyst freeze requirements in the early phase, even though those requirements might get changed. With the result it is very expensive to make changes in a system once it was developed. The role of users are narrowly defined. Limited User involvement throughout the system development.

43 The Traditional Waterfall SDLC
Drawbacks contd. Focus on milestone deadlines, instead of obtaining feedback from the development process leads to too little focus on good analysis and design. Focus on deadlines results in systems that do not match users’ needs and that require extensive maintenance, unnecessarily increasing development cost (maintenance cost is 40% – 70% of software development costs). Finding and fixing a problem after implementation is 100 time more expensive than finding and fixing it during A&D.

44 Different Approaches to improving Development
Prototyping Case tools Joint Application Design

45 The Prototype- Approaches to Improve Development
What is a Prototype ? An easily modifiable and extensible working model of a proposed system, not necessarily representative of a complete system What is a Prototyping ? Prototyping is the process of building a working replica of a system. A prototype can be developed with visual development tool with the query, screen and report design tools of a database management system and with CASE tools.

46 The Prototype- Approaches to Improve Development
The Prototype Software Development approach is used to counter the limitations of the waterfall model. The basic idea is that instead of freezing the requirements before any design or coding can process, a prototype is built to help understand the requirements by exposing it to the user comment and refining this through many versions until adequate system has been developed. Development of the prototype undergoes design, coding and testing, but each of these phases is not done formally or thoroughly. Rather these activities are carried out concurrently with rapid feedback across these activities.

47 Prototyping (Cont.) © 2008 by Prentice Hall Chapter 1

48 The Prototype- Approaches to Improve Development
Strengths: By using this prototype , the client can get an actual feel of the system, because the interactions with the prototype can enable the client to better understand the requirements of the desired system. The prototype can be refined through many versions until adequate system has been developed. This results in more stable requirements that change less frequently.

49 CASE (Computer-Aided Software Engineering) - Approaches to Improve Development
Software systems which are intended to provide automated support for software process activities. Diagramming tools- graphical representation of processes, data and control structures. Computer display and report generators- help the SA to identify data requirements and relationships. Analysis tools-check for incompleteness, inconsistency or incorrect specification in diagrams, forms, reports

50 CASE (Computer-Aided Software Engineering) - Approaches to Improve Development
Central Repository- integrated storage of specifications, diagrams, reports, project management information Documentation Generators- technical and user documentation Code generators- enable the automatic generation of program and database definition code directly from the design documents, diagrams, forms and reports

51 CASE Tools Microsoft Visio Visible Analyst Rational Rose Oracle

52 Joint Application Design (JAD)
Structured process involving users, analysts, and managers. Several-day intensive workgroup sessions. Purpose: to specify or review system requirements. Joint Application Design (JAD): A structured process in which users, managers, and analyst work together for several days in series of in a series of intensive meetings to specify or review system requirement. Joint Application Design (JAD) A new process for collecting information system requirements and reviewing systems design. To bring structure to the requirement determination phase Users, Managers and Analysts work together for series of intensive and structured meeting run by a JAD session leader. Structured meetings and adherence to the agenda. Advantages Time and organizational resources are better organized, by working together in one room. Stakeholders develop a shared understanding of what the information system is supposed to do. © 2008 by Prentice Hall Chapter 1

53 Rapid Application Development
Methodology to radically decrease design and implementation time. Involves: extensive user involvement, prototyping, JAD sessions, integrated CASE tools, and code generators. Provides a series of techniques for compressing the analysis, design, build and test phases into a series of short iterative development cycles.

54 Rapid Application Development
System developers and end-users work together jointly in real time to develop system Use of small, well trained development teams Phases are shortened and combined with each other. Tasks done in parallel rather than sequentially. Prototyping is used extensively.

55 Rapid Application Development (RAD) (Cont.)

56 RAD – Comparing RAD to the SDLC
Labor – intensive activities of the SDLC are condensed through parallel actions Use of JAD requirement Extensive iterative process. Includes the development and refinement of process models and prototype In waterfall model, activities are performed in a sequential manner whereas in RAD approach they are performed in a iterative, parallel manner. In RAD, user requirements are refined, a solution is designed, the solution is prototyped, the prototype is reviewed, user input is provided and the process begins again.

57 Agile Methodologies For engineering disciplines such as civil, requirements tend to be well understood. Once designing is completed, constructions becomes very predictable. For software engineering: requirements are rarely well understood; they change continually during the lifetime of the project. Software development Methodology adapted from engineering generally do not fit with the real world software development.

58 Agile Methodologies What is needed in software engineering?
Methodologies that embrace change Methodologies that are able to deal with a lack of predictability. Agile methodologies is based on the above principles, which focuses on Iterative development Focus on people Promotes self adaptive software development process

59 Agile Methodologies Iterative development
Frequent production of the working versions of a system that have a subset of the total number of required features. Provides feedback to the customer and developers alike.

60 Agile Methodologies Focus on people
Focus on individuals rather than on the roles those people perform. Roles are not as important as the individuals who fill those roles Doesn’t view people as interchangeable units instead as talented individuals.

61 Agile Methodologies Promotes self adaptive software development process The process used to develop software should be refined and improved by reviewing it repetitively which is of course done by a number of iterations. AS the processes are adapted (modified), one would not expect to find a single monolithic methodology within an organization, instead many variations of the methodology which reflects the particular talents and experience of the team using it.

62 Agile Methodologies When should we recommend Agile methodologies?
Unpredictable or dynamic requirements Responsible and motivated developers Customers who understand the process and will get involved

63 Extreme Programming Short, incremental development cycles.
Focus on automated tests written by programmers and customers. Two-person programming teams. Customer on site during the development process. Building working system in a very little time, without written or diagramming design specification.

64 Extreme Programming Coding and testing operate together. Advantages:
Communication between developers. High level of productivity. High-quality code.

65 Extreme Programming Drawbacks:
Long term commitment and dedication is required from both the user and customer. Lack of design documentation. Not effective on large projects Requires experienced developers Neglected planning

66 Object Oriented Analysis and Design
Views information system as collection of interacting objects that work together to accomplish tasks Objects – things in computer system that can respond to messages Conceptually, no processes, programs, data entities, or files are defined – just objects Data and process are combined in to single entity known as objects. Objects correspond to the real things an information system deals with, such as customer, supplier, contracts, rental agreement etc. Maintenance of the software becomes much easier

67 Object-Oriented Approach (continued)
Object-oriented analysis (OOA) Defines types of objects users deal with Shows use cases are required to complete tasks Object-oriented design (OOD) Defines object types needed to communicate with people and devices in system Shows how objects interact to complete tasks Refines each type of object for implementation with specific language of environment Object-oriented programming (OOP) Writing statements in programming language to define what each type of object does Systems Analysis and Design in a Changing World, 4th Edition

68 Class Diagram Created During OO Analysis
Systems Analysis and Design in a Changing World, 4th Edition

69 Rational Unified Process ( RUP)
Based on an iterative, incremental approach to system development. Phases Inception, elaboration, construction, transition

70 Rational Unified Process ( RUP)
Figure 1-14 Phases of OOSAD-based development

71 Life Cycles with Different Names for Phases (Figure 2-20)
Systems Analysis and Design in a Changing World, 4th Edition

72 Rational Unified Process ( RUP)
Inception Define the scope Determine the feasibility of the project Understand the user requirements Prepare software development plan Short phase and the least resource intensive. Single iteration

73 Rational Unified Process ( RUP)
Elaboration Major activities –Detailed Analysis (Define the requirements), design a baseline architecture. Long phase and has several iterations. Less resource intensive. Most critical phase Create use case diagrams, class diagrams, sequence diagrams etc. Final cost and benefits estimates are also completed. The architecture includes a vision of the product, an executable demonstration of the critical pieces, a detailed glossary and a preliminary user manual, a detailed construction plan and a revised of planned expenditures.

74 Rational Unified Process ( RUP)
Construction Longest phase. Several iterations. Most resource intensive. The software is actually coded, tested and documented. Some components are purchased and used in the code. As each executable is completed, it is tested and integrated. Continue to build the system with additional features using number of iterations that also include requirements, design and implementation, possibly creating multiple releases of the system. Revised user requirements could require analysis and design. At the end beta version of the project is released that should have operational capabilities.

75 Rational Unified Process ( RUP)
Transition The System is goes for beta testing, and then deployed, and the users are trained and supported. The project gets acceptance in this phase Once accepted, the product can then be released for distribution. Resource intensive but short phase.

76 Methodologies and Models
Comprehensive guidelines to follow for completing every SDLC activity Collection of models, tools, and techniques Models Representation of an important aspect of real world, but not same as real thing Abstraction used to separate out aspect Diagrams and charts Project planning and budgeting aids

77 Some Models Used in System Development

78 Tools and Techniques Tools Techniques
Software support that helps create models or other required project components Range from simple drawing programs to complex CASE tools to project management software Techniques Collection of guidelines that help analysts complete a system development activity or task Can be step-by-step instructions or just general advice

79 Some Techniques Used in System Development

80 Some Techniques Used in System Development

81 Relationships Among Components of a Methodology

82 Our Approach to SDLC The SDLC is an organizing and guiding principle in this book. We may construct artificial boundaries or artificially separate activities and processes for learning purposes. Our intent is to help you understand all the pieces and how to assemble them.

83 Summary In this chapter you learned how to:
Define information systems analysis and design. Describe the different types of information systems. Describe the information Systems Development Life Cycle (SDLC).

84 Summary Explain Rapid Application Development (RAD), prototyping, Joint Application Development (JAD), and Computer Aided Software Engineering (CASE). Describe agile methodologies and eXtreme programming. Explain Object Oriented Analysis and Design and the Rational Unified Process (RUP).


Download ppt "Prince Sultan University"

Similar presentations


Ads by Google