400 likes | 481 Views
System analysis and design. Safaa s.y. dalloul. Introduction. Unit 1: Introduction. Rapid Application Development (RAD) Phased Development Prototyping Throwaway Prototyping Agile Development Extreme Programming Selecting the appropriate methodology Exercises. Introduction The SDLC
E N D
System analysis and design Safaa s.y. dalloul
Unit 1: Introduction Rapid Application Development (RAD) • Phased Development • Prototyping • Throwaway Prototyping Agile Development Extreme Programming Selecting the appropriate methodology Exercises • Introduction • The SDLC • Planning • Analysis • Design • Implementation • Development Methodologies • Structured Design • Waterfall methodology • Parallel Development
Introduction SDLC The systems development life cycle (SDLC) is the process of understanding how an information system (IS) can support business needs, designing the system, building it, and delivering it to users.
Phase one: planning • Steps: • Identify opportunity • Analysis feasibility • Develop work plan • Staff Project • Control and direct project Focus: Why build this system? How to structure the project? Primary Outputs: System Request with Feasibility Study. Project Plan
Phase two: analysis • Steps: • Develop analysis strategy • Determine business requirements • Create use cases • Model processes • Model data Focus: Who, what, where, and when for this system? Primary Outputs: Systemproposal
Phase Three: Design • Steps: • Design physical system • Design architecture • Design interface • Design programs • Design database and files Focus: How will system work? Primary Outputs: System specification
Phase four: implementation • Steps: • Construct System • Install system • Maintain system • Post-implementation Focus: Delivery and support of completed system Primary Outputs: Installedsystem
True or false • System request is a primary output of design ( ) • System specification with feasibility study is a primary output of planning ( ) • System proposal is a primary output of analysis ( ) • Installed system is a primary output of implementation ( )
True or false • System requestwith feasibility study is a primary output of design( F ) • System specificationis a primary output of planning ( F ) • System proposal is a primary output of analysis ( T ) • Installed system is a primary output of implementation ( T )
Unit 1: Introduction Rapid Application Development (RAD) • Phased Development • Prototyping • Throwaway Prototyping Agile Development Extreme Programming Selecting the appropriate methodology Exercises • Introduction • The SDLC • Planning • Analysis • Design • Implementation • Development Methodologies • Structured Design • Waterfall methodology • Parallel Development
Development Methodologies Structured Design, RAD, Agile A methodology is a formalized approach to implementing the SDLC (i.e., it is a list of steps and deliverables). The methodology will vary depending on whether the emphasis is on businesses processes or on the data that supports the business
Development Methodologies Structured Design, RAD, Agile • Process-centered methodologiesfocus first on defining the activities associated with the system • Data-centeredmethodologies focus first on defining the contents of the data storage containers and how the contents are organized
Development Methodologies Structured Design, RAD, Agile • Object-oriented methodologiesattempt to balance the focus between processes and data. Object-oriented methodologies utilize the Unified Modeling Language (UML) to describe the system concept as a collection of objects incorporating both data and processes.
example • The open-ended rectangles in the diagram represent data storage containers • The roundedrectangles in the diagram represent activities performed Payroll System
Structured design • Structured design methodologies adopt a formal step-by-step approach to the SDLC that moves logically from one phase to the next • Traditional structured design uses one set of diagrams to represent the processes and a separate set of diagrams to represent data . • This category includes two methodologies waterfalland parallelmethodologies.
Structured design Waterfall Methodology With waterfall development-based methodologies, the analysts and users proceed sequentially from one phase to the next
Structured design Waterfall Methodology
Structured design Waterfall Methodology • Advantages: • System requirements are identified long before programming begins • Changes to the requirements are minimized as the project proceeds
Structured design Waterfall Methodology • Disadvantages: • The design must be completely specified before programming begins • A long time elapses between the completion of the system proposal in the analysis phase and the delivery of the system
Structured design Parallel Methodology
Structured design Parallel Methodology This methodology attempts to address the long time interval between the analysis phase and the delivery of the system A general design for the entire system is performed and then the project is divided into a series of distinct subprojects.
Rapid application development (RAD) • RAD-based methodologies adjust the SDLC phases to get some part of the system developed quickly and into the hands of the users. • Most RAD-based methodologies recommend that analysts use computer tools to speed up the analysis, design, and implementation phases, such as CASE (computer-aided software engineering) tools.
Rapid application development (RAD) • One possible subtle problem with RAD-based methodologies is managing user expectations • In this category we will study three different methodologies Phased development, Prototyping development and Throwaway development methodologies
Rapid application development (RAD) Phased Development The phased development-based methodologies break the overall system into a series of versions that are developed sequentially Phased development-based methodologies have the advantage of quickly getting a useful system into the hands of the users The major drawback to phased development is that users begin to work with systems that are intentionally incomplete
Rapid application development (RAD) Phased Development
Rapid application development (RAD) Prototyping Prototyping-based methodologies perform the analysis, design and implementation phases concurrently. All three phases are performed repeatedly in a cycle until the system is completed. A prototype is a smaller version of the system with a minimal amount of features
Rapid application development (RAD) Prototyping
Rapid application development (RAD) Prototyping • Advantage: Provides a system for the users to interact with, even if it is not initially ready for use. • Disadvantage: Often the prototype undergoes such significant changes that many initial design decisions prove to be poor ones.
Rapid application development (RAD) Throwaway Prototyping Throwaway prototyping methodologies are similar to prototyping based methodologies. The main difference is that throwaway prototyping IS completed during a different point in the SDLC. Has relatively thorough analysis phase.
Rapid application development (RAD) Throwaway Prototyping
Agile development • This category focuses on streamlining the SDLC by eliminating much of the modeling and documentation overhead and the time spent on those tasks. • Projects emphasize simple, iterative application development. • This category uses extreme programming, which is described next
Agile development Extreme Programming Is founded on four core values: communication, simplicity, feedback, and courage. Key principles of XP include: • Continuous testing • Simple coding • Close interaction with the end users to build systems very quickly
Agile development Extreme Programming
Unit 1: Introduction Rapid Application Development (RAD) • Phased Development • Prototyping • Throwaway Prototyping Agile Development Extreme Programming Selecting the appropriate methodology Exercises • Introduction • The SDLC • Planning • Analysis • Design • Implementation • Development Methodologies • Structured Design • Waterfall methodology • Parallel Development
Selecting appropriate methodology Exercises • Selecting a methodology is not simple, as no one methodology is always best. • Many organizations have their own standards. • The next figure summarizes some important methodology selection criteria
exercises • Suppose you are a project manager using the waterfall development methodology on a large and complex project. Your manager has just read the latest article in Computerworld that advocates replacing the waterfall methodology with prototyping and comes to your office requesting you to switch What do you say? • Think about your ideal analyst position. Write a newspaper ad to hire someone for that position. What requirements would the job have? What skills and experience would be required? How would applicants demonstrate that they have the appropriate skills and experience?
Safaa S.y. dalloul Safaadalloul.wordpress.com Thank You