Top Banner
1 SYS366 The Systems Development Life Cycle
31

1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

Jan 03, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

1

SYS366

The Systems Development Life Cycle

Page 2: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

2

Today

What is Software Development Overview of Software Development What is a system? Systems Development Lifecycle (SDLC) Iterative Development

Page 3: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

3

What is Software Development?

Software Development implies developing some software – but it does not involve simply coding programs

Software is developed to turn manual processes into automated processes or to improve/enhance existing automated processes.

Page 4: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

4

What does this have to do with Systems?

Software Development entails understanding the problem to be solved, understanding how a business operates and understanding that the solution to be developed will be of value to the business (First ½ of SYS366)

The Systems stream of courses provide the knowledge of the steps that need to be followed to successfully create a software solution from the inception of the idea to a working, fully operational system. This collection of steps is called the Systems Development Life Cycle.

Page 5: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

5

What is a system?

A combination of hardware and developed software that create the software solution that meets the needs of a business.

A collection of inter-related components that collect, process, store and provide as output the information needed to complete business tasks.

Page 6: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

6

What is a system?

Characteristics of a system*– It exists in an environment– It is separated from its environment by some kind of

boundary– It has inputs and outputs which come from, or are sent to

the environment– It has interfaces (allows communication between two

systems)– It can have sub-systems (which are also systems)– It has a control mechanism

*Object-Oriented Systems Analysis & Design using UML, 1999 pages 5-6

Page 7: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

7

What is a system?

Characteristics of a system*– It exists in an environment– It is separated from its environment by some kind of

boundary– It has inputs and outputs which come from, or are sent to

the environment– It has interfaces (allows communication between two

systems)– It can have sub-systems (which are also systems)– It has a control mechanism

*Object-Oriented Systems Analysis & Design using UML, 1999 pages 5-6

Page 8: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

8

What is a system?

What the system does

System Boundary

Inputs Outputs

Control

How the system is controlled

FeedbackFeed-forward

*Object-Oriented Systems Analysis & Design using UML, 1999 pages 5-6

Page 9: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

9

Need for Software Development:

– Environments are rapidly changing– New technologies are frequently introduced– Companies merge and need to combine their

systems– Governments pass new legislation or make changes

to it (example, GST & PST changed to HST)

Page 10: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

10

Typical Software Development Solutions

Developed in-house Turnkey Off-the shelf Contracted out

Page 11: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

11

Systems Development Lifecycle (SDLC)

Software Development Projects are developed according to a definite methodology called the SDLC

• organizes the activities of a project•Interactive and Incremental•followed by professionals involved in software development

Page 12: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

12

What is a methodology?

Comprehensive guidelines to follow for completing every SDLC activity

Examples: Structured (Traditional), Object-oriented

Page 13: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

13

Systems Development Methodologies

Structured– Worked well for centralized processing applications

and procedural languages Object Oriented

– Works for GUI and web solutions– OO languages: C++, Java, C#, Pearl, etc

Page 14: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

14

Structured Systems Development Methodology

Based on the functions that a system needs to perform Development is rigid: does not allow for changes easily

without significant impact to a project deadline Components do not tend to be reusable: solution

developed is for a specific set of functions (which usually aren’t shared)

Uses Data Flow Diagrams (the flow of data through a system) and Entity Relationship Diagrams (the data the system is going to use)

Page 15: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

15

Object-oriented Systems Development Methodology

Fundamentally different from traditional software development

Object-oriented approach– Real world objects are modeled by corresponding

programming objects. Objects have state, behaviour and identity.

Page 16: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

16

Object Oriented Systems Development Methodology

Based on the interaction that happens between ‘objects’

Does still consider the functions the system needs to perform however

Allows for reusability or sharing of code (a dialogue box construct is the same across applications)

Reduces the development time for an application Focuses on object technology such as multimedia

systems

Page 17: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

17

The Phases of the SDLC: Systems Development Life Cycle

The Phases of the SDLC for both the Structured and the OO methodologies are similar

Page 18: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

18

Phases of the SDLC

Project Planning Phase Analysis Phase: understanding business

needs Design Phase: conceptualizing computer-

system solutions Implementation Phase: coding, testing and

installation Support Phase

Page 19: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

19

How the Object-oriented SDLC is used in the Systems courses

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’– Deliverables:

Page 20: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

20

How the Object-oriented SDLC is used in the Systems courses

Analysis: – Deliverables:

Business Use Case Diagrams (Sys366) Business use case specifications (Sys366) Stakeholder Diagrams (Sys366) Systems Use Case Diagrams (Sys366, Sys466, PRJ566 Systems Use Case Descriptions (Sys366, Sys466,

PRJ566) Project Initiation Document outlining the requirements of

the system (Sys366 & PRJ566)

Page 21: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

21

How the Object-oriented SDLC is used in the Systems courses

Design:– Architecture (what platform will the solution be

developed on) (PRJ566, PRJ666)– Integrates the user interfaces with the data more

clearly (PRJ566, PRJ666)– Defines ‘how the system will do it’– Follows certain design patterns (SYS466)

Page 22: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

22

How the Object-oriented SDLC is used in the Systems courses

Design:– Deliverables:

System-Level Sequence Diagrams (Sys466, PRJ566) Object-Level Sequence diagrams (Sys466, PRJ566) Class diagrams (Sys466, PRJ566) Screen Mock-ups (PRJ566) Database Design (PRJ566)

Page 23: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

23

How the Object-oriented SDLC is used in the Systems courses

Analysis & Design of a system for the capstone project (Sys566)

Project Management (Sys566)

Page 24: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

24

How the Object-oriented SDLC is used in the Systems courses

Code, Test, Implement: (PRJ666)– Code and install system for capstone project– Define and create databases– Deliverables:

Program code and documentation Tested, working system User Documentation

Page 25: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

25

How the Object-oriented SDLC is used in the Systems courses

Implementation: (PRJ666)– The working system is delivered– Deliverables:

Hardware Databases Data Converted Software installed Support processes implemented

– This phase actually happens in varying levels of detail at the end of each cycle

Page 26: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

26

Why the move to Object-oriented Methodology?

– Software Development is too expensive Poor Quality Late Delivery Poor Productivity Too much person-power needed Fragile systems Legacy Systems User Interfaces not state of the art

Page 27: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

27

Why the move to Object-oriented Methodology?

– Software Developers are being asked to Develop more sophisticated systems Tackle more complex systems Produce more reliable and malleable systems Shorten the delivery cycle Reduce costs

Page 28: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

28

Software Development

Some common causes for Failure:– Deadlines that cannot be met– Budgets that have been exceeded– Solutions that don’t work– Systems too complex to maintain– Customer’s requirements not fully understood or

captured correctly– Customers continually change their requirements– Customers are not committed to the project

Page 29: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

29

How does the Object-oriented SDLC help to overcome these problems in Software Development?

The system under development is refined and transformed through analysis, design, code and test phases – details are added in successive iterations (changes and improvements are introduced as needed) and incremental releases of software modules are delivered.

System design – developing information systems using UML by Leszek A.

Maciaszek (page 5, 2001)

Page 30: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

30

Iterative Nature of the Software Development Life Cycle

Page 31: 1 SYS366 The Systems Development Life Cycle. 2 Today What is Software Development Overview of Software Development What is a system? Systems Development.

31

SDLC Variations

Developers encounter many variations of SDLC in practice. Based on:

– Phases– Iteration– Emphasis on people– Speed of development

BUT you have to understand the basic methodology before you can vary it