+ All Categories
Home > Documents > 10/6/2015 ©2007 Scott Miller, University of Victoria 1 2a) Systems Introduction to Systems...

10/6/2015 ©2007 Scott Miller, University of Victoria 1 2a) Systems Introduction to Systems...

Date post: 30-Dec-2015
Category:
Upload: pauline-jenkins
View: 212 times
Download: 0 times
Share this document with a friend
Popular Tags:
25
03/22/22 ©2007 Scott Miller, University of Victoria 1 2a) Systems 2a) Systems Introduction to Systems Introduction to Software Systems Rev. 2.0
Transcript

04/19/23©2007 Scott Miller, University of Victoria1

2a) Systems2a) SystemsIntroduction to SystemsIntroduction to Software Systems

Rev. 2.0

04/19/23©2007 Scott Miller, University of Victoria2

What is a System? What is a System?

Collection of 2 or more interrelated elements that work towards common purpose– Natural; e.g. weather system– Mixed Discipline; e.g. hardware, software

form PC– Software; e.g. OOP

Complex collaboration of components– Usually can be broken down into subsystems

04/19/23©2007 Scott Miller, University of Victoria3

What is a System?What is a System?

Relationship between elements only exists if one or both elements influence the other

A

BInput X

Input Y

C

D Output X

Output YE

04/19/23©2007 Scott Miller, University of Victoria4

Software SystemsSoftware Systems Classes are elements within a single OOP Relationship between classes in OOP

– Inheritance (class A inherits all attributes of class B)– Method calls (method from class A modifies behavior/data

from class B)– Composition (class A contains class B)

Processes are elements between running programs Relationship between executed programs

– Pipelines, threads– Entry points (DLL)

04/19/23©2007 Scott Miller, University of Victoria5

Software SystemsSoftware Systems

Fundamental Ideas of Systems1. A set of elements2. Relationships3. Boundaries

Examples of Systems in Software– Operating Systems– File Systems– Databases; RDBMS

04/19/23©2007 Scott Miller, University of Victoria6

Software SystemsSoftware Systems

InputsOutputs

04/19/23©2007 Scott Miller, University of Victoria7

State of a SystemState of a System

The state of a system considers the current values of certain (or all) elements in a system. – e.g. the values of variables in the system.

A binary value of certain bits in a registerCurrent number on a counterContents of a variable in a C++ program

– State is described by the State Vector

04/19/23©2007 Scott Miller, University of Victoria8

State of a SystemState of a System

Change in state over time is the state trajectory

Set of all possible states that the trajectory can follow is the state space– e.g. 4 bit binary state

0 0 0 1

1 0 1 0 1 0 1 0

04/19/23©2008 Scott Miller, University of Victoria9

State Space and TrajectoryState Space and Trajectory

0 0 0 1

1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0…

t

1

2

3

04/19/23©2007 Scott Miller, University of Victoria10

Key IdeasKey Ideas

Homeostasis: dynamic equilibrium (changing in a predictable manner)– Variables remain within acceptable limits

– States remain in allowed state space Systemic/holistic failures: Failures foreseen in

the system by knowing all the relationships Piecemeal failures: Failures due to a lack of

understanding of interactions between components

04/19/23©2007 Scott Miller, University of Victoria11

Key IdeasKey Ideas

Emergent Behaviour: behaviours that develop due to the system; not behaviors predicted from elements

Synergy: emergence of unexpected and interesting behaviour

Complexity: number of interrelated parts make system difficult to understand– Related to interest; when not interested

abstract details away

04/19/23©2007 Scott Miller, University of Victoria12

ComplexityComplexity Consider a system comprised of Boolean elements

# elements

1 2 3 4 5 N

# possible relations

0 1 3 6 10 N(N-1)2

# possible

states

2 4 8 16 32 2N

04/19/23©2007 Scott Miller, University of Victoria13

Object-Oriented ProgrammingObject-Oriented Programming

Each complete program is a system in OOP

Each program is comprised of sub-systems: packages, routines, objects

Elements consist of libraries, classes, objects, packages, etc.

Software Engineers work on individual modules to complete big picture

04/19/23©2007 Scott Miller, University of Victoria14

2b) The Web as a System2b) The Web as a SystemIntroduction to the WebThe Web as a Software SystemIntroduction to Web Applications

04/19/23©2007 Scott Miller, University of Victoria15

WWW vs. InternetWWW vs. Internet

World Wide Web ≠ Internet Internet is a large scale network comprised of

hundreds of millions of individual nodes (PCs) Web is a collection of millions of hyperlinked

documents delivered over the internet Web is one of many applications of the

internet; e.g. FTP, WWW, VoIP, IRC, etc.

04/19/23©2007 Scott Miller, University of Victoria16

Origins of the WebOrigins of the Web

Tim Berners-Lee, 1989Hyperlinked informationGuides to FTP, replace GOPHERRemoved “centralized” bulletin board

components

04/19/23©2007 Scott Miller, University of Victoria17

Web as a SystemWeb as a System

System comprised of many sub-systems– HTML, XML, CSS files– CGI, SSI, scripting– RDBMS– Protocol stack– Networking– Browser (Interpreter)

INTERFACES

04/19/23©2007 Scott Miller, University of Victoria18

*Goal For Course*Goal For Course

Be able to understand this diagram:

Internet

Client Web Application

Web Server(Static Web Pages)

App. ServerFile

RDBMS

CGI

ODBC

HTTPTCP

IP

04/19/23©2007 Scott Miller, University of Victoria19

Web App. Design ChallengesWeb App. Design Challenges

We are not building a plain website. How do we:– Deliver dynamic content?

Not static HTML pages Database searches (e.g. E-commerce) Custom HTML based on user requests

– Manage the state of the session? Remembering user name Support secure creation of username/password Customized portal sites (e.g. Rogers, Yahoo)

– HTML was not designed with these in mind

04/19/23©2007 Scott Miller, University of Victoria20

Evolution of the WebEvolution of the Web

Web pages: HTML – static content - hypertext

Web Sites: Hierarchy of web pages withCoherent navigation, look and content

Web Applications: client/server applications wherethe client is a web browser; interactively deliversdynamic content over the internet

Content(DB, script)

Dynamicallycreated pages

04/19/23©2007 Scott Miller, University of Victoria21

Easy Marks!!!Easy Marks!!!

Web page

Web Site

Web Application

?

?

?

HTML: Pleasing, aesthetic design. Static.

HTML, XML, CSS: Coherent collection of web pages.Static. Hierarchical.

SSI, CGI, JSP: Interactive, dynamic content.

04/19/23©2007 Scott Miller, University of Victoria22

Criteria for Good DesignCriteria for Good Design

PageSite

App.

Time

Money

04/19/23©2007 Scott Miller, University of Victoria23

Application ConsiderationsApplication Considerations

HTTP was not designed with state, applications or dynamic content in mind– Need workarounds, plug-ins, additions to

base HTTPVersion compatibility/bottlenecksSecurityScalability

04/19/23©2007 Scott Miller, University of Victoria24

ScalabilityScalability

Scalable: Able to stay responsiveas user base grows.

Processor Speed

# Concurrent

Users

04/19/23©2007 Scott Miller, University of Victoria25

Reading for Next ClassReading for Next Class

Get ready to use UNIX (go to ELW-B215 and log in. Practice opening NetBeans and get used to the interface)

NEXT CLASS : OOP and Lab 1 Preparation


Recommended