10/6/2015 ©2007 scott miller, university of victoria 1 2a) systems introduction to systems...
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 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