Vous êtes sur la page 1sur 42

PMC130

FUNDAMENTALS OF SYSTEMS DEVELOPMENT

Week 1 Lecture

Professor: Ali Esfandian


Email: ali.esfandian@senecacollege.ca

1
Outline

• Software Development and Systems Analysis and


Design
• Systems Development Lifecycle (SDLC)
• Iterative Development
• Introduction to Use Cases
• Projects, Programs, & Portfolios
• The Management & the Project Team

Systems Analysis and Design in a Changing World, 7th Edition - Chapter 1


©2016. Cengage Learning. All rights 2
reserved.
Learning Objectives
• At the end of this class, you should be able to:
• Describe the purpose of systems analysis and design when developing
information systems
• Explain the purpose of the system development life cycle and identify
its six core processes
• Explain how information system methodologies provide guidelines for
completing the six core processes
• Understand the methodologies or approaches to developing
Information Systems
• Describe the characteristics of Agile methodologies and iterative
system development
• Understand the meaning of Projects, Programs & Portfolios.
• Explain the meaning of project management and the roles of a project
team

Systems Analysis and Design in a Changing World, 7th Edition - Chapter 1


©2016. Cengage Learning. All rights 3
reserved.
Learning Objectives
(continued)

• Understand the Fundamental concepts of


Systems Development
• Identify the six core processes of the SDLC
and describe how they are used in each
iteration
• Identify key documents used in planning a
project
• Identify key diagrams used in systems
analysis and systems design
• Understand the need for use cases and use
case diagrams in software projects
• Identify the factors that can make a project to
Systems Analysis and Design in a Changing World, 7th Edition - Chapter 1

reserved.
succeed or fail
©2016. Cengage Learning. All rights 4
Projects & Project
Management
• A project is a temporary endeavor
undertaken to create a unique product,
service, or result.
• Software projects are undertaken to
achieve a specific objective, such as
creating new products, modifying an
existing software product, integrating a
set of existing software components, or to
extend the capabilities of software
products.
• Project management is the application of
Systems Analysis and Design in a Changing World, 7th Edition - Chapter 1
©2016. Cengage Learning. All rights 5
reserved.
Software Development
• Computer application (app) – a computer
software program that executes on a
computing device to carry out a specific set of
functions
• Modest scope
• Information system – a set of interrelated
components that collects, processes, stores,
and provides as output the information
needed to complete business tasks
• Broader in scope than “app”
• Includes database and related manual processes

Systems Analysis and Design in a Changing World, 7th Edition - Chapter 1


©2016. Cengage Learning. All rights 6
reserved.
Computer Applications &
Information Systems
Examples

Computer Applications
• Microsoft Word, spreadsheets, VLC
media player, Firefox or Google Chrome,
accounting applications, photo editor,
mobile apps such as video games,
WhatsApp, Web browsers, etc.
Information Systems
• Mobile phone systems, Online banking
systems, Radio and TV broadcast
systems,
Systems Analysis ERP
and Design in a Changing system,
World, etc
7th Edition - Chapter 1
©2016. Cengage Learning. All rights 7
reserved.
The Project Team
PM

BA QA SA

Designer Develope
r
8
System Development Life
Cycle (SDLC)
• The process consisting of all activities required to
build, launch, and maintain an information
system. Six core processes are:
1. Identify the problem or need and obtain approval
2. Plan and monitor the project
3. Discover and understand the details of the problem
or need
4. Design the system components that solve the
problem
5. Build, test, and integrate system components
6. Complete system tests and then deploy the solution
Systems Analysis and Design in a Changing World, 7th Edition - Chapter 1
©2016. Cengage Learning. All rights 9
reserved.
SDLC

10
Software Development
1. Understand the need (business need)
2. Capture the vision
3. Define a solution
4. Communicate the vision and solution
5. Build the solution
6. Confirm that the solution meets the
need
7. Launch the solution system
Systems Analysis and Design in a Changing World, 7th Edition - Chapter 1
©2016. Cengage Learning. All rights 11
reserved.
Software Development

• Systems analysis – those


activities that enable a person to
understand and specify what an
information system should
accomplish
• Systems design – those activities
that enable a person to define and
describe in detail the system that
solves the need

Systems Analysis and Design in a Changing World, 7th Edition - Chapter 1


©2016. Cengage Learning. All rights 12
reserved.
Systems Analysis and Design in a Changing World, 7th Edition - Chapter 1
©2016. Cengage Learning. All rights 13
reserved.
System Development Life
Cycle (SDLC)
• System development process – the actual
approach used to develop a particular
information system (aka: methodology)
• Unified process (UP)
• Extreme programming (XP)
• Scrum

• Most processes/methodologies now use Agile


and Iterative development

Systems Analysis and Design in a Changing World, 7th Edition - Chapter 1


©2016. Cengage Learning. All rights 14
reserved.
Iterative, Agile &
Waterfall Development
• Waterfall development -- an approach to
system development in which the system is
developed following a structured method
• Agile development – an information system
development process that emphasizes flexibility
to anticipate new requirements during
development
• Fast on feet; responsive to change
• Iterative development— an approach to system
development in which the system is “grown” piece by
piece through multiple mini-projects called iterations

Systems Analysis and Design in a Changing World, 7th Edition - Chapter 1


©2016. Cengage Learning. All rights 15
reserved.
Systems Development
Methodologies
SDLC has two commonly accepted methodologies
for developing software applications or
Information systems.

Waterfall (Structured)
Agile
• Works well for centralized • Effective for GUI and
processing applications and
procedural languages web solutions
• Linear methodology, difficult • Useful when constantly
to evolve project
making many small
• Rigid Development, minimal changes
reusability
• Uses Data Flow Diagrams • OO languages,
and Entity Relationship including C++, Java,
Diagrams
C#, Perl, etc.
Waterfall Methodology

