1 sys366 week 1 - lecture 1 introduction to systems

Post on 25-Dec-2015

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

SYS366

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

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.

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.

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.

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

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

8

History of Software Development

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

Applications Utility bills Voting Machines

Modern Application Chip development

9

History of Software Development

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

1990s: Client/Server Data Warehousing Distributed processing

10

Need for Software Development:

Environments are rapidly changing New technologies are frequently

introduced Companies merge and need to

combine their systems Government legislation

11

Software Development Typical Solutions

Developed in-house Turnkey Off-the shelf Contracted out

12

Software Development Approaches Structured

Worked well for centralized processing applications

Object Oriented Works for GUI and web solutions

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)

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

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.

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

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

18

SDLC Aids for Software Development

Methodologies Comprehensive guidelines to follow

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

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

20

SDLC Aids for Software Development

Models Representation of an important

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

21

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

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)

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)

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

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

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

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

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

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)

30

Iterative Nature of the Systems Development Life Cycle

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

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.

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.

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.

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.

top related