Download presentation
Presentation is loading. Please wait.
Published byPauline Jenkins Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.