The University of Akron Summit College Department of Business Technology Computer Information System - PowerPoint PPT Presentation

1 / 50
About This Presentation
Title:

The University of Akron Summit College Department of Business Technology Computer Information System

Description:

2440: 241 Systems Analysis and Design. Chapter 2 Approaches to System Development ... Some IDEs also combine the two approaches in the same tool. 9/4/09 ... – PowerPoint PPT presentation

Number of Views:79
Avg rating:3.0/5.0
Slides: 51
Provided by: Unive48
Category:

less

Transcript and Presenter's Notes

Title: The University of Akron Summit College Department of Business Technology Computer Information System


1
The University of AkronSummit CollegeDepartment
of Business TechnologyComputer Information
Systems
  • 2440 241 Systems Analysis and Design
  • Chapter 2 Approaches to System Development
  • Instructor Enoch E. Damson

2
The Systems Development Life Cycle (SDLC)
  • Analysts organize their work into projects
  • Project a planned undertaking that has a
    beginning and an end, and produces a desired
    result or product
  • System development project a planned
    undertaking that produces a new information
    system
  • Information systems development go through phases
  • Phase related system development activities
    that are grouped into categories of planning,
    analysis, design, implementation, and support
  • The three major information systems development
    phases are as follows
  • Analysis phase
  • Design phase
  • Implementation phase

3
The Systems Development Life Cycle (SDLC)
  • Analysis phase provides a thorough
    understanding of the businesss information needs
    and requirements
  • Design phase defines the architecture and
    structure of a new system to satisfy the
    businesss requirements
  • Implementation phase involves the actual
    construction, testing, and installation of the
    function information system

4
The Systems Development Life Cycle (SDLC)
  • The two other systems development phases include
  • Project planning phase
  • Support phase
  • Project planning phase the beginning of a
    systems development project that consists of
    required activities to initiate, plan, and obtain
    approval for the project
  • Support phase the most expensive and longest
    phase that consists of ongoing activities to
    maintain and enhance the system (after its
    completion and installation) over its lifetime

5
The Systems Development Life Cycle (SDLC)
  • The approach to defining the required phases and
    activities for a system development project is
    called the systems development life cycle (SDLC)
  • The five phases of the systems development life
    cycle includes the following
  • Project Planning phase
  • Analysis phase
  • Design phase
  • Implementation phase
  • Support phase
  • Current approaches to system development include
    iteration phases that tend to break projects down
    into a series of mini-projects (iterations)
  • Each iteration involves analysis, design, and
    implementation activities

6
The Phases of the Systems Development Life Cycle
  • Identifying the objectives and primary activities
    of each of the SDLC phases is vital to
    understanding information systems development

7
The Planning Phase
  • Primary objective identify the scope of the new
    system, ensure that project is feasible, and
    develop a schedule, resource plan, and budget for
    the remainder of the project
  • Activities in the planning phase includes
  • Defining the problem
  • Producing the project schedule
  • Confirm project feasibility
  • Staff the project
  • Launch the project

8
The Analysis Phase
  • Primary Objective understand and document
    business needs and processing requirements of the
    new system
  • Keywords in analysis phase are discovery and
    understanding
  • Activities of the phase include
  • Gathering information
  • Defining system requirements
  • Building prototypes for discovery of requirements
  • Prioritizing requirements
  • Generating and evaluating alternatives
  • Reviewing recommendations with management
  • Gathering information is fundamental to the
    analysis phase
  • Gathering information involves learning from
    users about the problem domain
  • Problem domain the area of users business for
    which a system is being developed

9
The Design Phase
  • Primary objective design the solution system
    based on the requirements defined and decisions
    made during analysis
  • Activities in this phase include
  • Designing and integrating the network
  • Designing the application architecture
  • Designing the user interfaces
  • Designing the system interfaces
  • Designing and integrating the database
  • Prototyping for design details
  • Designing and integrating the system controls
  • The application is the portion of the new
    information system that satisfies the users
    needs in the problem domain

10
The Implementation Phase
  • Primary objective produce a reliable, fully
    functional information system and ensure that
    users are all trained and that the organization
    is ready to benefit as expected from use of the
    system
  • Activities include
  • Constructing software components
  • Verifying and testing
  • Convert data
  • Train users and document the system
  • Install the system

