Software System/Design & Architecture. Eng.Muhammad Fahad Khan Assistant Professor Department of Software Engineering
|
|
- Edgar Powell
- 5 years ago
- Views:
Transcription
1 Software System/Design & Architecture Eng.Muhammad Fahad Khan Assistant Professor Department of Software Engineering
2 Todays lecture Model View Controller (MVC) Copyright M.Fahad Khan 2
3 Model-View-Controller Pattern MVC variants examples Responsibilities of MVC Advantages of MVC Copyright M.Fahad Khan
4 Question Answer Session Lecture 6 Copyright 2012@ M.Fahad Khan
5 MVC Copyright M.Fahad Khan
6 What is MVC? Model View Controller (MVC) is an architecture that separates the representation of information from the user's interaction with it. The model consists of application data and business rules, and the controller mediates input, converting it to commands for the model or view. A view can be any output representation of data, such as a chart or a diagram. Multiple views of the same data are possible, such as a pie chart for management and a tabular view for accountants. Copyright M.Fahad Khan
7 Model-View-Controller Pattern MVC consists of three kinds of objects: Model the application object View UI (screen presentation) Controller defines the way the UI reacts to user inputs Copyright M.Fahad Khan Page 7
8 Copyright M.Fahad Khan
9 10 Million Question
10 Copyright M.Fahad Khan
11 Component interactions In addition to dividing the application into three kinds of components, the MVC design defines the interactions between them. A controller can send commands to its associated view to change the view's presentation of the model (e.g., by scrolling through a document). It can send commands to the model to update the model's state (e.g., editing a document). A model notifies its associated views and controllers when there has been a change in its state. This notification allows the views to produce updated output, and the controllers to change the available set of commands. A passive implementation of MVC omits these notifications, because the application does not require them or the software platform does not support them. A view requests from the model the information that it needs to generate an output representation. Copyright M.Fahad Khan
12 Copyright M.Fahad Khan
13 Component interactions Model. The model manages the behavior and data of the application domain, responds to requests for information about its state (usually from the view), and responds to instructions to change state (usually from the controller). View. The view manages the display of information. Controller. The controller interprets the mouse and keyboard inputs from the user, informing the model and/or the view to change as appropriate. Copyright M.Fahad Khan
14 Copyright M.Fahad Khan
15 The Controller Users interact with the controller. It interprets mouse movement, clicks, keystrokes, etc Communicates those activities to the model eg: delete row, insert row, etc It s interaction with the model indirectly causes the View(s) to update Controllers are a little more complicated. They act as an intermediary between the view objects and the model objects. When a value changes in a model, the controller is responsible for updating the view. Likewise, the controller knows when there s some user input and can update the model data accordingly. Controller objects are often responsible for setup tasks. The models and views must be loaded and initialized at some point, and the central role of the controller makes it a natural candidate for this work. Copyright M.Fahad Khan Page 15
16 Copyright M.Fahad Khan
17 Copyright M.Fahad Khan
18 The Controller Example To give you an idea of how this works, imagine an application that plots stock prices: 1. The user clicks a button (view) to refresh the graph. This action is sent to the controller. 2. The controller, in turn, tells the model to load new stock data. 3. The model opens a network connection and begins downloading data. 4. After the stock data is loaded, the model notifies the controller that new data has arrived. 5. The controller passes the new data onto the view, and the user sees the results. Copyright M.Fahad Khan Page 18
19 The Model The MODEL contains the data Has methods to access and possibly update it s contents. Often, it implements an interface which defines the allowed model interactions. Implementing an interface enables models to be pulled out and replaced without programming changes. Models are your application s heart and soul because they re responsible for managing its data. Unlike views, models know nothing about the actions the user is performing or what they re seeing on the display. A model s only function is to manipulate and process the user s data within the application. Models often implement internal logic that provides these basic behaviors. Copyright M.Fahad Khan Page 19
20 Copyright M.Fahad Khan
21 The Model Example For example, whenever you use the built-in Contacts application, you re working with model objects that represent the people in your address book. If you update your application s settings, you re modifying another kind of model object. An application that downloads stock data from the Internet would use a model object to store the price history. Copyright M.Fahad Khan Page 21
22 Copyright M.Fahad Khan
23 The View The VIEW provides a visual representation of the model. There can be multiple views displaying the model at any one time. For example, a companies finances over time could be represented as a table and a graph. These are just two different views of the same data. When the model is updated, all Views are informed and given a chance to update themselves. Copyright M.Fahad Khan Page 23
24 Copyright M.Fahad Khan
25 Copyright M.Fahad Khan
26 The View.(contd ) You know all those buttons, scrolling lists, web browsers, and everything else that appears on your iphone screen? Those are all views. Views know how to present your application s data. Some views also know how to react to user input. In many applications, you ll create your own views for displaying specific data. For example, there s no standard widget for displaying stock graphs, so if you want to do that, you ll have to come up with your own solution. Copyright M.Fahad Khan Page 26
27 Copyright M.Fahad Khan
28 The View.(contd ) Likewise, many designers and developers want to customize the look of their application. Whether your motivation is product branding or just wanting to stand out in a crowd, creating a unique look for your app involves building new views based on standard UIView and UIControl classes. Copyright M.Fahad Khan Page 28
29 Example Model-View-Controller talks about the three parts that most websites can be broken down into Controller Entry point of the application. Handles IO. PHP files View Templates displayed to the user. HTML files with PHP Model Functions that interact with the database or perform complex operations. SQL queries in PHP Copyright M.Fahad Khan
30 Copyright M.Fahad Khan
31
32 DETAILED VISUAL EXAMPLE OF MVC Copyright M.Fahad Khan Page 32
33 Copyright M.Fahad Khan
34 Copyright M.Fahad Khan
35 Copyright M.Fahad Khan
36 Copyright M.Fahad Khan
37 Copyright M.Fahad Khan
38 Copyright M.Fahad Khan
39 Copyright M.Fahad Khan
40 Copyright M.Fahad Khan
41 Copyright M.Fahad Khan
42 Copyright M.Fahad Khan
43 Copyright M.Fahad Khan
44 Copyright M.Fahad Khan Page 44
45 Why use MVC? Makes it very easy to have multiple different displays of the same information. For example: a graph and a table could both display and edit the same data. Essentially provides greater control over the UI and it s behaviour. Copyright M.Fahad Khan Page 45
46 Multiple different displays
47 Model View Controller (MVC) is an architecture, for software development This architecture separates the application logic that the user sees from the user interface. It improves the software development cycle in terms of quality, testing, extensibility and maintenance. The model is manages information and user notifications when information changes. The model is domain-specific to the data which the application operates upon. Domain logic adds functionality to the data. When a model changes its state, it notifies the associated views so they can be updated. Copyright M.Fahad Khan Page 47
48 Copyright M.Fahad Khan
49 MVC Communication Rules Model = What your application is (but not how it is displayed) Controller = How your Model is presented to the user (UI logic) View = Your Controller s minions. Contoller s can always talk directly to their Model. Controller s can also talk directly to their View. The Model and View should never speak to each other. Communication between the View and Controller is blind and structured. The Controller can drop a target on itself, then hand out an action to the View. Copyright M.Fahad Khan Page 49
50 MVC Communication Rules..(cntd..) The View sends the action when things happen in the UI. Sometimes the View needs to synchronize with the Controller. The Controller sets itself as the View s delegate. The delegate is set via a protocol (i.e. it s blind to class). Views do not own the data they display. So, if needed, they have a protocol to acquire it. Controllers are almost always that data source (not Model!). Controllers interpret/format Model information for the View. Copyright M.Fahad Khan Page 50
51 MVC Communication Rules..(cntd..) The Model is (should be) UI independent and should NEVER talk directly to the Controller. If the Model has information (e.g. an update) it uses a radio station like broadcast mechanism that Controllers (or another Model) can tune in to for stuff they re interested in. A View might tune in to a station, but probably not to a Model s. Stick to these rules when building your application and you will have a much better chance of understanding the monster you ve created(!). Copyright M.Fahad Khan Page 51
52 Copyright M.Fahad Khan
53 MVC Variants
54 Copyright M.Fahad Khan
55 Three Tier Model Copyright M.Fahad Khan Page 55
56 N tier Architecture 3 Tier architecture: Presentation Layer Presentation Layer is the layer responsible for displaying user interface. Business Tier Business Tier is the layer responsible for accessing the data tier to retrieve, modify and delete data to and from the data tier and send the results to the presentation tier. This layer is also responsible for processing the data retrieved and sent to the presentation layer. - BLL and DAL Often this layer is divided into two sub layers: the Business Logic Layer (BLL), and the Data Access Layers (DAL). Business Logic Layers are above Data Access Layers, meaning BLL uses DAL classes and objects. DAL is responsible for accessing data and forwarding it to BLL. Data Tier Data tier is the database or the source of the data itself. Common mistakes tightly coupling layers in technology and writing business logic in presentation tier Copyright M.Fahad Khan Page 56
57 Copyright M.Fahad Khan
58 Advantages of MVC Page 58
59 Copyright M.Fahad Khan
60 Advantages of MVC Separating Model from View (that is, separating data representation from presentation) - easy to add multiple data presentations for the same data - facilitates adding new types of data presentation as technology develops. - Model and View components can vary independently enhancing maintainability, extensibility, and testability. The main advantage of adopting a design pattern like MVC is that it allows the code in each unit to be decoupled from the others, making it more robust and immune to changes in other code. Copyright M.Fahad Khan Page 60
61 Advantages of MVC design Pattern Separating Controller from View (application behavior from presentation) - permits run-time selection of appropriate Views based on workflow, user preferences, or Model state. Separating Controller from Model (application behavior from data representation) - allows configurable mapping of user action on the Controller to application functions on the Model. Copyright M.Fahad Khan Page 61
62 Consequences or Benefits Wemake changes without bringing down the server. We leave the core code alone We can have multiple versions of the same data displayed We can test our changes in the actual environment. We have achieved separation of concerns Copyright M.Fahad Khan Page 62
63 Summary of MVC Model - the model represents enterprise data and the business rules that govern access to and updates of this data View -the view renders the contents of a model. It accesses enterprise data through the model and specifies how that data should be presented Controller - the controller translates interactions with the view into actions to be performed by the model Copyright M.Fahad Khan Page 63
64 More Information Copious amounts of information on MVC pattern available on Internet. Examples of MVC (Delegate style) all throughout Swing see JDK doc for details Hope the overview was useful to you! More tutorials, Source-code, etc available at our company web site, We consult and develop applications in many languages, including Java and Microsoft.NET Australian based, Programming world-wide Copyright M.Fahad Khan Page 64
65 References Home of the patterns community Adaptability home page Quickest road to understanding the concepts non-software examples otes/index.htm The Sun location for J2ee Sun s Java Pet store example used Copyright M.Fahad Khan Page 65
66 Assignment 3 Design your own MVC Model for software Product. Due Date : 29 Nov, 2012
67 COMING UP NEXT Architecture-Based Testing and Analysis Software Architects: People and Teams
68 Copyright M.Fahad Khan
69 Copyright M.Fahad Khan 69
Model-View-Controller Architecture
--Controller Architecture --Controller Architecture Controller --Controller (MVC) is an architectural pattern, a standard design in the field of software architecture. Heavily used by Apple in writing
More informationMVC. Controller. Model. View. Divide objects in your program into 3 camps. Stanford CS193p Fall 2011
Divide objects in your program into 3 camps. = What your application is (but not how it is displayed) = How your is presented to the user (UI logic) = Your s minions It s all about managing communication
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 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 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 informationCommon Architectural Styles & Patterns
Common Architectural Styles & Patterns some we ve already kind of discussed model view controller blackboard client/server layered pipe-and-filter Lots of ways to classify all these Application Domain
More informationLecture 4: UI Software Architecture. Fall UI Design and Implementation 1
Lecture 4: UI Software Architecture Fall 2006 6.831 UI Design and Implementation 1 1 UI Hall of Fame or Shame? Source: Interface Hall of Shame Fall 2006 6.831 UI Design and Implementation 2 This message
More informationModel-View-Control Pattern for User Interactive Systems
Model-View-Control Pattern for User Interactive Systems In various forms and guises J. Scott Hawker p. 1 Contents Key Model-View-Control (MVC) concepts Web MVC UI Controller in MVC GRASP Application Controller
More informationMAKING THE BUSINESS CASE MOVING ORACLE FORMS TO THE WEB
MAKING THE BUSINESS CASE MOVING ORACLE FORMS TO THE WEB About Us Agenda Strategic Direction of Oracle Forms Applications Migration Options Migrating to 10g and 11g Migrating to J2EE and ADF Migrating to
More informationStanford CS193p. Developing Applications for ios Fall Stanford CS193p. Fall 2013
Developing Applications for ios -14 Today What is this class all about? Description Prerequisites Homework / Final Project ios Overview What s in ios? MVC Object-Oriented Design Concept Objective C (Time
More informationSharePoint Designer Advanced
SharePoint Designer Advanced SharePoint Designer Advanced (1:00) Thank you for having me here today. As mentioned, my name is Susan Hernandez, and I work at Applied Knowledge Group (http://www.akgroup.com).
More informationPatterns Architectural Styles Archetypes
Patterns Architectural Styles Archetypes Patterns The purpose of a pattern is to share a proven, widely applicable solution to a particular problem in a standard form that allows it to be easily reused.
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 informationMultimedia Information Systems Design Patterns & Web Frameworks (Part 1) VU ( ) Christoph Trattner
Multimedia Information Systems Design Patterns & Web Frameworks (Part 1) VU (707.020) Christoph Trattner Know-Center @Know-Center, TUG, Austria 1 Today s plan! PART 1: First partial exam (30mins) PART
More informationEvaluation Guide for ASP.NET Web CMS and Experience Platforms
Evaluation Guide for ASP.NET Web CMS and Experience Platforms CONTENTS Introduction....................... 1 4 Key Differences...2 Architecture:...2 Development Model...3 Content:...4 Database:...4 Bonus:
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 informationArchitectural Styles II
Architectural Styles II Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 21, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles II Nov 21, 2012 1 / 66
More informationMVC: Model View Controller
MVC: Model View Controller Computer Science and Engineering College of Engineering The Ohio State University Lecture 26 Motivation Basic parts of any application: Data being manipulated A user-interface
More informationArchitectural Styles - Finale
Material and some slide content from: - Emerson Murphy-Hill - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture Architectural Styles - Finale Reid Holmes Lecture
More informationApplication Architectures, Design Patterns
Application Architectures, Design Patterns Martin Ledvinka martin.ledvinka@fel.cvut.cz Winter Term 2017 Martin Ledvinka (martin.ledvinka@fel.cvut.cz) Application Architectures, Design Patterns Winter Term
More informationWeb 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 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 informationThin Client for Web Using Swing
Thin Client for Web Using Swing Raffaello Giulietti and Sandro Pedrazzini SUPSI, Dipartimento di Informatica ed Elettrotecnica, Galleria 2, CH-6928 Manno, Switzerland TINET SA CH-6928 Manno, Switzerland
More information1 Introduction. 2 Web Architecture
1 Introduction This document serves two purposes. The first section provides a high level overview of how the different pieces of technology in web applications relate to each other, and how they relate
More informationTrusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout
1 Last update: 2 November 2004 Trusted Components Reuse, Contracts and Patterns Prof. Dr. Bertrand Meyer Dr. Karine Arnout 2 Lecture 5: Design patterns Agenda for today 3 Overview Benefits of patterns
More informationWeb Presentation Patterns (controller) SWEN-343 From Fowler, Patterns of Enterprise Application Architecture
Web Presentation Patterns (controller) SWEN-343 From Fowler, Patterns of Enterprise Application Architecture Objectives Look at common patterns for designing Web-based presentation layer behavior Model-View-Control
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 informationSystem and Software Architecture Description (SSAD)
System and Software Architecture Description (SSAD) E-Lock Box Team 05 Weiyi Zhong Prototyper, Tester Woom Kim System Architect, Developer Cecilia Jou II V&V, Tester Azuka Okuleye Feasibility Analyst,
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 informationACCESSIBILITY POLICY Effective Date: March 20, 2017
OVERVIEW The federal government requires all public institutions to comply with Rehabilitation Act of 1973, 29 U.S.C. 794d, Section 508, subpart B 1194.22 "Web-based intranet and internet information and
More informationCopyright and Trademark Information Trademarks Disclaimer; No Warranty
Copyright and Trademark Information Under the copyright laws, this document may not be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine-readable form, in whole
More informationGUI Programming. Chapter. A Fresh Graduate s Guide to Software Development Tools and Technologies
A Fresh Graduate s Guide to Software Development Tools and Technologies Chapter 12 GUI Programming CHAPTER AUTHORS Ang Ming You Ching Sieh Yuan Francis Tam Pua Xuan Zhan Software Development Tools and
More informationEVALUATION COPY. Unauthorized Reproduction or Distribution Prohibited SHAREPOINT 2013 END USER
SHAREPOINT 2013 END USER SharePoint 2013 End User (SHP2013.1 version 1.2.1) Copyright Information Copyright 2014 Webucator. All rights reserved. The Authors Bruce Gordon Bruce Gordon has been a Microsoft
More informationIntroduction to GUIs. Principles of Software Construction: Objects, Design, and Concurrency. Jonathan Aldrich and Charlie Garrod Fall 2014
Introduction to GUIs Principles of Software Construction: Objects, Design, and Concurrency Jonathan Aldrich and Charlie Garrod Fall 2014 Slides copyright 2014 by Jonathan Aldrich, Charlie Garrod, Christian
More informationDESIGN PATTERN - INTERVIEW QUESTIONS
DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions
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 informationInside Smalltalk MVC: Patterns for GUI Programming
Inside Smalltalk MVC: Patterns for GUI Programming Chien-Tsun Chen Department of Computer Science and Information Engineering National Taipei University of Technology, Taipei 106, Taiwan ctchen@ctchen.idv.tw
More informationAtlassian Confluence 5 Essentials
Atlassian Confluence 5 Essentials Stefan Kohler Chapter No. 5 "Collaborating in Confluence" In this package, you will find: A Biography of the author of the book A preview chapter from the book, Chapter
More informationSoftware Engineering - I An Introduction to Software Construction Techniques for Industrial Strength Software
Software Engineering - I An Introduction to Software Construction Techniques for Industrial Strength Software Chapter 9 Introduction to Design Patterns Copy Rights Virtual University of Pakistan 1 Design
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 informationThe Myx Architectural Style
The Myx Architectural Style The goal of the Myx architectural style is to serve as an architectural style that is good for building flexible, high performance tool-integrating environments. A secondary
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 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
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 informationPRIMIX SOLUTIONS. Core Labs. Tapestry : Java Web Components Whitepaper
PRIMIX SOLUTIONS Core Labs Tapestry : Java Web s Whitepaper CORE LABS Tapestry: Java Web s Whitepaper Primix Solutions One Arsenal Marketplace Phone (617) 923-6639 Fax (617) 923-5139 Tapestry contact information:
More informationModel-view-controller View hierarchy Observer
-view-controller hierarchy Fall 2004 6831 UI Design and Implementation 1 Fall 2004 6831 UI Design and Implementation 2!"# Separation of responsibilities : application state Maintains application state
More information- User Guide for iphone.
- User Guide for iphone. Update to: ios 3.7 Main "Map view" screen: Map objects: Orange icon shows your current location. Important: If there is an error in identifying your location, please check the
More informationOracle Application Development Framework
Oracle Application Development Framework Development Guidelines Oracle JDeveloper 10g (9.0.5.2) August 2004 This document describes the components available in Oracle JDeveloper 10g that help you to create
More informationFRONT USER GUIDE Getting Started with Front
USER GUIDE USER GUIDE Getting Started with Front ESSENTIALS Teams That Use Front How To Roll Out Front Quick Start Productivity Tips Downloading Front Adding Your Team Inbox Add Your Own Work Email Update
More informationWidget Toolkits CS MVC
Widget Toolkits 1 CS349 -- MVC Widget toolkits Also called widget libraries or GUI toolkits or GUI APIs Software bundled with a window manager, operating system, development language, hardware platform
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 informationAn Introduction to Software Architecture. David Garlan & Mary Shaw 94
An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data
More informationEVENT-DRIVEN PROGRAMMING
LESSON 13 EVENT-DRIVEN PROGRAMMING This lesson shows how to package JavaScript code into self-defined functions. The code in a function is not executed until the function is called upon by name. This is
More informationJava Concurrency in practice Chapter 9 GUI Applications
Java Concurrency in practice Chapter 9 GUI Applications INF329 Spring 2007 Presented by Stian and Eirik 1 Chapter 9 GUI Applications GUI applications have their own peculiar threading issues To maintain
More informationstanford hci group / cs376 UI Software Tools Scott Klemmer 14 October research topics in human-computer interaction
stanford hci group / cs376 UI Software Tools Scott Klemmer 14 October 2004 research topics in human-computer interaction http://cs376.stanford.edu cs547 tomorrow: Scott Snibbe Body, Space, and Cinema 2
More informationMobile Application Programming. Messaging and Delegation
Mobile Application Programming Messaging and Delegation Color Chooser Color Chooser MFColorChooserView UIControl or UIView MFColorChooserWheelView UIControl MFColorChooserValueSliderView UIControl MFColorChooserAlphaSliderView
More informationWidgets. Overview. Widget. Widgets Widget toolkits Lightweight vs. heavyweight widgets Swing Widget Demo
Widgets Overview Widgets Widget toolkits Lightweight vs. heavyweight widgets Swing Widget Demo Widget Widget is a generic name for parts of an interface that have their own behavior: buttons, progress
More informationCAS 703 Software Design
Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction
More informationIntroduction to IBM Rational HATS For IBM System i (5250)
Introduction to IBM Rational HATS For IBM System i (5250) Introduction to IBM Rational HATS 1 Lab instructions This lab teaches you how to use IBM Rational HATS to create a Web application capable of transforming
More informationModel-View-Controller (MVC) Architecture
JOHN DEACON Computer Systems Development, Consulting & Training Model-View-Controller (MVC) Architecture Author: John Deacon Synopsis: Although the MVC architecture (or pattern or idiom) has been around
More informationMVC / MVP Reid Holmes
Material and some slide content from: - Krzysztof Czarnecki - Ian Sommerville - Head First Design Patterns MVC / MVP Reid Holmes [Image from: http://merroun.wordpress.com/2012/03/28/mvvm-mvp-and-mvc-software-patterns-againts-3-layered-architecture/
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 informationMore on Design. CSCI 5828: Foundations of Software Engineering Lecture 23 Kenneth M. Anderson
More on Design CSCI 5828: Foundations of Software Engineering Lecture 23 Kenneth M. Anderson Outline Additional Design-Related Topics Design Patterns Singleton Strategy Model View Controller Design by
More informationTools to Develop New Linux Applications
Tools to Develop New Linux Applications IBM Software Development Platform Tools for every member of the Development Team Supports best practices in Software Development Analyst Architect Developer Tester
More informationCOPYRIGHTED MATERIAL. A Framework for Enterprise Applications. Problem
A Framework for Enterprise Applications The solution you will develop throughout this book is for a fictitious company whose human resources department needs to approve, deny, and report on vacation or
More informationRightNow eservice Center 5.5 New Administrator s Survival Guide
RightNow eservice Center 5.5 New Administrator s Survival Guide Table of Contents You may click on each line below to go to that section of this document. OVERVIEW...3 HELPFUL RESOURCES...4 GAINING FAMILIARITY
More informationDesign av brukergrensesnitt på mobile enheter
Design av brukergrensesnitt på mobile enheter Tutorial på Yggdrasil Lillehammer, 12 oktober 2009 Erik G. Nilsson SINTEF IKT ICT Agenda 13:15 Introduction, user interfaces on mobile equipment, important
More informationCS 116x Winter 2015 Craig S. Kaplan. Module 03 Graphical User Interfaces. Topics
CS 116x Winter 2015 Craig S. Kaplan Module 03 Graphical User Interfaces Topics The model-view-controller paradigm Direct manipulation User interface toolkits Building interfaces with ControlP5 Readings
More informationAgent Reference Guide
This reference guide describes the basic system functions and step-by-step procedures for using LeadRouter effectively. 2014-2015 Realogy Holdings Corporation. All Rights Reserved. The LeadRouter System
More informationDesign Patterns. it s about the Observer pattern, the Command pattern, MVC, and some GUI. some more
Lecture: Software Engineering, Winter Semester 2011/2012 some more Design Patterns it s about the Observer pattern, the Command pattern, MVC, and some GUI Design Pattern *...+ describes a problem which
More informationContent. Client-Server Model. Server Roles
IT4409: Web Technologies and e-services Content Spring 2017 Web Development Models Dr. Nguyen Kiem Hieu Department of Information Systems School of Information and Communication Technology Hanoi University
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 informationChapter 11 Program Development and Programming Languages
Chapter 11 Program Development and Programming Languages permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. Programming
More informationedev Technologies integreat4tfs 2015 Update 2 Release Notes
edev Technologies integreat4tfs 2015 Update 2 Release Notes edev Technologies 11/18/2015 Table of Contents 1. INTRODUCTION... 2 2. SYSTEM REQUIREMENTS... 3 3. APPLICATION SETUP... 3 DASHBOARD... 4 1. FEATURES...
More informationEMPLOYEE LOCATION TRACKING SERVICE
WES T ST R EET AWE SOM E STR EET EMPLOYEE LOCATION TRACKING SERVICE Web & Android OVERVIEW GPS fleet tracking services have been on the market for some years now but with the explosion of smartphone usage,
More informationPattern: Model-View-Controller (MVC) Beat Generator Example. Model-View-Controller. Model-View-Controller
Pattern: Model-View-Controller (MVC) Beat Generator MVC is an architectural pattern it specifies code organization at a higher level than a design pattern. (But the idea is similar it tells you how to
More informationOracle Applications OAF, MSCA, MA and ADF. May 06, 2011
Oracle Applications OAF, MSCA, MA and ADF May 06, 2011 Agenda Oracle Applications Framework(OAF) Oracle Mobile Supply Chain Applications Oracle Mobile Applications Oracle OAF, Mobile Apps and MSCA Summary
More informationSystem and Software Architecture Description (SSAD)
System and Software Architecture Description (SSAD) Farmworkers Safety App Team 09 TEAM MEMBER NAME Shobhit Agarwal Akshay Aggarwal Viraj Sahai Vahagen Sinanian Juan Andrade Basir Navab Marko Djuliarso
More informationMiki Guest lecture at Abo Akademi University
Miki (@Vaadin) Guest lecture at Abo Akademi University Why? Architectural styles MVC MVP Vaadin UI architecture Agile and architecture 2014-09-22 miki@vaadin.com }> @mikiolsz 3 What makes architecture
More informationBRIGHTSIGN APP USER GUIDE
BRIGHTSIGN APP USER GUIDE ios App Version 1.0.1 BrightSign, LLC. 16795 Lark Ave., Suite 200 Los Gatos, CA 95032 408-852-9263 www.brightsign.biz TABLE OF CONTENTS Introduction 1 Using the BrightSign App
More informationMOBILE COMPUTING 1/20/18. How many of you. CSE 40814/60814 Spring have implemented a command-line user interface?
MOBILE COMPUTING CSE 40814/60814 Spring 2018 How many of you have implemented a command-line user interface? How many of you have implemented a graphical user interface? HTML/CSS Java Swing.NET Framework
More informationDeltaV Mobile. Introduction. Product Data Sheet September DeltaV Distributed Control System
DeltaV Distributed Control System Product Data Sheet September 2017 DeltaV Mobile Make faster and better decisions with secure, read-only access to your critical operational data, whenever and wherever
More informationUser Guide: Content editing
DIGITAL FACTORY 7.0 User Guide: Content editing Rooted in Open Source CMS, Jahia s Digital Industrialization paradigm is about streamlining Enterprise digital projects across channels to truly control
More informationThe Observatory Tool Dashboard Guide
To paraphrase Donella Meadows, we can't impose our will on Internet. We can listen to what Internet tells us, and discover how its properties and our values can work together to bring forth something much
More informationDepiction of program declaring a variable and then assigning it a value
Programming languages I have found, the easiest first computer language to learn is VBA, the macro programming language provided with Microsoft Office. All examples below, will All modern programming languages
More informationWidget. Widget is a generic name for parts of an interface that have their own behaviour. e.g., buttons, progress bars, sliders, drop-down
Widgets Jeff Avery Widget Widget is a generic name for parts of an interface that have their own behaviour. e.g., buttons, progress bars, sliders, drop-down menus, spinners, file dialog boxes, etc are
More informationHyperion Interactive Reporting Reports & Dashboards Essentials
Oracle University Contact Us: +27 (0)11 319-4111 Hyperion Interactive Reporting 11.1.1 Reports & Dashboards Essentials Duration: 5 Days What you will learn The first part of this course focuses on two
More informationSalesforce ID of the Feature record is stored in the Product Option record to maintain the relationship.
01 INTRODUCTION Welcome to the first edition of Manual Migration Training. In this video we ll take a high-level look at the steps necessary to perform a successful migration of SteelBrick content. In
More informationBEAWebLogic. Portal. Overview
BEAWebLogic Portal Overview Version 10.2 Revised: February 2008 Contents About the BEA WebLogic Portal Documentation Introduction to WebLogic Portal Portal Concepts.........................................................2-2
More informationPEGACUIS71V1 pegasystems
PEGACUIS71V1 pegasystems Number: PEGACUIS71V1 Passing Score: 800 Time Limit: 120 min Exam A QUESTION 1 Which of the following rule types does the Localization wizard translate? (Choose Two) A. Field Value
More informationTestComplete 3.0 Overview for Non-developers
TestComplete 3.0 Overview for Non-developers Copyright 2003 by Robert K. Leahey and AutomatedQA, Corp. All rights reserved. Part : Table of Contents Introduction 1 About TestComplete 1 Basics 2 Types of
More informationHow to Create Collaborative Communities Within Your Portal
How to Create Collaborative Communities Within Your Portal Jim Powell Principal Product Manager Oracle Portal Oracle Corporation Agenda! Communities and their Collaboration Pains! Bringing it all together
More informationWORKSHARE TRANSACT USER GUIDE
WORKSHARE TRANSACT USER GUIDE October 2016 Workshare Transact User Guide Table of Contents Chapter 1. Introducing Workshare Transact... 5 What is Workshare Transact?... 6 A safe place for data... 6 Workflow...
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 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 informationwhere are we? ICS 105: Project in HCI ui toolkits what does the toolkit do? model-view-controller model-view-controller lectures
where are we? ICS 105: Project in HCI UI Toolkits and Programming Models lectures done with evaluation techniques a couple of lectures on toolkits and programming other topics: graphical design and screen
More informationPresentation-Abstraction-Control (PAC) Pattern. PAC Introduction
Presentation-Abstraction-Control (PAC) Pattern PAC Introduction The Presentation-Abstraction-Control architectural pattern (PAC) defines a structure for interactive software systems in the form of a hierarchy
More informationPootle Tutorial! Guide for translators and developers!
Pootle Tutorial Guide for translators and developers + Copyright 2014 Contents 1 Setting up an existing project 3 1.1 Adding the source language (the template ) 4 1.2 Localizing a project in a specific
More informationExsys RuleBook Selector Tutorial. Copyright 2004 EXSYS Inc. All right reserved. Printed in the United States of America.
Exsys RuleBook Selector Tutorial Copyright 2004 EXSYS Inc. All right reserved. Printed in the United States of America. This documentation, as well as the software described in it, is furnished under license
More information06 Visualizing Information
Professor Shoemaker 06-VisualizingInformation.xlsx 1 It can be sometimes difficult to uncover meaning in data that s presented in a table or list Especially if the table has many rows and/or columns But
More information