MIS 215 System Analysis And Design Chapter 3 1 What is Information Systems Analysis and Design? A method used by companies to create and maintain systems that perform basic business functions Main goal is to improve employee efficiency by applying software solutions to key business tasks A structured approach must be used in order to ensure success Chapter 3 2 What is Information Systems Analysis and Design? (Cont.) Systems Analysts perform analysis and design based upon: Understanding of organization’s objectives, structure and processes Knowledge of how to exploit information technology for advantage Chapter 3 3 Systems Analysis and Design: Core Concepts Major goal: to improve organizational systems by developing or acquiring application software and training employees in its use Application software, or a system, supports organizational functions or processes Chapter 3 4 Systems Analysis and Design: Core Concepts (Cont.) System: Turns data into information and includes: Hardware and system software Documentation and training materials Job roles associated with the system Controls to prevent theft or fraud The people who use the software to perform their jobs Chapter 3 5 Software Engineering Process A process used to create an information system Consists of: Methodologies A sequence of step-by-step approaches that help develop the information system Techniques Processes that the analyst follows to ensure thorough, complete, and comprehensive analysis and design Tools Computer programs that aid in applying techniques Chapter 3 6 Chapter 3 7 Characteristics of a System Components Interrelated Components Chapter 3 Boundary Purpose Environment Interfaces Constraints Input Output 8 Characteristics of a System Chapter 3 9 Important System Concepts Decomposition The process of breaking down a system into smaller components Allows the systems analyst to: Chapter 3 Break a system into small, manageable and understandable subsystems Focus on one area at a time, without interference from other areas Concentrate on component pertinent to one group of users without confusing users with unnecessary details Build different components at independent times and have the help of different analysts 10 Important System Concepts (Cont.) Modularity Process of dividing a system into modules of a relatively uniform size Modules simplify system design Coupling Subsystems that are dependent upon each other are coupled Cohesion Extent to which a subsystem performs a single function Chapter 3 11 A Modern Approach to Systems Analysis and Design Systems Integration Allows hardware and software from different vendors to work together Enables procedural language systems to work with visual programming systems Visual programming environment uses client/server model Chapter 3 12 Your Role in Systems Development Study problems and needs of an organization Determine best approach to improving organization through use of: People Methods Information technology Help system users and managers define their requirements for new or enhanced information systems Chapter 3 13 Our Approach to Systems Development 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. Chapter 3 14 Systems Development Life Cycle (SDLC) Traditional methodology used to develop, maintain, and replace information systems. Phases in SDLC: Planning Analysis Design Implementation Maintenance Chapter 3 15 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 Chapter 3 16 Systems Development Life Cycle (SDLC) (Cont.) Design – a description of the recommended solution is converted into logical and then physical system specifications 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 Chapter 3 17 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 Chapter 3 18 Chapter 3 19 Traditional Waterfall SDLC One phase begins when another completes, with little backtracking and looping. Chapter 3 20 Problems with Waterfall Approach System requirements “locked in” after being determined (can't change) Limited user involvement (only in requirements phase) Too much focus on milestone deadlines of SDLC phases to the detriment of sound development practices Chapter 3 21 Approaches to Development Prototyping Building a scaled-down working version of the system Advantages: Chapter 3 Users are involved in design Captures requirements in concrete form 22 Different Approaches to Improving Development CASE Tools Rapid Application Development (RAD) Agile Methodologies eXtreme Programming Joint Application Design (JAD) Chapter 3 23 CASE Computer-Assisted Software Engineering (CASE) Tools Automated software tools used by systems analysts to develop information systems Can be used throughout SDLC Product and tool integration is provided through a repository Diagramming tools enable graphical representation. Chapter 3 24 CASE (Cont.) General types of CASE tools Chapter 3 Diagramming tools Computer display and report generators Analysis tools Repository Documentation generators Code generators 25 CASE (Cont.) Computer-Assisted Software Engineering (CASE) Tools: Computer displays and report generators help prototype Chapter 3 how systems “look and feel”. Analysis tools automatically check for consistency in diagrams, forms, and reports. A central repository provides integrated storage of diagrams, reports, and project management specifications. Documentation generators standardize technical and user documentation. Code generators enable automatic generation of programs and database code directly from design documents, diagrams, forms, and reports. 26 CASE Tools (Cont.) Chapter 3 27 CASE Tools (Cont.) Chapter 3 28 Approaches to Development (Cont.) Joint Application Design (JAD) Users, Managers and Analysts work together for several days System requirements are reviewed Structured meetings Chapter 3 29 Rapid Application Development (RAD) Utilizes prototyping to delay producing system design until after user requirements are clear Methodology to radically decrease design and implementation time Involves: extensive user involvement, prototyping, JAD sessions, integrated CASE tools, and code generators Chapter 3 30 RAD (Cont.) RAD life cycle Chapter 3 31 Service-Oriented Architecture (SOA) An approach to systems development based on building complete systems through assembling software components, each of which model generic business functions Chapter 3 32 Service-Oriented Architecture (SOA) (Cont.) Illustration of a service, a credit check, used by applications and other services Chapter 3 33 Agile Methodologies Motivated by recognition of software development as fluid, unpredictable, and dynamic Three key principles Adaptive rather than predictive Emphasize people rather than roles Self-adaptive processes Chapter 3 34 When to use Agile Methodologies If your project involves: Unpredictable or dynamic requirements Responsible and motivated developers Customers who understand the process and will get involved Chapter 3 35 Chapter 3 36 eXtreme Programming Short, incremental development cycles Automated tests Two-person programming teams Chapter 3 37 eXtreme Programming (Cont.) Coding and testing operate together Advantages: Communication between developers High level of productivity High-quality code Chapter 3 38 Object-Oriented Analysis and Design (OOAD) Based on objects rather than data or processes Object: a structure encapsulating attributes and behaviors of a real-world entity Chapter 3 39 Object-Oriented Analysis and Design (OOAD) (Cont.) Object class: a logical grouping of objects sharing the same attributes and behaviors Inheritance: hierarchical arrangement of classes enable subclasses to inherit properties of superclasses Chapter 3 40 Rational Unified Process (RUP) An object-oriented systems development methodology RUP establishes four phase of development: inception, elaboration, construction, and transition. Each phase is organized into a number of separate iterations. Chapter 3 41 FIGURE 1-13 Phases of OOSAD-based development Chapter 3 42 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), and Service-Oriented Architecture (SOA). Describe agile methodologies and eXtreme programming. Explain Object Oriented Analysis and Design and the Rational Unified Process (RUP). Chapter 3 43