11
The Support Phase
  • Primary objective keep the system running
    productively after initial installation
  • Activities include
  • Maintaining the system
  • Enhancing the system
  • Supporting the system

12
Scheduling Project Phases
  • Analysts in the 1970s and 1980s used the
    waterfall approach to their projects
  • Waterfall approach executing an SDLC in which
    one face leads sequentially into the next phase
  • The waterfall method required rigid planning and
    final decision making at each step of the SDLC
  • Analysts rarely attempt to use a straight
    waterfall approach

13
Scheduling Project Phases
  • Most activities of the SDLC phases overlap and
    appear to be done concurrently
  • The overlap occurs because of the following
    reasons
  • Efficiency some analysis thoughts may lead to
    design thoughts
  • Interdependency most components of a computer
    system depend on each other leading to both
    analysis and some design at the same time
  • Not all activities overlap completely in the SDLC
    because of dependency some activities naturally
    depend on results of prior work
  • Most successful projects have schedules that
    provide some flexibility but requiring completion
    of identified milestones on a timely basis

14
Understanding Iteration and Project Phases
  • Overlapping schedules are best defined and
    managed using iteration across phases
  • With iteration, work activities are repeated and
    each iteration is refined to be closer to the
    desired result
  • There are several approaches to defining each
    iteration including
  • Defining and implementing key functions the
    system must include in the first iteration before
    getting to the less crucial functions and then to
    the optional functions
  • Focusing on one subsystem at a time with the
    first subsystem containing the core functionality
    and data for the other subsystems
  • Using the incremental development approach that
    completes parts of the system in one or more
    iterations and puts them into operation for users
  • All approaches to system development can use some
    amount of iteration.
  • The object-oriented approach to system
    development is always described as highly
    iterative

15
Methodologies, Models, Tools, and Techniques
  • Systems analysts have variety of aids to help
    complete activities in the SDLC
  • The aids include
  • Methodologies
  • Models
  • Tools
  • Techniques

16
Methodologies
  • System development methodology provides
    guidelines for completing every activity in the
    SDLC, including specific models, tools, and
    techniques
  • Some methodologies are homegrown or purchased and
    contain written documentation that defines
    everything needed to produce at any point of the
    project development

17
Models
  • A model is a representation (abstraction) of an
    important aspect of the real world
  • Some models are
  • physically similar to the real product
  • graphical representations of important details
  • abstract mathematical notations
  • Models used in systems development include
    representations of inputs, outputs, processes,
    data, objects, object interactions, locations,
    networks, and devices

18
Models
  • Most models are graphical models drawn that
    employ agreed-upon symbols and conventions called
    diagrams and charts
  • Some models of system components include
  • Flowchart
  • Data flow diagram (DFD)
  • Entity-relationship diagram (ERD)
  • Structure chart
  • Use case diagram
  • Class diagram
  • Sequence diagram
  • Some models used to manage the development
    process include
  • PERT chart
  • Gantt chart
  • Organizational hierarchy chart
  • Financial analysis models NPV, ROI, BSC

19
Tools
  • A tool in the context of system development is
    software support that helps create models or
    other components required in the project
  • The most comprehensive tool available for system
    developers is called a computed-aided system
    engineering (CASE) tool
  • CASE tools help analysts create the important
    system models to automatically check the models
    for completeness and compatibility with other
    system models
  • CASE tools can also generate program code based
    on the models
  • Some tools used in system development include
  • Project management application
  • Drawing/graphics application
  • Word processor/text editor
  • Computer-aided system engineering (CASE) tools
  • Integrated development environment (IDE)
  • Database management application
  • Reverse-engineering tool
  • Code generator tool

20
Techniques
  • A technique in system development is a collection
    of guidelines that help an analyst complete a
    system development activity or task
  • Techniques often include step-by-step
    instructions or for creating a model a more
    general advice for collecting information from
    system users
  • Some techniques used in system development
    include the following
  • Strategic planning techniques
  • Project management techniques
  • User interviewing techniques
  • Data-modeling techniques
  • Relational database design techniques
  • Structured analysis technique
  • Structured design technique
  • Structured programming technique
  • Software-testing techniques
  • Object-oriented analysis and design techniques

