Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 49

Systems, Roles, and

Development Methodologies

Kendall & Kendall


Systems Analysis and Design
Learning Objectives

 Understand the need for systems analysis and


design in organizations.
 Realize what the many roles of the systems analyst
are.
 Comprehend the fundamentals of three development
methodologies:
– SDLC
– The agile approach
– Object-oriented systems analysis and design
Information—A Key Resource

 Fuels business and can be the critical factor


in determining the success or failure of a
business
 Needs to be managed correctly
 Managing computer-generated information
differs from handling manually produced data
Major Topics

 Fundamentals of different kinds of information


systems
 Roles of systems analysts
 Phases in the systems development life cycle
as they relate to Human-Computer Interaction
(HCI) factors
 CASE tools
 Open Source Software
Need for Systems Analysis
and Design

 Installing a system without proper planning leads to


great user dissatisfaction and frequently causes the
system to fall into disuse
 providing structure to the analysis and design of
information systems
 A series of processes systematically undertaken to
improve a business through the use of computerized
information systems
Roles of the Systems Analyst

 The analyst must be able to work with people


of all descriptions and be experienced in
working with computers
 Three primary roles:
– Consultant
– Supporting expert
– Agent of change
Qualities of the Systems Analyst

 Problem solver
 Communicator
 Strong personal and professional ethics
 Self-disciplined and self-motivated
Systems Development Life Cycle
(SDLC)

 The systems development life cycle is a


phased approach to solving business
problems
 Developed through the use of a specific
cycle of analyst and user activities
 Each phase has unique user activities
The Seven Phases of the Systems
Development Life Cycle
Incorporating Human-Computer
Interaction (HCI) Considerations

 The demand for analysts who are capable of


incorporating HCI into the systems
development process keeps increasing, as
companies begin to realize that the quality of
systems and the quality of work life can be
improved by taking a human-centered
approach at the outset of a project
1. Identifying Problems, Opportunities,
and Objectives

 Activity:
– Interviewing user management
– Summarizing the knowledge obtained
– Estimating the scope of the project
– Documenting the results
1. Identifying Problems, Opportunities,
and Objectives

 Output:
– Feasibility report containing problem definition
and objective summaries from which
management can make a decision on whether to
proceed with the proposed project
2. Determining Human Information
Requirements

 Activity:
– Interviewing
– Sampling and investing hard data
– Questionnaires
– Observe the decision maker’s behavior and
environment
– Prototyping
– Learn the who, what, where, when, how, and why
of the current system
2. Determining Human Information
Requirements

 Output:
– The analyst understands how users accomplish their work
when interacting with a computer
– Begin to know how to make the new system more useful
and usable
– Know the business functions
– Have complete information on the:
 People
 Goals
 Data
 Procedure involved
3. Analyzing System Needs

 Activity:
– Create data flow, activity, or sequence diagrams
– Complete the data dictionary
– Analyze the structured decisions made
– Prepare and present the system proposal
 Output:
– Recommendation on what, if anything, should be
done
4. Designing the Recommended System

 Activity:
– Design procedures for data entry
– Design the human-computer interface
– Design system controls
– Design database and/or files
– Design backup procedures
 Output
– Model of the actual system
5. Developing and Documenting
Software

 Activity:
– System analyst works with programmers to develop any
original software
– Works with users to develop effective documentation
– Programmers design, code, and remove syntactical
errors from computer programs
– Document software with help files, procedure manuals,
and Web sites with Frequently Asked Questions
5. Developing and Documenting
Software

 Output:
– Computer programs
– System documentation
6. Testing and Maintaining the System

 Activity:
– Test the information system
– System maintenance
– Maintenance documentation
 Output:
– Problems, if any
– Updated programs
– Documentation
7. Implementing and Evaluating the
System

 Activity:
– Train users
– Analyst plans smooth conversion from old system
to new system
– Review and evaluate system
 Output:
– Trained personnel
– Installed system
Some Researchers Estimate that the Amount of Time Spent on
Systems Maintenance May Be as Much as 60 Percent of the Total
Time Spent on Systems Projects
The Impact of Maintenance

 Maintenance is performed for two reasons:


– Removing software errors
– Enhancing existing software
 Over time the cost of continued maintenance
