Multimedia Information Systems Design Patterns & Web Frameworks (Part 1) VU ( ) Christoph Trattner
|
|
- Michael Eaton
- 6 years ago
- Views:
Transcription
1 Multimedia Information Systems Design Patterns & Web Frameworks (Part 1) VU ( ) Christoph Trattner TUG, Austria 1
2 Today s plan! PART 1: First partial exam (30mins) PART 2: Lecture (~30-45mins) Separation of Concerns Design Principle Model-View-Controller Design Pattern A Spoiler for a Master Project or Master Thesis 2
3 How will we do this? 2 groups PARTIAL EXAM 3 questions (English & German) Time: 30 mins No supporting material allowed (just a pen) ONLY use the examination sheet to answer the 3 questions!!! No additional papers accepted or needed If you are done: Come in front & show your student ID 3
4 Today s plan! PART 1: First partial exam (30mins) PART 2: Lecture (~30-45mins) Separation of Concerns Design Principle Model-View-Controller Design Pattern A Spoiler for a Master Project or Master Thesis 4
5 Goal of this Lecture Learn about design principles on the Web In particular you will learn about Seperation of Concerns The Model View Controller Design Pattern And why this is an super important pattern, when designing Web-based applications 5
6 Seperation of Concerns 6
7 Seperation of Concerns Core design principle of all software engineering Definition by Edsger Dijkstra 1974 essay: On the role of scientific thought Dutch Computer Scientist ( ) We know that a program must be correct and we can study it from that viewpoint only; we also know that is should be efficient and we can study its efficiency [...] But nothing is gained - on the contrary - by tackling these various aspects simultaneously. It is what I sometimes have called "the separation of concerns" [...] 7
8 SOC What do you want to achieve with that design principle? 8
9 Seperation of Concerns You want to isolate different aspects of a software application from each other At a single moment you work only on a single aspect (e.g., not distracted with other aspects) You work on each aspect in detail You are consistent within each aspect Basis for team work in software development (different teams work on different aspects) 9
10 SOC How can we achieve that? 10
11 Seperation of Concerns VIA Object-Oriented programming Modularity and encapsulation (classes and objects isolate aspects) Clearly defined interfaces: work on different aspects in isolation VIA Aspect-Oriented programming: use generic operations across classes Concerns affecting most other concerns in a modular software system (e.g. logging) 11
12 Seperation of Concerns VIA Architectural patterns They are more general than (software) design patterns, e.g., Layered Design Layers cleanly separate responsibilities Presentation layer, business logic layer, data access layer (e.g. a Web-based information system) VIA Design Patterns separate software in blocks (=modules) of functionality with no overlap, e.g., Authentication module, workflow engine, messaging subsystem etc. 12
13 Seperation of Concerns Why is it useful? 13
14 Why is it useful? Seperation of Concerns Reduces complexity (clear interfaces, minimized overlap, etc.) Simplifies integration of aspects and components Possibility of their reuse or exchange Easier adaptibility, customization Improved comprehension of the application Reduces/Improves Maintanance 14
15 Example: Web Application with UI & DB 15
16 Example: Web Application with UI & DB In the process logic you have a Student class Student class has getter and setter methods getname(), getstudyfield(), etc. The UI script (e.g., a PHP script) retrieves a list of Student objects (from process logic) iterate through the list use the getters to read information write info in a HTML table PHP script Class student getname() getstudyfield() 17
17 Example: Web Application with UI & DB Now what happens, if we need to extend such an application? New DB Contains: Student addr. 18
18 Example: Web Application with UI & DB Customer tells you, that there is another external student database to be used! Requirement: include students addresses in the list Contains contact info: addresses, s, etc. (Lazy) developer wants to accomplish this fast 19
19 Code retrieving all data New DB Contains: Student addr. 20
20 Example: Web Application with UI & DB What happens if the costumer also wants to change the interface? 21
21 Example: Web Application with UI & DB Problem: mixing UI and data management Consequences of such architecture can be tremendous For each change (data access) different UI scripts must be updated Maintainance a nightmare, if applied throughout a large application 22
22 How to do it properly? 23
23 Example: Web Application with UI & DB New DB Class student_extended get () set () Contains: Student addr. 24
24 Example: Web Application with UI & DB Proper way of implementing such changes Extend student class in process logic: get/set () methods Data Management module: connect to the external database populate student objects with set () Pros: New info available everywhere (UI scripts) Data access code modifications only at a single place 25
25 Example: Web Application with UI & DB SOC supported by OO languages, e.g. Java but not enforced Developers need to take care about this (design)! Scripting languages are very vulnerable, e.g. PHP You do not need compiling, it is extremely fast to make such changes! Inviting to a bad programming style But, Java is also vulnerable (JSP) - you need to take care! Would need a module system preventing the UI from seeing DM functionality (planed) 26
26 How can we improve the situation? 27
27 Example: Web Application with UI & DB How can we improve the situation? One way to improve the situation: a layered architecture The UI communicates only with the Progam Logic However, hard to enforce this You can only hope that developers will follow the principle! 28
28 29
29 The Model View Controller Design Pattern 30
30 MVC What is the Model View Controller (MVC) Design Pattern? A: It is a particular design pattern that supports Seperation of Concerns Invented in the early days of GUIs invented by Trygve Reenskaug at Xerox Parc in 1979 Still in widest application (Java,.NET, JS frameworks) MVC is also implemented in many new frameworks! Examples: Angular JS 31
31 CORE Principle: MVC Decouple the UI from data & logic Compatible with principles of OOP Fist show-up in Smalltalk-80 (One of the first OO languages) 32
32 MVC 33
33 MVC What does the Controller do? Brain of the UI (e.g. implements the workflows and the logic within the UI) Handles user input (e.g., mouse clicks, keyboard,...) Updates the model Instructs the view to redraw itself 34
34 What does the View do? MVC Presents the model in a specific way Manages the display and rendering of information to the user Note: different views for the same model are possible Very important: not only rich GUIs but also in Web applications (e.g., XHTML, PDF, etc.) 35
35 MVC What does the Model do? Contains the data and application logic on the data Manages the behavior and data of the application Responds to: Requests for information about its state/data Instructions to change state/modify data 36
36 MVC Where does the data come from? If in memory - everything is covered If externally - persisted in the file system or in a DBMS We need a special Data Management module (layer) Handles persistent data storage (e.g. relational DBMS) Moves data between memory and storage (e.g. O/R mapping) 38
37 MVC 39
38 MVC Observer Pattern 40
39 MVC Observer Pattern Purpose of the controller? It s purpose in not to separate the model from the view but to handle user events To achieve this separation another design pattern is needed Typically achieved by means of the Observer pattern 41
40 MVC Observer Pattern When the model changes it notifies the views about the change Views redraw as the result of the notification Until Ajax not applicable in a Web application Before Ajax: User request needed to update each particular view 42
41 MVC - Observer With Ajax it is possible (Asynchronous request) On user interaction an Ajax request is performed Observers notify when response is received Web UI remains responsive in the meantime HTML5 WebSockets also provide observer pattern support Server inititiated events/messages 43
42 MVC 44
43 Ok, that s it for today...more or less... 45
44 Next Class What will you learn in the next class? More Patterns Model-View-Presenter (MVP) design pattern Presentation-Abstraction-Control (PAC) design pattern MVC on the Server Side 46
45 Spoiler Master/Project Thesis Currently searching for Master students for the FoodWeb project Your task: Analyse food consumption and production patterns on the Web (e.g., kochbar.de, ichkoche.at) Implement recommender service (e.g., healthaware recommender systems) Build some cool Mobile Apps 47
46 48
47 Thank you! Christoph Trattner Web: christophtrattner.info 49
48 References MVC Java Example tern.htm MVC with Angular JS SOChttps://en.wikipedia.org/wiki/Separation_of_conc erns 50
Web Technologies VU ( ) Vedran Sabol. Nov 13, ISDS, TU Graz. Vedran Sabol (ISDS, TU Graz) Web Technologies Nov 13, / 60
Web Technologies VU (706.704) Vedran Sabol ISDS, TU Graz Nov 13, 2017 Vedran Sabol (ISDS, TU Graz) Web Technologies Nov 13, 2017 1 / 60 Outline 1 Separation of Concerns Design Principle 2 Model-View-Controller
More informationSoftware System/Design & Architecture. Eng.Muhammad Fahad Khan Assistant Professor Department of Software Engineering
Software System/Design & Architecture Eng.Muhammad Fahad Khan Assistant Professor Department of Software Engineering Todays lecture Model View Controller (MVC) Copyright 2012 @ M.Fahad Khan 2 Model-View-Controller
More informationModel-View Controller IAT351
Model-View Controller IAT351 Week 17 Lecture 1 15.10.2012 Lyn Bartram lyn@sfu.ca Administrivia CHANGE to assignments and grading 4 assignments This one (Assignment 3) is worth 20% Assignment 4 is worth
More informationCleveland State University Department of Electrical and Computer Engineering. CIS 408: Internet Computing
Cleveland State University Department of Electrical and Computer Engineering CIS 408: Internet Computing Catalog Description: CIS 408 Internet Computing (-0-) Pre-requisite: CIS 265 World-Wide Web is now
More informationReview. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015
Fundamentals of Website Development CSC 2320, Fall 2015 The Department of Computer Science Review Web Extensions Server side & Where is your JOB? 1 In this chapter Dynamic pages programming Database Others
More informationtoday what is this course about? what is this course about? Welcome to CSC309! Programming on the Web APRIL 05
Welcome to CSC309! Programming on the Web Amir H. Chinaei, Spring 2017 ahchinaei@cs.toronto.edu http://www.cs.toronto.edu/~ahchinaei/ Office hours: M 3:45-5:45 BA4222 today course outline (bird s-eye view)
More informationOrganization of User Interface Software
Organization of User Interface Software Administration Questions about assignments due and assignments assigned 2 What we will talk about Ways to organize UI code Different models of user interfaces as
More informationIntroduction. Software Architecture VO/KU ( / ) Roman Kern. KTI, TU Graz
Introduction Software Architecture VO/KU (707.023/707.024) Roman Kern KTI, TU Graz 2013-10-02 Roman Kern (KTI, TU Graz) Introduction 2013-10-02 1 / 32 Introduction Introduction Basic organisational information
More informationPrinciples of Computer Game Design and Implementation. Lecture 3
Principles of Computer Game Design and Implementation Lecture 3 We already knew Introduction to this module History of video High-level information for a game (such as Game platform, player motivation,
More informationDiscovering Computers Chapter 13 Programming Languages and Program Development
Discovering Computers 2009 Chapter 13 Programming Languages and Program Development Chapter 13 Objectives Differentiate between machine and assembly languages Identify and discuss the purpose of procedural
More informationCSCI 6312 Advanced Internet Programming
CSCI 6312 Advanced Internet Programming Section 01, Spring 2018, W, 5:55pm - 8:25pm Instructor: Emmett Tomai Office: ENGR 3.2100 Phone: 665-7229 Email: emmett.tomai@utrgv.edu Office hours: W 1 3pm, TR
More informationASP.NET MVC Training
TRELLISSOFT ASP.NET MVC Training About This Course: Audience(s): Developers Technology: Visual Studio Duration: 6 days (48 Hours) Language(s): English Overview In this course, students will learn to develop
More informationModel-View-Controller
Model-View-Controller rationale implementation benefit Model-View-Controller 1 How can we design a power point application? Model-View-Controller 2 Possible Design: Data and UI in Same Object What if we
More informationArchitectural Styles I
Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts
More informationModel-View-Controller
Model-View-Controller Motivation The MVC pattern Using the Observer pattern in Java 1 MVC Rationale Multiple views, loosely coupled to the underlying data model. 2 Multiple Views 3 Multiple Views Many
More informationWeb Software Model CS 4640 Programming Languages for Web Applications
Web Software Model CS 4640 Programming Languages for Web Applications [Robert W. Sebesta, Programming the World Wide Web Upsorn Praphamontripong, Web Mutation Testing ] 1 Web Applications User interactive
More informationModern Web Application Development. Sam Hogarth
Modern Web Application Development Sam Hogarth Some History Early Web Applications Server-side scripting only e.g. PHP/ASP Basic client-side scripts JavaScript/JScript/VBScript Major differences in browser
More informationModern and Responsive Mobile-enabled Web Applications
Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 110 (2017) 410 415 The 12th International Conference on Future Networks and Communications (FNC-2017) Modern and Responsive
More informationSoftware Tools. Scott Klemmer Autumn 2009
stanford hci group http://cs147.stanford.edu Software Tools Scott Klemmer Autumn 2009 It accomplishes an important task (for better and for worse) You don t have to make it yourself, and it abstracts a
More informationFull Stack Web Developer Nanodegree Syllabus
Full Stack Web Developer Nanodegree Syllabus Build Complex Web Applications Before You Start Thank you for your interest in the Full Stack Web Developer Nanodegree! In order to succeed in this program,
More informationCourse 20486B: Developing ASP.NET MVC 4 Web Applications
Course 20486B: Developing ASP.NET MVC 4 Web Applications Overview In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools and technologies. The focus
More informationDeveloping ASP.NET MVC 4 Web Applications
Developing ASP.NET MVC 4 Web Applications Duration: 5 Days Course Code: 20486B About this course In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5
More information20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code.
20480C: Programming in HTML5 with JavaScript and CSS3 Course Code: 20480C; Duration: 5 days; Instructor-led WHAT YOU WILL LEARN This course provides an introduction to HTML5, CSS3, and JavaScript. This
More information,
[Class Room Online Training] Weekdays:- 2hrs / 3 days Fastrack:- 1½ hrs per day Weekends:- 2½ hrs (Sat & Sun) An ISO 9001:2015 Institute ADMEC Multimedia Institute www.admecindia.co.in 9911-782-350, 9811-818-122
More informationEEC-682/782 Computer Networks I
EEC-682/782 Computer Networks I Lecture 20 Wenbing Zhao w.zhao1@csuohio.edu http://academic.csuohio.edu/zhao_w/teaching/eec682.htm (Lecture nodes are based on materials supplied by Dr. Louise Moser at
More informationWeb Application Architectures
Web Application Architectures Internet Engineering Spring 2018 Bahador Bakhshi CE & IT Department, Amirkabir University of Technology Outline MVC Design Pattern Multilayer Design Microservices Architecture
More informationRead & Download (PDF Kindle) VBScript: Programming Success In A Day: Beginner's Guide To Fast, Easy And Efficient Learning Of VBScript Programming
Read & Download (PDF Kindle) VBScript: Programming Success In A Day: Beginner's Guide To Fast, Easy And Efficient Learning Of VBScript Programming (VBScript, ADA, ASP.NET, C#, ADA... ASP.NET Programming,
More informationChapter 2. Operating-System Structures
Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationCOURSE 20486B: DEVELOPING ASP.NET MVC 4 WEB APPLICATIONS
ABOUT THIS COURSE In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools and technologies. The focus will be on coding activities that enhance the
More information10264A CS: Developing Web Applications with Microsoft Visual Studio 2010
10264A CS: Developing Web Applications with Microsoft Visual Studio 2010 Course Number: 10264A Course Length: 5 Days Course Overview In this course, students will learn to develop advanced ASP.NET MVC
More information20486: Developing ASP.NET MVC 4 Web Applications (5 Days)
www.peaklearningllc.com 20486: Developing ASP.NET MVC 4 Web Applications (5 Days) About this Course In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework
More informationOracle Fusion Middleware 11g: Build Applications with ADF Accel
Oracle University Contact Us: +352.4911.3329 Oracle Fusion Middleware 11g: Build Applications with ADF Accel Duration: 5 Days What you will learn This is a bundled course comprising of Oracle Fusion Middleware
More informationSoftware Design Fundamentals. CSCE Lecture 11-09/27/2016
Software Design Fundamentals CSCE 740 - Lecture 11-09/27/2016 Today s Goals Define design Introduce the design process Overview of design criteria What results in a good design? Gregory Gay CSCE 740 -
More informationDeveloping ASP.NET MVC 4 Web Applications
Developing ASP.NET MVC 4 Web Applications Course 20486B; 5 days, Instructor-led Course Description In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5
More informationITP 342 Mobile App Development. Model View Controller
ITP 342 Mobile App Development Model View Controller Design Patterns A reusable pattern to solve common issues that come up in software development NOT new syntax, but the way you design your program What
More informationCIS 408 Internet Computing (3-0-3)
Cleveland State University Department of Electrical Engineering and Computer Science CIS 408 Internet Computing (3-0-3) Prerequisites: CIS 430 Preferred Instructor: Dr. Sunnie (Sun) Chung Office Location:
More informationChapter 3. Architecture and Design
Chapter 3. Architecture and Design Design decisions and functional architecture of the Semi automatic generation of warehouse schema has been explained in this section. 3.1. Technical Architecture System
More informationXVIII. Software Architectures
XVIII. Software Architectures Software Architectures UML Packages Client-Server vs Peer-to-Peer 3-Tier and 4-Tier Architectures Horizontal Layers and Vertical Partitions The Model-View-Controller Architecture
More informationArchitectural Styles I
Architectural Styles I Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 14, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles I Nov 14, 2012 1 / 80
More information20486-Developing ASP.NET MVC 4 Web Applications
Course Outline 20486-Developing ASP.NET MVC 4 Web Applications Duration: 5 days (30 hours) Target Audience: This course is intended for professional web developers who use Microsoft Visual Studio in an
More informationThe Sky s the Limit. JAOO Conference, Aarhus Ernest Micklei, QNH PhilemonWorks Tim Matthews, Cincom Systems. Cincom EMEA Central
The Sky s the Limit Ernest Micklei, QNH PhilemonWorks Tim Matthews, Cincom Systems Cincom EMEA Central JAOO Conference, Aarhus 2009 1 Spanning five decades of global software leadership Founded in 1968
More informationHtml5 Css3 Javascript Interview Questions And Answers Pdf >>>CLICK HERE<<<
Html5 Css3 Javascript Interview Questions And Answers Pdf HTML5, CSS3, Javascript and Jquery development. There can be a lot more HTML interview questions and answers. free html interview questions and
More informationeclipse rich ajax platform (rap)
eclipse rich ajax platform (rap) winner Jochen Krause CEO Innoopract Member of the Board of Directors Eclipse Foundation jkrause@innoopract.com GmbH outline rich ajax platform project status and background
More informationDeveloping ASP.NET MVC 4 Web Applications
Developing ASP.NET MVC 4 Web Applications Código del curso: 20486 Duración: 5 días Acerca de este curso In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework
More informationFront End Programming
Front End Programming Mendel Rosenblum Brief history of Web Applications Initially: static HTML files only. Common Gateway Interface (CGI) Certain URLs map to executable programs that generate web page
More information20486: Developing ASP.NET MVC 4 Web Applications
20486: Developing ASP.NET MVC 4 Web Applications Length: 5 days Audience: Developers Level: 300 OVERVIEW In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework
More informationDiscovering Computers 2008
Discovering Computers 2008 Chapter 13 (a) Programming Languages and Program Development 1 Chapter 13 Objectives Differentiate between machine and assembly languages Identify and discuss the purpose of
More informationWeb Development for Dinosaurs An Introduction to Modern Web Development
Web Development for Dinosaurs An Introduction to Modern Web Development 1 / 53 Who Am I? John Cleaver Development Team Lead at Factivity, Inc. An Introduction to Modern Web Development - PUG Challenge
More informationModern App Architecture
Modern App Architecture Brent Edwards Principal Lead Consultant Magenic Level: Intermediate BrentE@magenic.com @brentledwards http://www.brentedwards.net https://github.com/brentedwards BRENT EDWARDS MyVote
More informationChapter 7 Design and Implementation
Chapter 7 Design and Implementation Chapter 7 Design and Implementation Slide 1 Topics covered Object-oriented design using the UML Design patterns Implementation issues Reuse Configuration management
More information1 Software Architecture
Some buzzwords and acronyms for today Software architecture Design pattern Separation of concerns Single responsibility principle Keep it simple, stupid (KISS) Don t repeat yourself (DRY) Don t talk to
More informationChapter 2: Operating-System Structures
Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationOver All Idea about MVC: How to use Model- View-Controller (MVC)
Over All Idea about MVC: How to use Model- View-Controller (MVC) Parth Jivani B. H. Gardividyapith Engg. &Tech. Chhaya Chopara B. H. Gardividyapith Engg. & Tech. Mehta Prashant B. H. Gardividyapith Engg.
More informationP a g e 1. Danish Tecnological Institute. Developer Collection Online Course k Developer Collection
P a g e 1 Online Course k72809 P a g e 2 Title Estimated Duration (hrs) Adobe Acrobat Pro XI Fundamentals 1 Introduction to CQRS 2 Introduction to Eclipse 2 NHibernate Essentials 2 Advanced Scrum: Addressing
More informationCreate-A-Page Design Documentation
Create-A-Page Design Documentation Group 9 C r e a t e - A - P a g e This document contains a description of all development tools utilized by Create-A-Page, as well as sequence diagrams, the entity-relationship
More informationModel-View-Controller Patterns and Frameworks. MVC Context
Model-View-Controller Patterns and Frameworks MVC Context The purpose of many computer systems is to retrieve data from a data store and display it for the user. The user may then modify the data in keeping
More informationArchitectural Design. Architectural Design. Software Architecture. Architectural Models
Architectural Design Architectural Design Chapter 6 Architectural Design: -the design the desig process for identifying: - the subsystems making up a system and - the relationships between the subsystems
More informationCase Study: Dodging the Pitfalls of Enterprise Ajax Applications
www.thinwire.com Case Study: Dodging the Pitfalls of Enterprise Ajax Applications A Quick Introduction: Joshua Gertzen Lead Architect of the ThinWire Ajax RIA Framework Core Technology Architect for CCS
More informationWeb Applications. Software Engineering 2017 Alessio Gambi - Saarland University
Web Applications Software Engineering 2017 Alessio Gambi - Saarland University Based on the work of Cesare Pautasso, Christoph Dorn, Andrea Arcuri, and others ReCap Software Architecture A software system
More informationReading Writing Speaking Reading Writing Speaking. English Intermediate Intermediate Elementary Intermediate Intermediate Elementary
General Information First name, birthday Sergey, 06.11.1984 Education Institute of higher education Novokuznetsk Institute of Kemerovo State University System Programmer Foreign languages Everyday topics
More informationSlides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only
Chapter 16 Pattern-Based Design Slide Set to accompany Software Engineering: A Practitioner s Approach, 8/e by Roger S. Pressman and Bruce R. Maxim Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger
More informationCSE 70 Final Exam Fall 2009
Signature cs70f Name Student ID CSE 70 Final Exam Fall 2009 Page 1 (10 points) Page 2 (16 points) Page 3 (22 points) Page 4 (13 points) Page 5 (15 points) Page 6 (20 points) Page 7 (9 points) Page 8 (15
More informationDynamic Object-Oriented Programming with Smalltalk 1. Introduction
Dynamic Object-Oriented Programming with Smalltalk 1. Introduction Prof. O. Nierstrasz Autumn Semester 2009 LECTURE TITLE What is surprising about Smalltalk > Everything is an object > Everything happens
More informationProduced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar
Design Patterns MSc in Communications Software Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie
More informationWe will talk about Alt-Tab from the usability perspective. Think about: - Is it learnable? - Is it efficient? - What about errors and safety?
1 This lecture s candidate for the Hall of Fame & Shame is the Alt-Tab window switching interface in Microsoft Windows. This interface has been copied by a number of desktop systems, including KDE, Gnome,
More informationChapter 2: Operating-System Structures
Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls (important!) Types of System Calls (important!) System
More informationLecture 09. Ada to Software Engineering. Mr. Mubashir Ali Lecturer (Dept. of Computer Science)
Lecture 09 Ada to Software Engineering Mr. Mubashir Ali Lecturer (Dept. of dr.mubashirali1@gmail.com 1 Summary of Previous Lecture 1. ALGOL 68 2. COBOL 60 3. PL/1 4. BASIC 5. Early Dynamic Languages 6.
More informationVisual Studio Course Developing ASP.NET MVC 5 Web Applications
Visual Studio Course - 20486 Developing ASP.NET MVC 5 Web Applications Length 5 days Prerequisites Before attending this course, students must have: In this course, students will learn to develop advanced
More informationCOMP 6471 Software Design Methodologies
COMP 6471 Software Design Methodologies Fall 2011 Dr Greg Butler http://www.cs.concordia.ca/~gregb/home/comp6471-fall2011.html Week 7 Outline Software Architecture Layered Architecture Model-View-Control
More informationGUI-Hanger syndrome SOFTWARE ARCHITECTURES. Architectural Design Choices. Why software architectures? Monolithic Architecture / 2
GUI-Hanger syndrome SOFTWARE ARCHITECTURES An architecture contains the information on how the software devides into building blocks. Software Engineering do http://www.cs.uta.fi/se this; Why software
More informationMicrosoft Developing ASP.NET MVC 4 Web Applications
1800 ULEARN (853 276) www.ddls.com.au Microsoft 20486 - Developing ASP.NET MVC 4 Web Applications Length 5 days Price $4290.00 (inc GST) Version C Overview In this course, students will learn to develop
More informationSpeech Applications. How do they work?
Speech Applications How do they work? What is a VUI? What the user interacts with when using a speech application VUI Elements Prompts or System Messages Prerecorded or Synthesized Grammars Define the
More informationOptimizing LAMP Development with PHP5
Optimizing LAMP Development with PHP5 Wednesday, November 9, 2005 Jamil Hassan Spain NCSSM Database Administrator March 12, 2005 Presentation Agenda Simple Upgrade Method to PHP5 Enterprise LAMP Development
More informationTABLE OF CONTENTS CHAPTER TITLE PAGE
vii TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION DEDICATION ACKNOWLEDGEMENT ABSTRACT ABSTRAK TABLE OF CONTENTS LIST OF TABLES LIST OF FIGURES LIST OF APPENDICES ABBREVIATIONS ii iii iv v vi vii xi
More informationOracle Fusion Middleware 11g: Build Applications with ADF I
Oracle University Contact Us: +966 1 1 2739 894 Oracle Fusion Middleware 11g: Build Applications with ADF I Duration: 5 Days What you will learn This course is aimed at developers who want to build Java
More informationDevelopment of web applications using Google Technology
International Journal of Computer Engineering and Applications, ICCSTAR-2016, Special Issue, May.16 Development of web applications using Google Technology Vaibhavi Nayak 1, Vinuta V Naik 2,Vijaykumar
More informationRead & Download (PDF Kindle) Intro To Java Programming, Comprehensive Version (10th Edition)
Read & Download (PDF Kindle) Intro To Java Programming, Comprehensive Version (10th Edition) NOTE: You are purchasing a standalone product; MyProgrammingLab does not come packaged with this content. If
More informationChapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design
Chapter 6 Architectural Design Lecture 1 1 Topics covered ² Architectural design decisions ² Architectural views ² Architectural patterns ² Application architectures 2 Software architecture ² The design
More informationMVC Table / Delegation
CS108, Stanford Handout #27 Winter, 2006-07 Nick Parlante MVC Table / Delegation Delegate MVC Table Censor Example Uses the delegate strategy to build a variant table model Uses table model listener logic
More informationLow-Level Languages. Computer Programs and Programming Languages
Computer Programs and Programming Languages What is a computer program? Set of instructions that directs computer to perform tasks Programming used to write instructions 1 Computer Programs and Programming
More informationDeveloping ASP.NET MVC 5 Web Applications
Developing ASP.NET MVC 5 Web Applications Course 20486C; 5 days, Instructor-led Course Description In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework tools
More informationSDK Programming for Web Developers
1 SDK Programming for Web Developers Excerpted from iphone in Action Introduction to Web and SDK Development Christopher Allen and Shannon Appelcline MEAP Release: May 2008 Softbound print: December 2008
More informationMVC / MVP Mei Nagappan
Material and some slide content from: - Krzysztof Czarnecki - Ian Sommerville - Reid Holmes - Head First Design Patterns MVC / MVP Mei Nagappan [Image from: http://merroun.wordpress.com/2012/03/28/mvvm-mvp-and-mvc-software-patterns-againts-3-layered-architecture/
More informationExpressing Fault Tolerant Algorithms with MPI-2. William D. Gropp Ewing Lusk
Expressing Fault Tolerant Algorithms with MPI-2 William D. Gropp Ewing Lusk www.mcs.anl.gov/~gropp Overview Myths about MPI and Fault Tolerance Error handling and reporting Goal of Fault Tolerance Run
More informationXIX. Software Architectures
XIX. Software Architectures Software Architectures UML Packages Client-Server vs Peer-to-Peer Horizontal Layers and Vertical Partitions 3-Tier and 4-Tier Architectures The Model-View-Controller Architecture
More informationMongoDB Web Architecture
MongoDB Web Architecture MongoDB MongoDB is an open-source, NoSQL database that uses a JSON-like (BSON) document-oriented model. Data is stored in collections (rather than tables). - Uses dynamic schemas
More informationDigitized Engineering Notebook
Governors State University OPUS Open Portal to University Scholarship All Capstone Projects Student Capstone Projects Spring 2017 Digitized Engineering Notebook Naga Venkata Sandeep Kavuru Governors State
More informationCIS 3308 Web Application Programming Syllabus
CIS 3308 Web Application Programming Syllabus (Upper Level CS Elective) Course Description This course explores techniques that are used to design and implement web applications both server side and client
More informationWebDev. Web Design COMBINES A NUMBER OF DISCIPLINES. Web Development Process DESIGN DEVELOPMENT CONTENT MULTIMEDIA
WebDev Site Construction is one of the last steps The Site Development Process http://webstyleguide.com Web Design COMBINES A NUMBER OF DISCIPLINES DESIGN CONTENT Interaction Designers User Interface Designers
More informationDeveloping ASP.Net MVC 4 Web Application
Developing ASP.Net MVC 4 Web Application About this Course In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools and technologies. The focus will
More informationBuilding Custom UIs for APS 2.0 Applications. Timur Nizametdinov, APS Dynamic UI Lead Developer
Building Custom UIs for APS 2.0 Applications Timur Nizametdinov, APS Dynamic UI Lead Developer Introducing APS 2.0 A Platform for Integration APS Dynamic UI HTML5 Extensibility Certified Services APS Service
More informationAvancier Methods. Very basic design patterns. It is illegal to copy, share or show this document
Methods Very basic design patterns It is illegal to copy, share or show this document (or other document published at http://avancier.co.uk) without the written permission of the copyright holder Copyright
More informationApplication Design and Development: October 30
M149: Database Systems Winter 2018 Lecturer: Panagiotis Liakos Application Design and Development: October 30 1 Applications Programs and User Interfaces very few people use a query language to interact
More informationData Structures And Other Objects Using Java Download Free (EPUB, PDF)
Data Structures And Other Objects Using Java Download Free (EPUB, PDF) This is the ebook of the printed book and may not include any media, website access codes, or print supplements that may come packaged
More informationOracle Forms Modernization Through Automated Migration. A Technical Overview
Oracle Forms Modernization Through Automated Migration A Technical Overview Table of Contents Document Overview... 3 Oracle Forms Modernization... 3 Benefits of Using an Automated Conversion Tool... 3
More informationEvent-driven Programming: GUIs
Dr. Sarah Abraham University of Texas at Austin Computer Science Department Event-driven Programming: GUIs Elements of Graphics CS324e Spring 2018 Event-driven Programming Programming model where code
More informationModel-view-controller. An architecture for UI
Model-view-controller An architecture for UI 1 The flow of information (idealized) Flow of information 0 Event 1 Changes Controller 3 Pixels O S Application Model View 2 State 2003 T. S. Norvell Engineering
More informationDesign Patterns Design patterns advantages:
Design Patterns Designing object-oriented software is hard, and designing reusable object oriented software is even harder. You must find pertinent objects factor them into classes at the right granularity
More informationSimple AngularJS thanks to Best Practices
Simple AngularJS thanks to Best Practices Learn AngularJS the easy way Level 100-300 What s this session about? 1. AngularJS can be easy when you understand basic concepts and best practices 2. But it
More informationDelivery Options: Attend face-to-face in the classroom or remote-live attendance.
XML Programming Duration: 5 Days Price: $2795 *California residents and government employees call for pricing. Discounts: We offer multiple discount options. Click here for more info. Delivery Options:
More information