21
Relationships Among Components of a Methodology
  • A methodology includes a collection of techniques
    used to complete activities within each phase of
    the SDLC
  • The activities include completion of a variety of
    models and other documents and deliverables
  • System developers use software tools to help
    complete activities

22
Two Approaches to System Development
  • Systems development is done in many different
    ways
  • Different companies, groups in a company,
    individuals in a group may have different ways of
    developing systems
  • The two general approaches to system development
    that form the basis of virtually any
    methodologies include
  • The traditional approach
  • The object-oriented approach

23
The Traditional Approach
  • The traditional approach includes many variations
    based on techniques used to develop information
    systems with structured and modular programming
  • The approach is often referred to as structured
    system development
  • A refinement to structured development is called
    information engineering (IE), a popular variation

24
Structured System Development
  • The structured approach to system development
    uses structured analysis, structured design, and
    structured programming
  • The approach is also known as the structured
    analysis and design technique (SADT)
  • The structured programming technique, developed
    in the 1960s, was the first attempt to provide
    guidelines to improve quality of computer
    programs
  • The structured design technique was developed in
    the 1970s to make it possible to combine separate
    programs into more complex information systems
  • The structured analysis technique evolved in the
    early 1980s to help clarify the requirements for
    the computer system for developers before they
    designed the programs

25
Structured Programming
  • A structured program is one that has one
    beginning and one ending, and for which each step
    on the program execution consists of
  • Sequence
  • Decision
  • Repetition constructs
  • Another structured programming concept is
    top-down programming which divides more complex
    programs into a hierarchy of program modules
  • With top-down programming, one module at the top
    of the hierarchy controls program execution by
    calling required lower-level modules
  • When the hierarchy involves multiple programs,
    the arrangement is sometimes called modular
    programming

26
Structured Design
  • The structured design technique was developed to
    provide some guidelines for deciding
  • what the set of programs should be
  • what each program should accomplish
  • how the programs should be organized into a
    hierarchy
  • The modules and arrangements of the modules are
    shown graphically using a model called a
    structure chart
  • Two main principles of structured design are that
    program modules should be designed to be
  • Loosely coupled each module is independent of
    other modules
  • Highly cohesive each module accomplishes one
    clear task
  • Newer structured design assume database
    management systems (DBMS) are used in the system
    to interact with a database

27
Structured Analysis
  • The structured analysis technique helps the
    developer to define
  • what the system needs to do (the processing
    requirements)
  • what data the system needs to store and use (data
    requirements)
  • what inputs and outputs are needed
  • how the functions work together as a whole to
    accomplish tasks
  • The key graphical model of the system
    requirements used with structured analysis is
    called the data flow diagram (DFD)
  • The data flow diagram is a model that shows
    inputs, processes, storage, and outputs of a
    system produced in structured analysis

28
Structured Analysis
  • The most recent variation of structured analysis
    defines systems processing requirements by
    identifying all of the events that will cause the
    system to react in some way
  • Each event leads to a different system activity
  • The analyst takes each of these activities and
    creates a DFD showing the processing details,
    including inputs and outputs
  • A graphical model called an entity-relationship
    diagram (ERD) can also be created based on the
    data needed by a system, including things about
    which information (data entities) is stored and
    the relationships among them, produced in
    structured analysis and information engineering
  • The data entities from the ERD correspond to the
    data storage shown on DFDs

29
Weaknesses of the Structured Approach
  • The structured approach has been considered to be
    weak because critics thought that
  • the techniques address only some, but not all, of
    the activities of analysis and design
  • the transition from the DFD (in structured
    analysis) to the structure chart (in structured
    design) did not work well in practice
  • the data modeling and the ERD were much more than
    modeling processes with the DFD
  • to ensure that systems are comprehensive and
    coordinated, the development of a system should
    begin only after the organization completed an
    overall strategic planning effort
  • Because of these weaknesses, some developers
    turned to a refinement of structured development
    named information engineering (IE)