will be greater than that of creating an entirely
new system. At that point it becomes more
feasible to perform a new systems study.
Resource Consumption over the
System Life
Approaches to Structured Analysis and Design and to the
Systems Development Life Cycle

 Traditional systems development life


cycle
 CASE systems development life cycle
 Object-oriented systems analysis and
design
Case Tools

 CASE tools are productivity tools for


systems analysts that have been created
explicitly to improve their routine work
through the use of automated support
Reasons for Using Case Tools

 Reasons for using CASE tools


– Increasing analyst productivity
– Improving analyst-user communication
– Integrating life cycle activities
The Agile Approach

 Based on:
– Values
– Principles
– Core practices
Agile Values

 Communication
 Simplicity
 Feedback
 Courage
Four Agile Resources

 Resources are adjusted to ensure successful


project completion
– Time
– Cost
– Quality
– Scope
Five Stages of Agile Development

 Exploration
 Planning
 Iterations to the first release
 Productionizing
 Maintenance
Agile Project Development Process
Object-Oriented (O-O) Systems Analysis
and Design

 Alternate approach to the structured approach


of the SDLC that is intended to facilitate the
development of systems that change rapidly in
response to dynamic business environments
 Analysis is performed on a small part of the
system followed by design and implementation
Object-Oriented (O-O) Systems Analysis
and Design

 The cycle repeats with analysis, design,


and implementation of the next part and
this repeats until the project is complete
 Examines the objects of a system
Unified Modeling Language (UML)
Phases

 Define the use case model:


– Use case diagram
– Use case scenarios
 Create UML diagrams
 Develop class diagrams
 Draw statechart diagrams
 Modify the UML diagrams
 Develop and document the system
Choosing a Method

 Choose either:
– SDLC
– Agile
– Object-oriented methodologies
When to Use SDLC

 Systems have been developed and documented


using SLDC
 It is important to document each step
 Upper level management feels more comfortable or
safe using SDLC
 There are adequate resources and time to complete
the full SDLC
 Communication of how new systems work is
important
When to Use Agile

 There is a project champion of agile methods in the


organization
 Applications need to be developed quickly in
response to a dynamic environment
 A rescue takes place (the system failed and there is
no time to figure out what went wrong)
 The customer is satisfied with incremental
improvements
 Executives and analysts agree with the principles of
agile methodologies
When to Use Object-Oriented

 The problems modeled lend themselves to classes


 An organization supports the UML learning
 Systems can be added gradually, one subsystem at
a time
 Reuse of previously written software is a possibility
 It is acceptable to tackle the difficult problems first
Open Source Software

 An alternative of traditional software development


where proprietary code is hidden from the users
 Open source software is free to distribute, share,
and modify
 Characterized as a philosophy rather than simply the
process of creating new software
 Examples: Linux Operating System, Apache Web
Server, Mozilla Firefox
Four Types of Open Source
Communities:

 Ad hoc
 Standardized
 Organized
 Commercial
Six Key Dimensions that Differentiate
Open Source Communities

 General structure
 Environment
 Goals
 Methods
 User community
 Licensing
Reasons for Participating in Open
Source Communities

 Rapidity with which new software can be


developed and tested
 Faster to have a committed group of experts
develop, test, and debug code
 This fosters creativity
 Have many good minds work with innovative
applications
Reasons for Participating in Open
Source Communities

 Potential to reduce development costs


 Bolster their self-image
 Contribute something worthwhile to the
software development community
Open Source Contribution and
Differentiation

 Contributions to the open community and


differentiation from the open community are
for the following reasons:
– Cost
– Managing resources
– Time it takes to bring a new product to the market
Reasons for Analyst Participation in the
Open Source Community

 Curiosity about software benefits


 Achieve collective design
– Incorporate open source software design into:
 Proprietary products
 Processes
 Knowledge
 IT artifacts
Collective Design

 Through a process of collective design the IT


artifact is imbued with
– Community and organizational structures
– Knowledge
– Practices
Summary

 Information is a key resource


 Integration of traditional systems with new technologies
 Roles and qualities of the systems analyst
 The systems development life cycle
 CASE tools
 Agile systems development
 Object-oriented systems development
 Open source systems

You might also like