ios Design Patterns Jackie Myrose CSCI 5448 Fall 2012
|
|
|
- Marcus Long
- 10 years ago
- Views:
Transcription
1 ios Design Patterns Jackie Myrose CSCI 5448 Fall 2012
2 Design Patterns A design pattern is a common solution to a software problem They are helpful for speeding up problem solving, ensuring that a developer doesn t have to re-invent the wheel for every situation They also give developers a common vocabulary with which to get across high-level ideas with minimal explanation and full understanding
3 Why ios? Design patterns are everywhere in ios Because ios is a fairly specific platform, developers often face similar problems over and over, so there are a few design patterns that are extremely common in ios
4 In this presentation Singleton Delegate Model View Controller Observer Façade Command Template Method
5 Singleton The singleton pattern is very simple but extremely powerful It is a very common pattern, but developers have to be careful not to overuse it Because abuse of the singleton pattern is common, some developers avoid the pattern altogether
6 Singleton When a class is restricted to just one instantiation, that one object is called a singleton In some situations it can be problematic to have two instances of a class running, this should be the only reason to use the singleton pattern The next slide contains a basic example of creating a singleton in objective-c, however keep in mind that this code is not thread safe
7 Singleton - code +(ExClass *) singleton{! " "static ExClass *sharedinstance = nil;! " "! " "if ( sharedinstance == nil){! " " "sharedinstance = [[ExClass alloc] init];! " "}! }! " "return sharedinstance;!
8 Delegate The delegate pattern is another simple, yet powerful design pattern As the name indicates, the delegation pattern is used to have one object delegate control to another object to act on its behalf This is used to keep implementation specific behavior out of the generic class
9 Delegate Image from: conceptual/cocoafundamentals/cocoadesignpatterns/cocoadesignpatterns.html
10 Delegate Many UI elements in ios use delegates to control their behavior One example of this is UIScrollView The UIScrollView class has no knowledge of what it should be scrolling as that is an application specific task So to notify the application of scrolling events, UIScrollView uses the UIScrollViewDelegate The application can implement the delegate and then intercept the scrolling events sent to it by the UIScrollView The next slide has examples of methods the UIScrollViewDelegate could implement
11 Delegate - code UIScrollViewDelegate! - scrollviewdidscroll:! - scrollviewwillbegindragging:! - scrollviewwillbegindecelerating:! - scrollviewdidenddecelerating:! - scrollviewdidzoom:
12 Model View Controller All ios apps use Model View Controllers (MVCs) MVCs are the link between an app s data and its UI The MVC is broken up as such: Model Underlying data View The view the user sees, the UI Controller Determines the interactions between the model and views This keeps the program modularized, allowing for high cohesion and loose coupling
13 Model View Controller Image from: conceptual/devpedia-cocoacore/mvc.html
14 Observer The observer pattern is used when one object wants to know when another object changes This pattern is build into every NSObject vi Key-Value Observing This is also often used with MVCs because when a model changes you often will want to update the views
15 Observer Image from:
16 Observer The observer pattern is similar to the delegate pattern, however one key difference is that observable objects support multiple observers, while a delegate is just one object However, with this expanded possibility comes one big pitfall: you must remember to remove an object as an observer when that object is deallocated, otherwise there will be a code leak The following slide contains a code sample of what the Observable class looks like
17 Observer - Observable: NSObject! - (void)addobserver: (id<nsobject>)observer;! - (void)removeobserver: (id<nsobject>)observer;! - (void)notifyobservers:
18 Façade The façade pattern is used for simplifying a complex system It allows for a subsystem to be accessed through one entry point, allowing the systems using it to be unaware of the classes in the subsystem This is also useful if the classes under the façade are likely to change, as we can still have the façade class have the same API
19 Façade One example of this in ios is the NSImage class This class is a façade which provides an interface for using and loading images that can be vector-based or bitmap-based So no matter what type of image the application is using, it can use NSImage and have no knowledge of what s happening underneath the class
20 Façade Image from: programming/design-patterns-facade-pattern/
21 Command The command pattern is used for request encapsulation It allows for the separation of an object sending a message from the objects receiving the message The encapsulated request/message is then much more flexible and can be passed between objects, stored for later, dynamically modified, or placed on a queue
22 Command In ios an example class that is used to encapsulate messages is NSInvocation These objects are used for undo management They contain a target, selector, arguments, and the return value These elements can be set directly and the return value is set automatically when the object is dispatched
23 Command Image from: Conceptual/CocoaFundamentals/CocoaDesignPatterns/CocoaDesignPatterns.html
24 Template Method The Template Method design pattern defines the skeleton of an algorithm, leaving some parts to be implemented by subclasses This allows subclasses to refine certain parts of the algorithm without changing the structure In ios this lets parts of a program hook into an algorithm, but the framework still determines how they are needed
25 Template Method One example of this in ios is the document architecture defined by AppKit, a framework Three classes are key to this architecture: NSDocument, NSWindowController, and NSDocumentController AppKit sends messages to each of these objects at runtime and then requests it to perform specific operations The developer needs to override many methods in these messages to add behavior specific to their application
26 Template Method Image from:
27 Further Resources #documentation/cocoa/conceptual/cocoafundamentals/ CocoaDesignPatterns/CocoaDesignPatterns.html Patterns-iOS/dp/
How To Develop An App For Ios (Windows)
Mobile Application Development Lecture 14 ios SDK 2013/2014 Parma Università degli Studi di Parma Lecture Summary ios operating system ios SDK Tools of the trade ModelViewController MVC interaction patterns
CS330 Design Patterns - Midterm 1 - Fall 2015
Name: Please read all instructions carefully. The exam is closed book & no laptops / phones / computers shall be present nor be used. Please write your answers in the space provided. You may use the backs
INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011
INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 1 Goals of the Lecture Present an introduction to Objective-C 2.0 Coverage of the language will be INCOMPLETE
This documentation is made available before final release and is subject to change without notice and comes with no warranty express or implied.
Hyperloop for ios Programming Guide This documentation is made available before final release and is subject to change without notice and comes with no warranty express or implied. Requirements You ll
Salesforce Mobile Push Notifications Implementation Guide
Salesforce.com: Summer 14 Salesforce Mobile Push Notifications Implementation Guide Last updated: May 6, 2014 Copyright 2000 2014 salesforce.com, inc. All rights reserved. Salesforce.com is a registered
Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering
Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 2 GoF Design Patterns Creational 1 GoF Design Patterns Principles Emphasis on flexibility and reuse through decoupling of classes. The underlying
ios Dev Crib Sheet In the Shadow of C
ios Dev Crib Sheet As you dive into the deep end of the ios development pool, the first thing to remember is that the mother ship holds the authoritative documentation for this endeavor http://developer.apple.com/ios
Object Oriented Programming and the Objective-C Programming Language 1.0. (Retired Document)
Object Oriented Programming and the Objective-C Programming Language 1.0 (Retired Document) Contents Introduction to The Objective-C Programming Language 1.0 7 Who Should Read This Document 7 Organization
Cocoa Fundamentals Guide. (Retired Document)
Cocoa Fundamentals Guide (Retired Document) Contents Introduction 10 Organization of This Document 10 See Also 11 What Is Cocoa? 12 The Cocoa Environment 12 Introducing Cocoa 12 How Cocoa Fits into OS
INTRODUCTION TO IOS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 13 02/22/2011
INTRODUCTION TO IOS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 13 02/22/2011 1 Goals of the Lecture Present an introduction to ios Program Coverage of the language will be INCOMPLETE We
When Security Gets in the Way. PenTesting Mobile Apps That Use Certificate Pinning
When Security Gets in the Way PenTesting Mobile Apps That Use Certificate Pinning Justine Osborne Alban Diquet Outline What is Certificate Pinning? Definition and Background Consequences for Mobile Blackbox
Design with Reuse. Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1
Design with Reuse Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1 Objectives To explain the benefits of software reuse and some reuse
MA-WA1920: Enterprise iphone and ipad Programming
MA-WA1920: Enterprise iphone and ipad Programming Description This 5 day iphone training course teaches application development for the ios platform. It covers iphone, ipad and ipod Touch devices. This
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2009 Vol. 8, No. 5, July-August 2009 The Application of Design Patterns to Develop
Architecture. Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/
Architecture Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/ Some slides were adapted from L. Osterweil, B. Meyer, and P. Müller material Reda Bendraou LI386-S1
Use Cases. Massimo Felici. Massimo Felici Use Cases c 2004 2011
Use Cases Massimo Felici Use Cases 1 Support requirements engineering activities and the requirement process Capture what a system is supposed to do, i.e., systems functional requirements Describe sequences
Advanced Testing and Continuous Integration
Developer Tools #WWDC16 Advanced Testing and Continuous Integration Session 409 Zoltan Foley-Fisher Xcode Engineer Eric Dudiak Xcode Engineer 2016 Apple Inc. All rights reserved. Redistribution or public
Salesforce Mobile Push Notifications Implementation Guide
Salesforce Mobile Push Notifications Implementation Guide Salesforce, Winter 16 @salesforcedocs Last updated: December 10, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce
ios Cloud Development FOR Neal Goldstein WILEY John Wiley & Sons, Inc.
ios Cloud Development FOR by Neal Goldstein WILEY John Wiley & Sons, Inc. Table of Contents Introduction 1 About This Book 3 Conventions Used in This Book 3 Foolish Assumptions 4 How This Book Is Organized
Design Patterns. Design patterns are known solutions for common problems. Design patterns give us a system of names and ideas for common problems.
Design Patterns Design patterns are known solutions for common problems. Design patterns give us a system of names and ideas for common problems. What are the major description parts? Design Patterns Descriptions
View Controller Programming Guide for ios
View Controller Programming Guide for ios Contents About View Controllers 10 At a Glance 11 A View Controller Manages a Set of Views 11 You Manage Your Content Using Content View Controllers 11 Container
Business-Driven Software Engineering Lecture 3 Foundations of Processes
Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster [email protected] Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary
Designing and Writing a Program DESIGNING, CODING, AND DOCUMENTING. The Design-Code-Debug Cycle. Divide and Conquer! Documentation is Code
Designing and Writing a Program DESIGNING, CODING, AND DOCUMENTING Lecture 16 CS2110 Spring 2013 2 Don't sit down at the terminal immediately and start hacking Design stage THINK first about the data you
Java SE 7 Programming
Java SE 7 Programming The second of two courses that cover the Java Standard Edition 7 (Java SE 7) Platform, this course covers the core Application Programming Interfaces (API) you will use to design
Development Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin
Development Techniques for Native/Hybrid Tizen Apps Presented by Kirill Kruchinkin Agenda Introduction and Definitions Practices Case Studies 2 Introduction & Definitions 2 App Types Browser Apps Installable
Contents. About Testing with Xcode 4. Quick Start 7. Testing Basics 23. Writing Test Classes and Methods 28. At a Glance 5 Prerequisites 6 See Also 6
Testing with Xcode Contents About Testing with Xcode 4 At a Glance 5 Prerequisites 6 See Also 6 Quick Start 7 Introducing the Test Navigator 7 Add Testing to Your App 11 Create a Test Target 12 Run the
SPRING INTERVIEW QUESTIONS
SPRING INTERVIEW QUESTIONS http://www.tutorialspoint.com/spring/spring_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Spring Interview Questions have been designed specially to
Programming Cocoa with Ruby Create Compelling Mac Apps Using RubyCocoa
Programming Cocoa with Ruby Create Compelling Mac Apps Using RubyCocoa Brian Mariek The Pragmatic Bookshelf Raleigh. North Carolina Dallas. Texas 1 Introduction 1 1.1 What Is Cocoa? 2 1.2 What Is RubyCocoa?
ios Development Tutorial Nikhil Yadav CSE 40816/60816: Pervasive Health 09/09/2011
ios Development Tutorial Nikhil Yadav CSE 40816/60816: Pervasive Health 09/09/2011 Healthcare iphone apps Various apps for the iphone available Diagnostic, Diet and Nutrition, Fitness, Emotional Well-being
Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.
Chapter 1 Introduction to ios Development Objectives: Touch on the history of ios and the devices that support this operating system. Understand the different types of Apple Developer accounts. Introduce
Unit and Functional Testing for the ios Platform. Christopher M. Judd
Unit and Functional Testing for the ios Platform Christopher M. Judd Christopher M. Judd President/Consultant of leader Columbus Developer User Group (CIDUG) Remarkable Ohio Free Developed for etech Ohio
File System Programming Guide
File System Programming Guide Contents About Files and Directories 8 At a Glance 8 The File System Imposes a Specific Organization 8 Access Files Safely 9 How You Access a File Depends on the File Type
Software Engineering. Software Reuse. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Reuse Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain the benefits of software reuse and some reuse problems To discuss several different
Client-server 3-tier N-tier
Web Application Design Notes Jeff Offutt http://www.cs.gmu.edu/~offutt/ SWE 642 Software Engineering for the World Wide Web N-Tier Architecture network middleware middleware Client Web Server Application
Python Dependency Injection
Python Dependency Injection Alex Martelli ([email protected]) http://www.aleax.it/yt_pydi.pdf Copyright 2008, Google Inc The "levels" of this talk Shu ("Retain") Ha ("Detach") Py DP Ri ("Transcend") 2 The
Aneka Dynamic Provisioning
MANJRASOFT PTY LTD Aneka Aneka 2.0 Manjrasoft 10/22/2010 This document describes the dynamic provisioning features implemented in Aneka and how it is possible to leverage dynamic resources for scaling
Using the Construct Development Environment to Generate a File-Based Hypermedia Storage Service
Using the Construct Development Environment to Generate a File-Based Hypermedia Storage Service Uffe Kock Wiil Department of Computer Science Aalborg University Esbjerg Niels Bohrs Vej 8, 6700 Esbjerg,
Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T: 072 511 12 23
Microsoft SharePoint year SharePoint 2013: Search, Design and 2031 Publishing New SharePoint 2013: Solutions, Applications 2013 and Security New SharePoint 2013: Features, Delivery and 2010 Development
Application Programming on the Mac COSC346
Application Programming on the Mac COSC346 OS X Application An application is a complex system made of many subcomponents Graphical interface Event handling Multi-threading Data processing Storage 2 Cocoa
In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal
Paper Title: Generic Framework for Video Analysis Authors: Luís Filipe Tavares INESC Porto [email protected] Luís Teixeira INESC Porto, Universidade Católica Portuguesa [email protected] Luís Corte-Real
ios App Development for Everyone
ios App Development for Everyone Kevin McNeish Table of Contents Chapter 2 Objective C (Part 6) Referencing Classes Now you re ready to use the Calculator class in the App. Up to this point, each time
Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013
Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone
DATA SYNCHRONIZATION ON MOBILE DEVICES
JUNE 16, 2015 FINAL BACHELOR PROJECT AT UNIVERSITY COLLEGE OF NORTHERN DENMARK SOFTWARE DEVELOPMENT DATA SYNCHRONIZATION ON MOBILE DEVICES UNDER THE SUPERVISION OF MOGENS HOLM IVERSEN ZLATIMIR ZAHARIEV
Software Documentation Guidelines
Software Documentation Guidelines In addition to a working program and its source code, you must also author the documents discussed below to gain full credit for the programming project. The fundamental
Chapter 1 Fundamentals of Java Programming
Chapter 1 Fundamentals of Java Programming Computers and Computer Programming Writing and Executing a Java Program Elements of a Java Program Features of Java Accessing the Classes and Class Members The
Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions
Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions MicroStrategy Mobile SDK 1 Agenda MicroStrategy Mobile SDK Overview Requirements & Setup Custom App Delegate Custom
CMSC 132: Object-Oriented Programming II. Design Patterns I. Department of Computer Science University of Maryland, College Park
CMSC 132: Object-Oriented Programming II Design Patterns I Department of Computer Science University of Maryland, College Park Design Patterns Descriptions of reusable solutions to common software design
Table of Contents. Adding Build Targets to the SDK 8 The Android Developer Tools (ADT) Plug-in for Eclipse 9
SECOND EDITION Programming Android kjj *J} Zigurd Mednieks, Laird Dornin, G. Blake Meike, and Masumi Nakamura O'REILLY Beijing Cambridge Farnham Koln Sebastopol Tokyo Table of Contents Preface xiii Parti.
Cloud Computing. Up until now
Cloud Computing Lecture 11 Virtualization 2011-2012 Up until now Introduction. Definition of Cloud Computing Grid Computing Content Distribution Networks Map Reduce Cycle-Sharing 1 Process Virtual Machines
SwiftScale: Technical Approach Document
SwiftScale: Technical Approach Document Overview This document outlines a technology embodiment of the SwiftScale application including the technology, deployment and application architectures. Technology
Note: This App is under development and available for testing on request. Note: This App is under development and available for testing on request. Note: This App is under development and available for
Java EE Web Development Course Program
Java EE Web Development Course Program Part I Introduction to Programming 1. Introduction to programming. Compilers, interpreters, virtual machines. Primitive types, variables, basic operators, expressions,
Symfony2 and Drupal. Why to talk about Symfony2 framework?
Symfony2 and Drupal Why to talk about Symfony2 framework? Me and why Symfony2? Timo-Tuomas Tipi / TipiT Koivisto, M.Sc. Drupal experience ~6 months Symfony2 ~40h Coming from the (framework) Java world
XPoints: Extension Interfaces for Multilayered Applications
XPoints: Extension Interfaces for Multilayered Applications Mohamed Aly, Anis Charfi, Sebastian Erdweg, and Mira Mezini Applied Research, SAP AG [email protected] Software Technology Group, TU
Rapid Application Development of a Decision Support System using Object Oriented Programming
Rapid Application Development of a Decision Support System using Object Oriented Programming Amy Roehrig, Trilogy Consulting Corporation, Pleasant Grove, UT Abstract Constantly changing business needs
Web Frameworks. web development done right. Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.
Web Frameworks web development done right Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.ssa Anna Corazza Outline 2 Web technologies evolution Web frameworks Design Principles
CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application
BACKBONE.JS Sencha Touch CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application A RapidValue Solutions Whitepaper Author: Pooja Prasad, Technical Lead, RapidValue Solutions Contents Executive
Assignment 1: Matchismo
Assignment 1: Matchismo Objective This assignment starts off by asking you to recreate the demonstration given in the second lecture. Not to worry, the posted slides for that lecture contain a detailed
How To Write A Composition Engine In A Microsoft Ip System
Service composition in IMS using Java EE SIP servlet containers Torsten Dinsing, Göran AP Eriksson, Ioannis Fikouras, Kristoffer Gronowski, Roman Levenshteyn, Per Pettersson and Patrik Wiss The IP Multimedia
DEVELOPING AN IOS APPLICATION FOR VALUE STREAM MAPPING WITH SWIFT
Bachelor's thesis Information Technology Internet Technology 2016 Mikias Berhanu Gebre DEVELOPING AN IOS APPLICATION FOR VALUE STREAM MAPPING WITH SWIFT BACHELOR S THESIS ABSTRACT TURKU UNIVERSITY OF APPLIED
How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer
How to Build an E-Commerce Application using J2EE Carol McDonald Code Camp Engineer Code Camp Agenda J2EE & Blueprints Application Architecture and J2EE Blueprints E-Commerce Application Design Enterprise
How To Use Ios 5
Chapter 1 The Brand New Stuff In 2007, the late Steve Jobs took the stage at Macworld and proclaimed that software running on iphone was at least five years ahead of the competition. Since its initial
JMS 2.0: Support for Multi-tenancy
JMS 2.0: Support for Multi-tenancy About this document This document contains proposals on how multi-tenancy might be supported in JMS 2.0. It reviews the Java EE 7 proposals for resource configuration
Creating & Managing Discussion Forums
Creating & Managing Discussion Forums This tutorial will step you through creating and managing discussion forums in Blackboard. The tutorial is segmented by feature and where possible links are provided
Proposal for DSpace Web MVC
Proposal for DSpace Web MVC QIN ZHENGQUAN Short description: In my experiences of building enterprise applications (Tourist Portal and Video rental system) my JSP pages were often peppered with scriptlets
DIPLOMADO DE JAVA - OCA
DIPLOMADO DE JAVA - OCA TABLA DE CONTENIDO INTRODUCCION... 3 ESTRUCTURA DEL DIPLOMADO... 4 Nivel I:... 4 Fundamentals of the Java Programming Language Java SE 7... 4 Introducing the Java Technology...
Cucumber: Finishing the Example. CSCI 5828: Foundations of Software Engineering Lecture 23 04/09/2012
Cucumber: Finishing the Example CSCI 5828: Foundations of Software Engineering Lecture 23 04/09/2012 1 Goals Review the contents of Chapters 9 and 10 of the Cucumber textbook Testing Asynchronous Systems
Core J2EE Patterns, Frameworks and Micro Architectures
Core J2EE Patterns, Frameworks and Micro Architectures [email protected] Patterns & Design Expertise Center Sun Software Services January 2004 Agenda Patterns Core J2EE Pattern Catalog Background J2EE
Operating System Organization. Purpose of an OS
Slide 3-1 Operating System Organization Purpose of an OS Slide 3-2 es Coordinate Use of the Abstractions he Abstractions Create the Abstractions 1 OS Requirements Slide 3-3 Provide resource abstractions
Stock Trader System. Architecture Description
Stock Trader System Architecture Description Michael Stevens [email protected] http://www.mestevens.com Table of Contents 1. Purpose of Document 2 2. System Synopsis 2 3. Current Situation and Environment
Introduction to LabVIEW Design Patterns
Introduction to LabVIEW Design Patterns What is a Design Pattern? Definition: A well-established solution to a common problem. Why Should I Use One? Save time and improve the longevity and readability
Principles of Software Construction: Objects, Design and Concurrency. GUIs with Swing. toad 15-214. Spring 2013
Principles of Software Construction: Objects, Design and Concurrency GUIs with Swing 15-214 toad Spring 2013 Christian Kästner Charlie Garrod School of Computer Science 2012-13 C Garrod, C Kästner, J Aldrich,
Software Development: The Waterfall Model
Steven Zeil June 7, 2013 Contents 1 Software Development Process Models 2 1.1 Components of the Waterfall Model................................. 2 1.1.1 What is a requirement?. 2 1.1.2 Testing..........
Commercial software development with the help of J2EE architecture and MVC
Journal of The International Association of Advanced Technology and Science Commercial software development with the help of J2EE architecture and MVC Anup Kumar Ranjeeta chauhan 1. Abstract The Java 2
A First Set of Design Patterns for Algorithm Animation
Fifth Program Visualization Workshop 119 A First Set of Design Patterns for Algorithm Animation Guido Rößling CS Department, TU Darmstadt Hochschulstr. 10 64289 Darmstadt, Germany [email protected] Abstract
Point-of-Sale Developer Guide
360Store Point-of-Sale Developer Guide Release 7.2.0 LA February 2006 Confidential This document and the information it contains are the property of 360Commerce, Inc. This document contains confidential
A MODEL OF HETEROGENEOUS DISTRIBUTED SYSTEM FOR FOREIGN EXCHANGE PORTFOLIO ANALYSIS
UDC: 004.42 Original scientific paper A MODEL OF HETEROGENEOUS DISTRIBUTED SYSTEM FOR FOREIGN EXCHANGE PORTFOLIO ANALYSIS Dragutin Kermek 1, Tomislav Jakupi 2, Neven Vr ek 1 1 University of Zagreb,Faculty
Connect for iphone. Aug, 2012 Ver 5.3b AWest. 1 P age
Connect for iphone Aug, 2012 Ver 5.3b AWest 1 P age About the Connect for iphone App... 3 iphone app system requirements... 3 Required Software... 3 Blackboard Requirements... 3 iphone App Installation,
Business Modeling with UML
Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their
Agile Development with Jazz and Rational Team Concert
Agile Development with Jazz and Rational Team Concert Mayank Parikh [email protected] Acknowledgements: Thanks to Khurram Nizami for some of the slides in this presentation Agile Values: A Foundation
Java SE 7 Programming
Oracle University Contact Us: 1.800.529.0165 Java SE 7 Programming Duration: 5 Days What you will learn This Java SE 7 Programming training explores the core Application Programming Interfaces (API) you'll
Object-Oriented Design Guidelines
Adaptive Software Engineering G22.3033-007 Session 8 Sub-Topic 3 Presentation Object-Oriented Design Guidelines Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute
Java SE 7 Programming
Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 4108 4709 Java SE 7 Programming Duration: 5 Days What you will learn This Java Programming training covers the core Application Programming
Android Developer Fundamental 1
Android Developer Fundamental 1 I. Why Learn Android? Technology for life. Deep interaction with our daily life. Mobile, Simple & Practical. Biggest user base (see statistics) Open Source, Control & Flexibility
Agile Software Development
Agile Software Development Principles, Patterns, and Practices Robert Cecil Martin Alan Apt Series Prentice «: : Hall Pearson Education, Inc. Upper Saddle River, New Jersey 07458 Foreword Preface About
Design Patterns. Advanced Software Paradigms (A. Bellaachia) 1
Design Patterns 1. Objectives... 2 2. Definitions... 3 2.1. What is a Pattern?... 3 2.2. Categories of Patterns... 4 3. Pattern Characteristics [Buschmann]:... 5 4. Essential Elements of a Design Pattern