30
Information Engineering
  • Information engineering (IE) is a traditional
    system development methodology thought to be more
    rigorous and complete than the structured
    approach, because of its focus on strategic
    planning, data modeling, and automated tools
  • IE focused much more on data
  • The process model of IE process dependency
    diagram is similar to a DFD but focuses more on
    which processes are dependent on other processes
    and less on inputs and outputs
  • IE provides a more complete life cycle support
    through the use of an integrated CASE tool
  • The CASE tool helps analysts to follow the IE
    approach faithfully but it lacks flexibility
  • By the late 1980s, the IE was popular with large
    mainframe systems but less useful for smaller
    desktop applications and client/server
    applications because of the lack of flexibility

31
The Object-Oriented Approach
  • Many information systems projects today are now
    using the object-oriented technology which
    requires a completely different approach
  • The object-oriented approach views an information
    system as a collection of interacting objects
    that work together to accomplish tasks
  • Conceptually, there are no processes (or
    programs) and data entities (or files)
  • The system consists of objects which is a thing
    in the computer system that can respond to
    messages

32
The Object-Oriented Approach
  • The object-oriented approach began with the
    development of the Simula programming language in
    Norway in the 1960s
  • Simula was used to create computer simulations
    involving objects like ships, etc
  • In the 1970s, the Smalltalk language was
    developed to solve the problem of creating
    graphical user interfaces (GUIs) that involved
    objects like buttons, menus etc
  • Other programming languages include C, Java, C

33
The Object-Oriented Approach
  • Object-oriented analysis (OOA) defines all of the
    types of objects that do the work in the system
    and shows what user interactions are required to
    complete tasks
  • Object-oriented design (OOD) defines all of the
    types of objects necessary to communicate with
    people and devices in the system, showing how
    objects interact to complete tasks, and refining
    the definition of each type of object so it can
    be implemented with a specific language or
    environment
  • Object-oriented programming (OOP) consists of
    writing statements in a programming language to
    define what each type of object does, including
    the messages that the objects send to each other
  • The object-oriented approach uses a class diagram
    to show all of the classes of objects in the
    system
  • Every class may have more sophisticated
    subclasses that inherit characteristics of the
    class above them

34
Benefits of the Object-Oriented Approach
  • Two major benefits of the object-oriented
    approach include
  • Naturalness intuitive because people tend to
    think about the world in terms tangible objects
  • Reuse many systems in organizations use the
    same objects, so the classes can be used over and
    over again when needed
  • Many systems developed today combine both
    traditional and object-oriented technology
  • Some IDEs also combine the two approaches in the
    same tool

35
Systems Development Life Cycle Variations
  • There are some variations to the SDLC
  • Some of the variations are based on the life
    cycle phases
  • Some life cycles differ in their emphasis on the
    social, technical, and subsystems
  • Following are some of the variations
  • Variations of names for phases
  • Variations based on an emphasis on people
  • Variations based on speed of development

36
Variations of Names for Phases
  • Early SDLC
  • Feasibility study
  • System investigation and analysis
  • Systems design
  • Implementation
  • Review and maintenance
  • Information Engineering (IE)
  • Information strategy planning
  • Business area analysis
  • Business systems design and technical design
  • Construction and transition
  • Production
  • Unified Process (UP)
  • Inception phase
  • Elaboration phase
  • Construction phase
  • Transition phase

37
Variations of Names for Phases
  • SDLC with Activity Names and Phases
  • Organize the project and study feasibility
  • Study and analyze the current system
  • Model and prioritize the functional requirements
  • Generate alternatives and propose the best
    solution
  • Design the system
  • Obtain needed hardware and software
  • Build and test the new system
  • Install and operate the new system

38
Variations Based on an Emphasis on People
  • Some methodologies recognize more explicitly that
    information systems are socio-technical systems
  • Socio-technical systems information systems
    that include both social and technical subsystems
    designed to work well together
  • Other terms for socio-technical system
    development include user-centered design and
    participatory design

39
Variations Based on Speed of Development
  • Reasons for speeding up the development process
    include
  • Continuing backlog of needed systems
  • Constantly changing technological and business
    environment
  • Some of the variations include
  • Rapid application development (RAD)
  • Prototype development

40
Current Trends in Development
  • Below are some of the new trends in systems
    development
  • Risk and the spiral model
  • extreme programming (XP)
  • The unified process (UP)
  • Agile Modeling

