1 sys366 week 1 - lecture 1 introduction to systems

35
1 SYS366 Week 1 - Lecture 1 Introduction to Systems

Upload: cornelia-neal

Post on 25-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

1

SYS366

Week 1 - Lecture 1Introduction to Systems

Page 2: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

2

Today What is Software Development Overview of Software Development What is a system? Systems Development Lifecycle

(SDLC) The Systems Stream Sys366 overview and requirements

Page 3: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

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 Week 1 - Lecture 1 Introduction to Systems

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

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 Week 1 - Lecture 1 Introduction to Systems

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.

a shared understanding of how things work.

Page 6: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

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 Week 1 - Lecture 1 Introduction to Systems

7

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 8: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

8

History of Software Development

1970s/1980s: Mainframe Centralized processing The Mainframe Punch card technology

Applications Utility bills Voting Machines

Modern Application Chip development

Page 9: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

9

History of Software Development

1980s/1990s: Mid-Range Centralized/Distributed processing

1990s: Client/Server Data Warehousing Distributed processing

Page 10: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

10

Need for Software Development:

Environments are rapidly changing New technologies are frequently

introduced Companies merge and need to

combine their systems Government legislation

Page 11: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

11

Software Development Typical Solutions

Developed in-house Turnkey Off-the shelf Contracted out

Page 12: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

12

Software Development Approaches Structured

Worked well for centralized processing applications

Object Oriented Works for GUI and web solutions

Page 13: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

13

Software Development Approaches Structured

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 14: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

14

Software Development Methodologies Object Oriented

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 15: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

15

Object-oriented Development

OO is fundamentally different from traditional software development Object-oriented approach

Real world objects are modeled into corresponding programming objects.

Objects have state, behaviour and identity.

Page 16: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

16

Systems Development Life Cycle (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 anyone involved in software development

Page 17: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

17

Systems Development Life Cycle (SDLC) Project Planning Phase Analysis Phase: understanding business

needs Design Phase: conceptualizing

computer-system solutions Implementation Phase: coding, testing

and installation Support Phase

Page 18: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

18

SDLC Aids for Software Development

Methodologies Comprehensive guidelines to follow

for completing every SDLC activity Collection of techniques Examples: Structured, OO

Page 19: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

19

SDLC Aids for Software Development

Techniques

Collection of guidelines that help the Developer complete a system development activity or task

Step-by-step instructions General advice

Page 20: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

20

SDLC Aids for Software Development

Models Representation of an important

aspect of the real world Diagrams and charts Project planning aids Rational Rose

Page 21: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

21

Where will I learn these methodologies, techniques, and models? The Systems Stream

Page 22: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

22

Object-oriented Systems Development Life Cycle 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:

Activity Tables (Sys366) Use Case Diagrams (Sys 366) Scenarios (Sys466) Initial User Interfaces (Sys366) Class Diagrams (with attributes only) (Sys466)

Page 23: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

23

Object-oriented System Development Life Cycle Design:

Architecture (what platform will the solution be developed on)

Integrates the user interfaces with the data more clearly

Defines ‘how the system will do it’ Deliverables:

Sequence diagrams (Sys466) Deployment diagrams Class diagrams (with operations) (Sys466) More detailed user interfaces (Sys466) Output report designs (Sys466)

Page 24: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

24

Object-oriented Systems Development Life Cycle Code and Test: (PRJ666)

Code and install system Define and create databases Defines ‘the system’ Deliverables:

Program code and documentation Tested, working system

Page 25: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

25

Object-oriented Systems Development Life Cycle 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 Week 1 - Lecture 1 Introduction to Systems

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 Week 1 - Lecture 1 Introduction to Systems

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 Week 1 - Lecture 1 Introduction to Systems

28

Software Development Some more 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 Week 1 - Lecture 1 Introduction to Systems

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 Week 1 - Lecture 1 Introduction to Systems

30

Iterative Nature of the Systems Development Life Cycle

Page 31: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

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

Page 32: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

32

What is expected of me in SYS366?

Do we need to know all the abbreviations? Not all, but many apply to the course content directly, e.g. OOA, OOD,

UML.You need to know them all if you want a job in this field. Does this course need a lot of memorization or does it need a lot of

understanding (Logic)? Mostly understanding. Logic, yes, both inductive and deductive.

Curiosity and Creativity are also very important. The Systems courses engage the whole brain and person more than almost any other course in the curriculum.

What is the overall idea or main point does a student need to focus on?

What does the customer really need to run the business?Document those needs so both the customer and the business/computer system professionals clearly understand what the system will do to satisfy those needs.

Page 33: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

33

What is expected of me in SYS366?

Does this course need a lot of memorization or does it need a lot of understanding (Logic)?

Mostly understanding. Logic, yes, both inductive and deductive. Curiosity and Creativity are also very important. The Systems courses engage the whole brain and person more than almost any other course in the curriculum.

What is the overall idea or main point does a student need to focus on?

What does the customer really need to run the business?Document those needs so both the customer and the business/computer system professionals clearly understand what the system will do to satisfy those needs.

Page 34: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

34

What is expected of me in SYS366?

What is the overall idea or main point a student needs to focus on?

What does the customer really need to run the business?

Document those needs so both the customer and the business/computer system professionals clearly understand what the system will do to satisfy those needs.

Page 35: 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

35

What is expected of me in SYS366?

see the course home page cs/~sys366for details

What do students really need to know in this course? Everything I talk about in class is important to the course and/or to being a computing systems professional. Generally, I

do not distinguish between the two. Neither should you.

Do they need to know all the abbreviations? Not all, but many apply to the course content directly, e.g. OOA, OOD, UML.

You need to know them all if you want a job in this field.

You taught about the operations of a company, but I do not quite understand what the concept behind it is.

Company operations: doing the work of the company, i.e. delivering the products and/or services of the company to the customers. e.g. selling cars, shipping parts orders, fixing cars, bookkeeping and administration.

In this course, does it need a lot of memorization or does it need a lot of undestanding (Logic).

Mostly understanding. Logic, yes, both inductive and deductive. Curiosity and Creativity are also very important. The Systems courses engage the whole brain and person more than almost any other course in the curriculum.

What is the overall idea or main point does a student need to focus on?

What does the customer really need to run the business?Document those needs so both the customer and the business/computer system professionals clearly understand what the system will do to satisfy those needs.