• In the Waterfall approach, the entire process of


software development is divided into separate
phases, where the outcome of one phase acts as
the input for the next phase sequentially.

• A new phase can only start after the preceding


phase has been fully completed.

1
Waterfall Methodology
Agile Methodology

• The Agile Method is the approach that assists


the project team in responding to the
unpredictability of software development.
• It uses incremental, iterative work sequences
that are commonly known as sprints.
• In Agile, a new phase can run concurrently
with the preceding phase and does not need
to wait for the preceding phase to be
concluded.

1
Agile Methodology

2
Agile Vs Waterfall
Methodologies
• In Waterfall , there is rigorous planning
and strict control. Testing is delayed
• In Waterfall, changes are almost
impossible

• In Agile, there is continuous control of


requirements and the development with
regular testing done.
• In Agile, changes occur most times and
flexibility is allowed
SDLC & the Six (6) Core
Processes

The Six core Processes


1. Identify the problem or need and obtain approval
2. Plan and monitor the project
3. Discover and understand the details of the problem or need
4. Design the system components that solve the problem
5. Build, test, and integrate system components
6. Complete system tests and then deploy the solution
Analysis

• Systems requirements are determined,


defined and documented
• Looks at functions (at a high level) and
the data that will be used
• Defines “what the system is to do”
Analysis

Understanding business needs, includes


• Research and understand the problem
• Identify Stakeholders
• Identify Business Needs
• Document Business Processes
Design

Conceptualizing computer-system
solutions:
• Develop a set of possible solutions
(alternatives)
• Decide which solution is best and make
a recommendation
• Define the details of the chosen solution
• Design the system to be developed
Implementation

• The actual implementation of what has


been analyzed and designed
• Coding
• Creating data constructs
• Installation
Testing

• Finding bugs or glitches in the (nearly)


finished program
• Error-tracking
• Actual software testing to ensure quality
• May include systems security, usability,
reliability, availability, scalability, and
performance.
• Carry out Quality Assurance
• Usually considered part of implementation
and deployment
Deployment

Determining the success of the solution and


make the system available for use
• Monitor to make sure that desired results are
obtained
• Determine what/if any changes need to be
made
Post implementation analysis
• Lesson learned
• Done after a project is completed to check if
objectives were met
Iterative Nature of the
Requirement
SDLC
Analysis

Analys
is

Evaluati Desig
on n
Analys
is

Implementat Desig
Testin ion Evaluati
n
g on Analys
is

Implementat Desig
Testin ion Evaluati
on n
g

Implementat
Testin ion
g
SDLC Variants

Developers encounter many variations of


SDLC in practice:
• Phases may vary
• Number of iterations
• Emphasis on people
• Speed of development
BUT you have to understand the basic
methodology before you can vary it
Why Does Software
Development Project
Fail?
Some Common Causes
for Failure
• Deadlines that cannot be met
• Budgets that have been exceeded
• Solutions that don’t work as defined or
required
• Systems too complex to build or maintain
• Customer’s requirements not fully
understood or captured correctly
• Customers continually change their
requirements
• Customers are not committed to the project
Projects, Programs &
Portfolios
• A program is a group of projects that are
similar or related, which are managed and
coordinated as a group instead of
independently.
• A portfolio is a collection of projects or
programs to facilitate effective
management, and to meet strategic
business objectives.
• A portfolio may contain dissimilar projects or
programs
Systems Analysis and Design in a Changing World, 7th Edition - Chapter 1

• Some software projects may be part of


reserved.
©2016. Cengage Learning. All rights 33
Projects, Programs &
Portfolios

34
INTRODUCTION TO USE
CASES

Systems Analysis and Design in a Changing World, 7th Edition - Chapter 1


©2016. Cengage Learning. All rights 35
reserved.
What is a use case?
 A use case is a list of actions or event steps that
defines the interactions between an actor and a
system to achieve a goal.
 The actor can be a human or other external systems that
interact with a system.
 A use case can be either business use case, or
system use case.
A business use case depicts how an actor interacts
with a business process, while a system use case
depicts how a proposed system will function and
how it interacts with its actors
Systems Analysis and Design in a Changing World, 7th Edition - Chapter 1
©2016. Cengage Learning. All rights 36
reserved.
Use Case Diagram
Supplier information subsystem

Systems Analysis and Design in a Changing World, 7th Edition - Chapter 1


©2016. Cengage Learning. All rights 37
reserved.
Summary
• Systems development is developing information
systems that solve an organization’s need
• System development involves 6 core processes,
known as the SDLC
• A project is a temporary endeavor undertaken to
create a unique product, service, or result.
• Software projects are done to achieve specific
objectives, such as creating new products, or
modifying an existing product
• Project management is the application of
knowledge, skills, tools, and techniques to meet
the project objectives or requirements. 38
Summary
• Systems Analysis enables the team to understand a
problem, while systems design focuses on solution
• Lack of proper management or control over the
Triple Constraint can make a project to fail
• A program is a group of projects that are managed
and coordinated as a group instead of individually.
• A portfolio is a collection of projects or programs to
facilitate effective management and control.
• A use case enables the team or stakeholders to
visualize how an actor interacts with a business
process, or with a business system
39
Summary – Terms

• Terms to review and know include:


• Computer application
• Information system
• Systems analysis
• System design
• System development lifecycle (SDLC)
• Information system development process
(methodology)

40
Summary – Terms
• Agile development
• Iterative development
• Waterfall model
• Use cases
• Use case diagram
• Project
• Program
• Portfolio
• Project management
• Project Team
41
Questions?

42

Vous aimerez peut-être aussi