41
Risk and the Spiral Model
  • The spiral model is a highly iterative model
  • The model shows the SDLC as spiral, starting in
    the center and working its way around, over and
    over again, until project completion
  • Among the many ways of implementing the spiral
    model is the following
  • Initial planning gather just enough information
    for a prototype
  • The first prototype goes through the sequential
    path through analysis, design, construction,
    testing, integration with previous prototype
    components
  • Planning for the next prototype
  • Cycle of activities begins again
  • Spiral model focuses on identifying risk factors

42
eXtreme Programming (XP)
  • The XP (lightweight systems development) method
    adapts techniques from many sources and adds some
    new ideas
  • Developers plan project by making users describe
    user stories
  • User stories descriptions of the support users
    need from the system required functionalities
  • The stories are documented quickly with informal
    descriptive models
  • Developers plan a series of releases for the
    project, each including a working part of the
    final system
  • The first release is worked, taking several
    iterations to complete before going to the next
    release

43
The Unified Process (UP)
  • The UP is an object-oriented (OO) system
    development method offered by Rational software
    (recently purchased by IBM)
  • The UP is the attempt by the three proponents
    (Grady Booch, James Rumbaugh, and Ivar Jacobson)
    of the Unified Modeling Language (UML) to define
    complete methodology that
  • Provides several unique features
  • Uses UML for systems modeling
  • UP is not a standard OO development methodology
    yet but rapidly gaining attention because of the
    stature of the UML proponents

44
The Unified Process (UP)
  • The UP is designed to reinforce six best
    practices of systems development common to many
    system development methodologies
  • Develop iteratively
  • Define and manage system requirements
  • Use component architectures
  • Create visual models
  • Verify quality
  • Control changes
  • The UP defines four cycles
  • Inception
  • Elaboration
  • Construction
  • Transition

45
The Unified Process (UP)
  • The inception phase defines the scope of the
    project by specifying use cases (similar to user
    stories) and completes a feasibility study
  • The elaboration phase focuses on several
    iterations that take part of the system and
    define the requirements, design the solution, and
    implement the solution
  • The construction phase focuses on building the
    system (possibly multiple releases) using
    additional iterations that include requirements,
    design, and implementations
  • The transition phase involves turning the system
    over to the end users and focusing on end-user
    training, installation, and support

46
The Unified Process (UP)
  • The four phases on the UP are different from the
    traditional SDLC
  • Rather than defining the generic analysis,
    design, and implementation phases, the four
    phases of the UP define the project sequentially
    by indicating the emphasis on the project team at
    any point in time.

47
The Unified Process (UP)
  • The UP defines the following disciplines within
    each phase to make iterative development
    manageable
  • Business modeling
  • Requirements modeling
  • Design
  • Implementation
  • Testing
  • Deployment
  • Configuration and change management
  • Project management
  • Some of the defined roles of the UP include
  • Designer
  • User case specifier
  • Systems analyst
  • Implementer
  • Architect

48
Agile Modeling
  • The Agile Modeling (popularized by Scott Ambler)
    encourages developers to combine the best of XP
    with the best of the UP
  • It increases the amount of modeling over XP but
    decreases the formality and documentation
    required of the UP
  • It includes the following
  • Iterative and incremental modeling applying the
    right models, creating several models in
    parallel, and modeling in small increments
  • Teamwork model with others, get active
    stakeholder participation, encourage collective
    ownership, and display models quickly
  • Simplicity create simple content, depict models
    simply, and use the simplest modeling tools
  • Validation consider testability, then prove the
    model is right code

49
Tools to Support System Development
  • Automated tools are needed to improve the speed
    and quality of systems development, irrespective
    of the methodology used
  • CASE tools contain a database information about
    the project, called a repository which stores
    information about the system, including models,
    descriptions, and references that link the
    various models
  • Upper CASE tools - provide suport for analysts
    during the analysis and design phases
  • Lower CASE tools - provide support for
    implementation, primarily generating programs and
    database schemas based on specifications in the
    repository
  • Integrated CASE (ICASE) tools - combine support
    for the full life cycle

50
Tools to Support System Development
  • Below are sample CASE tools
  • Microsoft Visio
  • Visible Analyst
  • Oracle Designer
  • Rational Rose
  • Together
  • Embarcadero Describe
  • Rational XDE Professional
Write a Comment
User Comments (0)
About PowerShow.com