Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "10/6/2015 ©2007 Scott Miller, University of Victoria 1 2a) Systems Introduction to Systems Introduction to Software Systems Rev. 2.0."— Presentation transcript:

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

2 10/6/2015 ©2007 Scott Miller, University of Victoria 2 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

3 10/6/2015 ©2007 Scott Miller, University of Victoria 3 What is a System? Relationship between elements only exists if one or both elements influence the other A B Input X Input Y C D Output X Output Y E

4 10/6/2015 ©2007 Scott Miller, University of Victoria 4 Software 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)

5 10/6/2015 ©2007 Scott Miller, University of Victoria 5 Software Systems Fundamental Ideas of Systems 1.A set of elements 2.Relationships 3.Boundaries Examples of Systems in Software –Operating Systems –File Systems –Databases; RDBMS

6 10/6/2015 ©2007 Scott Miller, University of Victoria 6 Software Systems Inputs Outputs

7 10/6/2015 ©2007 Scott Miller, University of Victoria 7 State 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 register Current number on a counter Contents of a variable in a C++ program –State is described by the State Vector

8 10/6/2015 ©2007 Scott Miller, University of Victoria 8 State 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 0001 1 0 1 0

9 10/6/2015 ©2008 Scott Miller, University of Victoria 9 State Space and Trajectory 0001 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 … t 1 2 3

10 10/6/2015 ©2007 Scott Miller, University of Victoria 10 Key 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

11 10/6/2015 ©2007 Scott Miller, University of Victoria 11 Key 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

12 10/6/2015 ©2007 Scott Miller, University of Victoria 12 Complexity Consider a system comprised of Boolean elements # elements 12345N # possible relations 013610N(N-1) 2 # possible states 24816322N2N

13 10/6/2015 ©2007 Scott Miller, University of Victoria 13 Object-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

14 10/6/2015 ©2007 Scott Miller, University of Victoria 14 2b) The Web as a System Introduction to the Web The Web as a Software System Introduction to Web Applications

15 10/6/2015 ©2007 Scott Miller, University of Victoria 15 WWW 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.

16 10/6/2015 ©2007 Scott Miller, University of Victoria 16 Origins of the Web Tim Berners-Lee, 1989 Hyperlinked information Guides to FTP, replace GOPHER Removed “centralized” bulletin board components

17 10/6/2015 ©2007 Scott Miller, University of Victoria 17 Web as a System System comprised of many sub-systems –HTML, XML, CSS files –CGI, SSI, scripting –RDBMS –Protocol stack –Networking –Browser (Interpreter) INTERFACES

18 10/6/2015 ©2007 Scott Miller, University of Victoria 18 *Goal For Course Be able to understand this diagram: Internet ClientWeb Application Web Server (Static Web Pages) App. Server File RDBMS CGI ODBC HTTP TCP IP

19 10/6/2015 ©2007 Scott Miller, University of Victoria 19 Web 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

20 10/6/2015 ©2007 Scott Miller, University of Victoria 20 Evolution of the Web Web pages: HTML – static content - hypertext Web Sites: Hierarchy of web pages with Coherent navigation, look and content Web Applications: client/server applications where the client is a web browser; interactively delivers dynamic content over the internet Content (DB, script) Dynamically created pages

21 10/6/2015 ©2007 Scott Miller, University of Victoria 21 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.

22 10/6/2015 ©2007 Scott Miller, University of Victoria 22 Criteria for Good Design Page Site App. Time Money

23 10/6/2015 ©2007 Scott Miller, University of Victoria 23 Application Considerations HTTP was not designed with state, applications or dynamic content in mind –Need workarounds, plug-ins, additions to base HTTP Version compatibility/bottlenecks Security Scalability

24 10/6/2015 ©2007 Scott Miller, University of Victoria 24 Scalability Scalable: Able to stay responsive as user base grows. Processor Speed # Concurrent Users

25 10/6/2015 ©2007 Scott Miller, University of Victoria 25 Reading 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


Download ppt "10/6/2015 ©2007 Scott Miller, University of Victoria 1 2a) Systems Introduction to Systems Introduction to Software Systems Rev. 2.0."

Similar presentations


Ads by Google