How to build successful DSL s
|
|
- Justin Barton
- 5 years ago
- Views:
Transcription
1 How to build successful DSL s Octavie van Haaften Leendert Versluijs 5 juni
2 AGENDA Process Demo 2
3 What: The Goal Modeling must be less work than coding Generate code that runs Being able to always re-generate Code always conform a reference architecture Only for reoccurring patterns Usable for junior developers 3
4 What: The Domain Medium to large scale administrative systems Based on Microsoft architecture Latest available Microsoft technology Service oriented Open standards Microsoft & open source components Clear, explicit choices 4
5 What: The Architecture and Components Users User Interface components Communication Operational Management Security Ordina Core Framework Ordina DSL Specific Frameworks Business Processes Business Classes User Processes Service Interfaces Business Workflows Service Agents DTO ListItem DTO Data Access Logic Components Data Service Agents 5
6 What: The Architecture and Components Communication Operational Management Security Ordina Core Framework Ordina DSL Specific Frameworks Business Processes Users User Interface components Business Classes Controls (Validation) (AJAX) User Processes Service Interfaces Business Workflows Service Agents DTO ListItem DTO Data Access Logic Components Data Service Agents 6
7 What: The Architecture and Components Communication Operational Management Security Ordina Core Framework Ordina DSL Specific Frameworks Users User Interface components User Processes Application Building Block Business Processes Business Classes Controls (Validation) Microsoft (AJAX) UI Process Service Interfaces Business Workflows Service Agents DTO ListItem DTO Data Access Logic Components Data Service Agents 7
8 What: The Architecture and Components Communication Operational Management Security Ordina Core Framework Ordina DSL Specific Frameworks Users Controls (Validation) Microsoft (AJAX) UI Process User Interface components User Processes Application Building Block Validation (Custom attributes) Service Interfaces Business Processes Business Workflows Business Classes Service Agents DTO ListItem DTO Data Access Logic Components Data Service Agents 8
9 What: The Architecture and Components Communication Operational Management Security Ordina Core Framework Ordina DSL Specific Frameworks Users Controls (Validation) Microsoft (AJAX) UI Process User Interface components User Processes Application Building Block Validation WCF (Custom (Behaviours) attributes) Service Interfaces Business Processes Business Workflows Business Classes Service Agents DTO ListItem DTO Data Access Logic Components Data Service Agents 9
10 What: The Architecture and Components Communication Operational Management Security Ordina Core Framework Ordina DSL Specific Frameworks Users User Interface components User Processes Application Building Block Business Process (Validation) Microsoft (AJAX) UI Process Service Interfaces (Translation for DTO s) Controls Validation WCF (Custom (Behaviours) attributes) Business Processes (Base classes) Business Workflows Business Classes Service Agents DTO ListItem DTO Data Access Logic Components Data Service Agents 10
11 What: The Architecture and Components Communication Operational Management Security Ordina Core Framework Ordina DSL Specific Frameworks Users User Interface components User Processes Application Building Block Business Process (Validation) Microsoft (AJAX) UI Process Business Classes Service Interfaces (Translation for DTO s) Business Class Business Processes (Base classes) (Translation) Controls (Business rules handling) Validation WCF (Custom (Behaviours) attributes) Business Workflows Service Agents DTO ListItem DTO Data Access Logic Components Data Service Agents 11
12 What: The Architecture and Components Communication Operational Management Security Ordina Core Framework Ordina DSL Specific Frameworks Users User Interface components User Processes Application Building Block Business Process (Validation) Microsoft (AJAX) UI Process Business Classes Service Interfaces (Translation for DTO s) Business Class Business Processes (Base classes) (Translation) Controls (Business rules handling) Validation WCF (Custom (Behaviours) attributes) Business Workflows Service Agents DTO ListItem DTO NHibernate Data Access Logic Components Data Service Agents 12
13 What: The Architecture and Components Communication Operational Management Security Ordina Core Framework Log4Net Ordina DSL Specific Frameworks Users User Interface components User Processes Application Building Block Business Process (Validation) Microsoft (AJAX) UI Process Business Classes Service Interfaces (Translation for DTO s) Business Class Business Processes (Base classes) (Translation) Controls (Business rules handling) Validation WCF (Custom (Behaviours) attributes) Business Workflows Service Agents DTO ListItem DTO NHibernate Data Access Logic Components Data Service Agents 13
14 What: The Architecture and Components Communication Operational Management Security Ordina Core Framework Log4Net Ordina DSL Specific Frameworks Users User Interface components User Processes Application Building Block Business Process (Validation) Microsoft (AJAX) UI Process Business Classes Service Interfaces (Translation for DTO s) Business Class Business Processes (Base classes) (Translation) Controls (Business rules handling) Validation WCF (Custom (Behaviours) attributes) Business Workflows Service Agents DTO ListItem DTO NHibernate Data Access Logic Components Data Service Agents 14
15 Define: Analyze the code Static code is put into framework Re-occuring patterns are generated from a DSL The rest: keep writing the code by hand Tradeoffs : the division between putting something in the framework or generating code is iteratively being adjusted. 15
16 Define: Rules of the Game Define the concepts that you need in your DSL to generate the required code Focus on concepts above programming language level Keep a DSL small and simple Keep models for a DSL small Assume that you will need multiple DSLs Storyboard the models 16
17 Define: The Models Users Communication Operational Management Security Ordina Core Framework Ordina DSL Specific Frameworks Service DSL Business Processes Web-Scenario User Interface components User Processes Service Interfaces Business Classes DSL DSL Business Workflows Service Agents Data Contract DSL Workflow Foundation Sequential workflows DTO ListItem DTO Data Access Logic Components Data Service Agents 17
18 Build: Model Integration & Validation /> <HTML> <BODY> Hello World </BODY> </HTML> Class MyClass { public string Hello() { return Hello world ; } } DSL Specifiek Framework Class MyClass { public string Hello() { return Hello world ; } } DSL Specifiek Framework Generiek Framework Class MyClass { public string Hello() { return Hello world ; } } <Mapping> <Class> <Table> </Mapping> DSL Specifiek Framework CREATE TABLE MyTable FIELD1 int FIELD2 varchar(50) 18
19 Build: NDIP Ordina NDIP Code generation support Cross model validation DSL Intellisense support Propagate model changes Ordina Web Scenario Designer Ordina Data Contract Designer Ordina Service Designer Ordina Business Class Designer Output Output Output Output 19
20 Build: Code Generation Strategies Code generation templates (T4) Never change generated code, extend it Design extension points in generated code Code generation patterns Abstract Base Class GENERATED Partial Concrete SubClass GENERATED HAND WRITTEN Partial SubClass Extension XML merging Need partial XML files (a la partial C# classes) Configurable Controls and Unique identifiers 20
21 Build: Usability Visual Studio.NET Instant action on save Validation Generation Popups for complex editing tasks IntelliSense Generation of multiple files Cross project generation Files under model 21
22 Use: Create Fertile Environment Workshops developed Underlying architecture, framework & components The DSL s Development process with DSLs Project support Life Wiki for how-to's Q&A Release management Keep technology up to date Add new functionality Release new versions of DSL s regularly 22
23 23
24 Take Away s Keep DSLs small A DSL doesn t live standalone, you need an NDIP Model is the unit of version control, multiuser access, etc. Everything in a model is used for code generation Models are leading: never touch the generated code Don t aim for 100% code generation The success lies in the usage of your DSL 24
25 ORDINA N.V. Ringwade 1 Tel: LM Nieuwegein Fax: info@ordina.nl
Small is Beautiful Building a flexible software factory using small DSLs and Small Models
Small is Beautiful Building a flexible software factory using small DSLs and Small Models Jos Warmer Partner, Ordina jos.warmer@ordina.nl 1 Modeling Maturity Levels MML 0: No specification MML 1: Textual
More information1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE.
CUSTOMER PAIN POINTS 1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE.NET FRAMEORK. THAT S TAKING UP SPACE ON MY HARDDRIVE
More informationUser Authentication Best Practices for E-Signatures Wednesday February 25, 2015
User Authentication Best Practices for E-Signatures Wednesday February 25, 2015 Agenda E-Signature Overview Legality, Authentication & Best Practices Role of authentication in e-signing Options and applications
More informationA Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group
A Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group 2008 IBM Corporation Agenda XPage overview From palette to properties: Controls, Ajax
More informationBIG MODELS AN ALTERNATIVE APPROACH
2. BIG MODELS AN ALTERNATIVE APPROACH Whitepaper Eclipse Summit 2008 Modeling Symposium Jos Warmer, Ordina (jos.warmer@ordina.nl) Abstract Scaling up modeling within project runs into many practical problems.
More informationLab 08. Command Line and Git
Lab 08 Command Line and Git Agenda Final Project Information All Things Git! Make sure to come to lab next week for Python! Final Projects Connect 4 Arduino ios Creative AI Being on a Team - How To Maximize
More informationRapid Application Development with APEX 5.0
Rapid Application Development with APEX 5.0 Anthony Rayner Principal Member of Technical Staff Oracle Application Express Oracle UK The following is intended to outline Oracle s general product direction.
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 informationAutomate to Innovate L EA RN WHAT SCRIPTING CAN DO FOR YOU P U N E E T S I N G H
Automate to Innovate LEARN WHAT SCRIPTING CAN DO FOR YOU PUNEET SINGH Agenda Target Audience What will be covered in the session? Why Automate? Where to Automate? Where to Automate Examples How to Start
More information"Charting the Course... MOC A Developing Data Access Solutions with Microsoft Visual Studio Course Summary
Description Course Summary In this course, experienced developers who know the basics of data access (CRUD) in Windows client and Web application environments will learn to optimize their designs and develop
More informationWelcome! COMP s1. Programming Fundamentals
Welcome! 0 COMP1511 18s1 Programming Fundamentals COMP1511 18s1 Lecture 5 1 More Loops Andrew Bennett while loops loops inside loops stopping loops 2 Before we begin introduce
More informationCOSC 341 Human Computer Interaction. Dr. Bowen Hui University of British Columbia Okanagan
COSC 341 Human Computer Interaction Dr. Bowen Hui University of British Columbia Okanagan 1 Recall: Learning About Your User Common ways to elicit user feedback: Interviews Focus groups Expert reviews
More informationOverview and Demonstration
IBM Software Group Overview and Demonstration IBM Corporation Harley Davidson Agenda Overview Demonstration Create a Form Forms within a portal Futures Summary IBM Software Group Manual Forms create challenges
More informationDeveloping Data Access Solutions with Microsoft Visual Studio 2010
Developing Data Access Solutions with Microsoft Visual Studio 2010 Course Code: 10265A; Five days; Instructor-Led About this Course In this course, experienced developers who know the basics of data access
More informationArchitecting ASP.NET Applications
Architecting ASP.NET Applications About me Name: Gunnar Peipman Origin: Tallinn, Estonia Work: Architect, developer Microsoft: ASP.NET/IIS MVP Community: Blogger, speaker Blog: http://gunnarpeipman.com
More informationCM Mega Menu Documentation
CM Mega Menu Documentation Release 1.0.0 CMExtension May 26, 2016 Contents 1 Overview 3 1.1 Technical Requirements......................................... 3 2 Installation 5 2.1 Upgrading................................................
More informationCreating an Intranet using Lotus Web Content Management. Part 2 Project Planning
Creating an Intranet using Lotus Web Content Management Introduction Part 2 Project Planning Many projects have failed due to poor project planning. The following article gives an overview of the typical
More informationVerification and Validation of Models for Embedded Software Development Prashant Hegde MathWorks India Pvt. Ltd.
Verification and Validation of Models for Embedded Software Development Prashant Hegde MathWorks India Pvt. Ltd. 2015 The MathWorks, Inc. 1 Designing complex systems Is there something I don t know about
More informationDesign Iteration: From Evidence to Design. Slides originally by: Dick Henneman
Design Iteration: From Evidence to Design Slides originally by: Dick Henneman Foundations: MS-HCI @ Georgia Tech Context of use Context of development Analyze/ Evaluate Design/B uild Evidence-Based Design
More informationCourse Outline. Developing Data Access Solutions with Microsoft Visual Studio 2010 Course 10265A: 5 days Instructor Led
Developing Data Access Solutions with Microsoft Visual Studio 2010 Course 10265A: 5 days Instructor Led About this Course In this course, experienced developers who know the basics of data access (CRUD)
More informationWhere Do We Go From Here? Why Many IT Staff are Living in the Past
Where Do We Go From Here? Why Many IT Staff are Living in the Past SAGE Computing Services Customised Oracle Training Workshops and Consulting Chris Muir Senior Consultant Agenda Oracle technology latest
More informationinnoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel
innoq Deutschland GmbH innoq Schweiz GmbH D-40880 Ratingen CH-6330 Cham Tel +49 2102 77 1620 Tel +41 41 743 01 11 www.innoq.com Stefan Tilkov, stefan.tilkov@innoq.com 1 Goals Introduce MDE, MDA, MDD, MDSD,...
More informationThe Advantages of a ready-to-go Intranet
The Advantages of a ready-to-go Intranet Why choose a ready-to-go intranet? Regardless of the size, amount of employees or field of work, almost any business experiences an increase in productivity and
More informationHARNESSING THE POWER OF ONLINE CONTENT IN OLM
OLM (ebs.abc.com) OLM Player Window Content Server (content.xyz.com) End User HARNESSING THE POWER OF ONLINE CONTENT IN OLM Presented March 2014 Anne Saulnier & John Hobart WEBINAR AGENDA Online Tracking
More informationPnP Deep Dive Hands-on with APIC-EM and Prime Infrastructure
LTRNMS-2007 PnP Deep Dive Hands-on with APIC-EM and Prime Infrastructure Thomas Gerneth, Julian Mueller,Tobias Huelsdau Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after
More informationOpen Health Tools UI Platform The MITRE Corporation. All rights Reserved. Approved for Public Release: XXXXX. Distribution Unlimited.
Open Health Tools UI Platform Approved for Public Release: XXXXX. Distribution Unlimited. Agenda UI Problem Open Health Tool UI Platform Collaboration OHT UI Platform Architecture Enabling Innovation UI
More informationSeng310 Lecture 8. Prototyping
Seng310 Lecture 8. Prototyping Course announcements Deadlines Individual assignment (extended) deadline: today (June 7) 8:00 am by email User testing summary for paper prototype testing- Thursday June
More informationMobile Programming Lecture 1. Getting Started
Mobile Programming Lecture 1 Getting Started Today's Agenda About the Android Studio IDE Hello, World! Project Android Project Structure Introduction to Activities, Layouts, and Widgets Editing Files in
More informationCourse Outline: Course 10267A: Introduction to Web Development with Microsoft Visual Studio 2010 Learning Method: Instructor-led Classroom Learning
Course Outline: Course 10267A: Introduction to Web Development with Microsoft Visual Studio 2010 Learning Method: Instructor-led Classroom Learning Duration: 5.00 Day(s)/ 40 hrs Overview: This five-day
More informationSchool capacity (SCAP) COLLECT Guide
School capacity (SCAP) 2014 COLLECT Guide May 2014 Contents COLLECT and secure access 3 Adding a return on screen 7 Updating net capacity and published admission numbers (PANs) 9 Adding a new school 10
More informationIntroduction to Programming Microsoft.NET Framework Applications with Microsoft Visual Studio 2005 (C#)
Introduction to Programming Microsoft.NET Framework Applications with Microsoft Visual Studio 2005 (C#) Course Number: 4994A Length: 3 Day(s) Certification Exam There are no exams associated with this
More informationA Hands-On Approach. IT Systems for the Contractor Foundation for Competitive Advantage
IT Systems for the Contractor Foundation for Competitive Advantage www.dbrownmanagement.com By: David Brown Date: September 2004 E=mcP2P Simply put this means that the faster an object moves the more energy
More informationDistributed CI: Scaling Jenkins on Mesos and Marathon. Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA
Distributed CI: Scaling Jenkins on Mesos and Marathon Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA About Me Roger Ignazio QE Automation Engineer Puppet Labs, Inc. @rogerignazio Mesos In Action
More informationCS 251 Intermediate Programming Inheritance
CS 251 Intermediate Programming Inheritance Brooke Chenoweth University of New Mexico Spring 2018 Inheritance We don t inherit the earth from our parents, We only borrow it from our children. What is inheritance?
More informationMix It Up: Visual Studio 2010 and ASP.NET 4.0. Singapore 25 March 2009
Mix It Up: Visual Studio 2010 and ASP.NET 4.0 Singapore 25 March 2009 Mar Mix-It-Up: Visual Studio 2010 and ASP.NET 4.0 Mix 01: Future of Web Development with Visual Studio 2010 and ASP.NET 4.0 by Maung
More informationUsing Scala for building DSL s
Using Scala for building DSL s Abhijit Sharma Innovation Lab, BMC Software 1 What is a DSL? Domain Specific Language Appropriate abstraction level for domain - uses precise concepts and semantics of domain
More informationCSCD01 Engineering Large Software Systems. Design Patterns. Joe Bettridge. Winter With thanks to Anya Tafliovich
CSCD01 Engineering Large Software Systems Design Patterns Joe Bettridge Winter 2018 With thanks to Anya Tafliovich Design Patterns Design patterns take the problems consistently found in software, and
More informationSuggestions for writing Abstract Test Suites (ATS) for INSPIRE conformance testing for Metadata and Network Services
Suggestions for writing Abstract Test Suites (ATS) for INSPIRE conformance testing for Metadata and Network Services MIWP-5 Workshop 02. December 2014 Sven Böhme, Federal Agency for Cartography and Geodesy
More information--Microsoft-- --Windows Phone--
--Microsoft-- --Windows Phone-- Microsoft Windows Phone Course 10553A: Fundamentals of XAML and Microsoft Expression Blend Course Outline Module 1: Binding in XAML This module familiarizes the students
More informationThe process of interaction design and Prototyping
Chapter 6 edited The process of interaction design and Prototyping 1 Overview What is involved in Interaction Design? Importance of involving users Degrees of user involvement What is a user-centered approach?
More informationWebnodes Developers Quick Guide
Webnodes Webnodes Developers Quick Guide Want to get started right away? Ole Gulbrandsen 1/1/2010 Webnodes Developers Quick Guide Want to get started right away? This guide is for C# developers and will
More informationThe dangerous Beauty of Bookmark Lookups
The dangerous Beauty of Bookmark Lookups Klaus Aschenbrenner Microsoft Certified Master SQL Server 2008 Twitter: @Aschenbrenner About me CEO & Founder SQLpassion International Speaker, Blogger, Author
More informationCreating Web Mapping Applications. Nikki Golding
Creating Web Mapping Applications Nikki Golding Agenda Web Mapping and Map Services Fundamentals ArcGIS Web Mapping Applications - ArcGIS.com Viewer - ArcGIS Explorer Online - ArcGIS Viewer for Flex -
More informationBehavioral patterns. Command Iterator Observer Strategy Template method
Designpatterns Behavioral patterns Command Iterator Observer Strategy Template method Command Invoker: asks the command to carry out the request @CommandPattern.Invoker Command: defines an interface for
More informationTo get started with Visual Basic 2005, I recommend that you jump right in
In This Chapter Chapter 1 Wading into Visual Basic Seeing where VB fits in with.net Writing your first Visual Basic 2005 program Exploiting the newfound power of VB To get started with Visual Basic 2005,
More informationCanvas. Walter Goodwater, Software Development Manager
Canvas Walter Goodwater, Software Development Manager Agenda Studio survey results Canvas design goals Demo Canvas roadmap Beta program 2015 Weatherford. All rights reserved. Studio Survey Results State
More informationEnabling Web 2.0 User Experience for E-Business Suite. Padmaprabodh Ambale, Gustavo Jimenez Development Managers, Applications Technology Group
Enabling Web 2.0 User Experience for E-Business Suite Padmaprabodh Ambale, Gustavo Jimenez Development Managers, Applications Technology Group The following is intended to outline our general product direction.
More informationEBS goes social - The Triumvirate Liferay, Application Express and EBS
EBS goes social - The Triumvirate Liferay, Application Express and EBS Michael Pergande, PROMATIS software GmbH DOAG 2011 Applications, Berlin, May 3rd, 2011 1 Agenda Introduction Motivation, Scenarios
More informationEfficient Test Automation on an Agile Project
Efficient Test Automation on an Agile Project Presentation for UCAAT, October 2013 Lukasz Grabinski & Jackie McDougall T A L E N T E D T O G E T H E R Unissons nos Talents 1 Agenda 3 The Client & the Project
More informationFlexJS. OmPrakash Apache Flex PMC Member Advisory Software Engineer, IBM
FlexJS OmPrakash Muppirala @bigosmallm bigosmallm@apache.org Apache Flex PMC Member Advisory Software Engineer, IBM Who am I? Advisory Software Engineer at IBM Apache Flex Committer and PMC Member UI Architect
More informationEffective Team Collaboration with Simulink
Effective Team Collaboration with Simulink A MathWorks Master Class: 15:45 16:45 Gavin Walker, Development Manager, Simulink Model Management 2012 The MathWorks, Inc. 1 Overview Focus: New features of
More informationIntroduction to Microsoft.NET Framework Programming using VS 2005 (C#)
Introduction to Microsoft.NET Framework Programming using VS 2005 (C#) Course Length: 5 Days Course Overview This instructor-led course teaches introductory-level developers who are not familiar with the
More informationNew Face of z/os Communications Server: V2R1 Configuration Assistant
New Face of z/os Communications Server: V2R1 Configuration Assistant Kim Bailey (ktekavec@us.ibm.com) IBM August 14, 2013 Session # 13630 Agenda What is the Configuration Assistant and how can it help
More informationBasic Principles of OO. Example: Ice/Water Dispenser. Systems Thinking. Interfaces: Describing Behavior. People's Roles wrt Systems
Basics of OO Programming with Java/C# Basic Principles of OO Abstraction Encapsulation Modularity Breaking up something into smaller, more manageable pieces Hierarchy Refining through levels of abstraction
More informationAdvance Dotnet ( 2 Month )
Advance Dotnet ( 2 Month ) Course Content Introduction WCF Using.Net 4.0 Service Oriented Architecture Three Basic Layers First Principle Communication and Integration Integration Styles Legacy Applications
More informationS A M P L E C H A P T E R
SAMPLE CHAPTER Anyone Can Create an App by Wendy L. Wise Chapter 5 Copyright 2017 Manning Publications brief contents PART 1 YOUR VERY FIRST APP...1 1 Getting started 3 2 Building your first app 14 3 Your
More informationIBM Lotus Quickr Customization
IBM Software Group IBM Lotus Quickr Customization Making a place your own An IBM Proof of Technology 2008 IBM Corporation Agenda TechWorks What is Lotus Quickr Customization? Lotus Quickr Architecture
More informationGWT: The Technical Advantage. Presenter: Anirudh Dewani Company Name: Google
GWT: The Technical Advantage Presenter: Anirudh Dewani Company Name: Google What is GWT? 2 How it works Google Web Toolkit Weekly Report 09/01/2008-09/08/200 Code against Java UI libraries 3 How it works
More informationIs SharePoint the. Andrew Chapman
Is SharePoint the Andrew Chapman Records management (RM) professionals have been challenged to manage electronic data for some time. Their efforts have tended to focus on unstructured data, such as documents,
More informationAD105 Introduction to Application Development for the IBM Workplace Managed Client
AD105 Introduction to Application Development for the IBM Workplace Managed Client Rama Annavajhala, IBM Workplace Software, IBM Software Group Sesha Baratham, IBM Workplace Software, IBM Software Group
More information1B1b Inheritance. Inheritance. Agenda. Subclass and Superclass. Superclass. Generalisation & Specialisation. Shapes and Squares. 1B1b Lecture Slides
1B1b Inheritance Agenda Introduction to inheritance. How Java supports inheritance. Inheritance is a key feature of object-oriented oriented programming. 1 2 Inheritance Models the kind-of or specialisation-of
More informationCSC207 Week 4. Larry Zhang
CSC207 Week 4 Larry Zhang 1 Logistics A1 Part 1, read Arnold s emails. Follow the submission schedule. Read the Q&A session in the handout. Ask questions on the discussion board. Submit on time! Don t
More informationCS/ISE 5714 Spring 2013
CS/ISE 5714 Spring 2013 Chapter 11. Prototyping Chapter 10. UX Goals, Metrics, Targets Introduction A way to evaluate design before it s too late and too expensive Copyright MKP. All rights reserved. 2
More information10/9/2012. Sample C# program:
Creating and Running Your First C# Program Text Book : C# Programming From Problem Analysis to Program design, Barbara Doyle Grading : Homeworks 20% Lecture Presentation 20% Final : % 20 Project : 40%
More informationSynthesys.NET Architecture Overview
Architecture Overview Introduction what is? is a complete web based Call Centre solution. It contains CTI (Computer Telephone Integration), CRM and Webflow capabilities, as well as extensive capabilities
More informationAccessible, Usable, Electronic Forms Solutions in 30 Minutes
Introduction Welcome! Agenda: Introduction Defining your forms requirements Platforms overview Platforms in detail (advantages and considerations) Summary, Q&A Introduction Eliquo: Who are we? Training
More informationGit. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015
Git all meaningful operations can be expressed in terms of the rebase command -Linus Torvalds, 2015 a talk by alum Ross Schlaikjer for the GNU/Linux Users Group Sound familiar? add commit diff init clone
More information1B1b Classes in Java Part I
1B1b Classes in Java Part I Agenda Defining simple classes. Instance variables and methods. Objects. Object references. 1 2 Reading You should be reading: Part I chapters 6,9,10 And browsing: Part IV chapter
More informationGetting Started with
Getting Started with Meganadha Reddy K. Technical Trainer NetCom Learning www.netcomlearning.com Agenda How websites work Introduction to JavaScript JavaScript Frameworks Getting Started : Angular JS Q&A
More informationSCAP Security Guide Questions / Answers. Contributor WorkShop Volume #2
SCAP Security Guide Questions / Answers Contributor WorkShop Volume #2 Ján Lieskovský January 2016 Agenda Introductory Notes Source Code / Repository Notes (Moved to Appendix for self-study) SCAP Security
More informationGUI Design Principles
GUI Design Principles User Interfaces Are Hard to Design You are not the user Most software engineering is about communicating with other programmers UI is about communicating with users The user is always
More informationBuild CA Plex Web/Mobile App
Build CA Plex Web/Mobile App Mobile Application Workshop Create two mobile applications Offline with CM WebClient HSync Online with CM WebClient Mobile Workshop files available on USB Flash if not downloaded
More informationSCAP Security Guide Questions / Answers. Ján Lieskovský Contributor WorkShop November 2015
SCAP Security Guide Questions / Answers Ján Lieskovský Contributor WorkShop November 2015 Agenda Introductory Notes SSG Repository Structure Contributing To SSG Developer Workflow Introductory Notes SCAP
More informationSIPROTEC 5 Application Note
www.siemens.com/protection SIPROTEC 5 Application Note SIP5-APN-020: Answers for infrastructure and cities. SIPROTEC 5 - Application: Content 1 Application: 3 1.1 Summary 3 1.2 General 3 1.3 Download PICS
More informationDOWNLOAD OR READ : JQUERY AJAX JQUERY API DOCUMENTATION PDF EBOOK EPUB MOBI
DOWNLOAD OR READ : JQUERY AJAX JQUERY API DOCUMENTATION PDF EBOOK EPUB MOBI Page 1 Page 2 jquery ajax jquery api documentation jquery ajax jquery api pdf jquery ajax jquery api documentation In jquery
More informationObject-Oriented Programming in Objective-C
In order to build the powerful, complex, and attractive apps that people want today, you need more complex tools than a keyboard and an empty file. In this section, you visit some of the concepts behind
More informationListManager. ListManager Basic Training
ListManager ListManager Basic Training Presented by Ana DeLeón Logistics Before We Begin Shared audio State your name when asking questions s Introduction Please share: Your name Your experience with ListManager
More informationAgent Design Example Problems State Spaces. Searching: Intro. CPSC 322 Search 1. Textbook Searching: Intro CPSC 322 Search 1, Slide 1
Searching: Intro CPSC 322 Search 1 Textbook 3.0 3.3 Searching: Intro CPSC 322 Search 1, Slide 1 Lecture Overview 1 Agent Design 2 Example Problems 3 State Spaces Searching: Intro CPSC 322 Search 1, Slide
More information5HSUHVHQWLQJEORFNGLDJUDPVZLWK;PO DQDSSOLFDWLRQIRUSURGXFWLRQIORZVSHFLILFDWLRQLQ:RUNIORZDUHD
5HSUHVHQWLQJEORFNGLDJUDPVZLWK;PO DQDSSOLFDWLRQIRUSURGXFWLRQIORZVSHFLILFDWLRQLQ:RUNIORZDUHD V. CARCHIOLO, A. LONGHEU, M. MALGERI Dipartimento di Ingegneria Informatica e delle Telecomunicazioni - Università
More informationAuthoring Tool of Sharable Question Items Based on QTI Specification for E-learning Assessment
2017 Asia-Pacific Engineering and Technology Conference (APETC 2017) ISBN: 978-1-60595-443-1 Authoring Tool of Sharable Question Items Based on QTI Specification for E-learning Assessment Tien-Wen Sung,
More informationUser Centered Design Process. Prototyping II. What is a prototype? Prototyping phases Oct 11, 2017
User Centered Design Process Prototyping II Oct 11, 2017 Produce something tangible Identify challenges Uncover subtleties 2 What is a prototype? A prototype is defined less by form, and more by its function:
More informationOracle Developer Day
Oracle Developer Day Sponsored by: Session5 Focusing on the UI Speaker Speaker Title Page 1 1 Agenda Building the User Interface UI Development Page Flow A Focus on Faces Introducing Java Server Faces
More informationITP 342 Mobile App Dev. Interface Builder in Xcode
ITP 342 Mobile App Dev Interface Builder in Xcode New Project From the Main Menu, select the File à New à Project option For the template, make sure Application is selected under ios on the left-hand side
More informationUsing Code Templates in DDE by Julian Robichaux, panagenda originally published on socialbizug.org, July 2013
Using Code Templates in DDE by Julian Robichaux, panagenda originally published on socialbizug.org, July 2013 One of the freebies that came with integrating Domino Designer with the Eclipse platform (DDE)
More informationBEHAVIOR DRIVEN DEVELOPMENT BDD GUIDE TO AGILE PRACTICES. Director, Strategic Solutions
BEHAVIOR DRIVEN DEVELOPMENT BDD GUIDE TO AGILE PRACTICES Presenter: Joshua Eastman Director, Strategic Solutions ABOUT THE SPEAKER Josh has over seven years of experience as an accomplished software testing
More informationSHAREPOINT 2013 DEVELOPMENT
SHAREPOINT 2013 DEVELOPMENT Audience Profile: This course is for those people who have couple of years of development experience on ASP.NET with C#. Career Path: After completing this course you will be
More informationIntroduction to Mobile Development
Introduction to Mobile Development Building mobile applications can be as easy as opening up the IDE, throwing something together, doing a quick bit of testing, and submitting to an App Store all done
More informationAgenda: Discussion Week 7. May 11, 2009
Agenda: Discussion Week 7 Method signatures Static vs. instance compareto Exceptions Interfaces 2 D arrays Recursion varargs enum Suggestions? May 11, 2009 Method signatures [protection] [static] [return
More informationJquery Documentation Autocomplete
Jquery Documentation Autocomplete 1 / 6 2 / 6 3 / 6 Jquery Documentation Autocomplete Theming. The autocomplete widget uses the jquery UI CSS framework to style its look and feel. If autocomplete specific
More informationCreating Templates For Letterheads, Fax Cover Sheets, and More
Creating Templates For Letterheads, Fax Cover Sheets, and More This document provides instructions for creating and using templates in Microsoft Word. Opening Comments A template is a type of document
More informationWHITE PAPER. Comparison Guide: Choosing Between Help Authoring Tools and CCMSs
WHITE PAPER Comparison Guide: Choosing Between Help Authoring Tools and CCMSs Introduction Introduction Every few years, the debate flares up over whether to use a HAT (help authoring tool) or a CMS (content
More informationTopics in Object-Oriented Design Patterns
Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;
More informationOverview of Web Application Development
Overview of Web Application Development Web Technologies I. Zsolt Tóth University of Miskolc 2018 Zsolt Tóth (University of Miskolc) Web Apps 2018 1 / 34 Table of Contents Overview Architecture 1 Overview
More informationEtanova Enterprise Solutions
Etanova Enterprise Solutions Server Side Development» 2018-06-28 http://www.etanova.com/technologies/server-side-development Contents.NET Framework... 6 C# and Visual Basic Programming... 6 ASP.NET 5.0...
More informationto the Enterprise Brussels - Tuesday 20th April 2004 Chris Greenslade Introducing Enterprise Architecture Introducing Enterprise Architecture
Introducing Enterprise Architecture to the Enterprise Brussels - Tuesday 20th April 2004 Chris Greenslade Chris@.com 1 of 28 Approach Every situation is different The organization Its history and its current
More informationStreams in Java 8. Start programming in a more functional style
Streams in Java 8 Start programming in a more functional style Background Who am I? Tobias Coetzee I m a Technical Lead at BBD I present the Java Expert Level Certifications at BBD (EJB, JPA, etc.) I m
More informationAlbatross: Seaside Web Applications Scenario Testing Framework
Albatross: Seaside Web Applications Scenario Testing Framework Andrea Brühlmann, abrue@students.unibe.ch Supervised by: Adrian Lienhard Software Composition Group University of Bern, Switzerland September
More informationFolderView DMXzone.com Folder View 2 Manual
Folder View 2 Manual Copyright 2009 All Rights Reserved To get more go to Page 1 of 39 Index Folder View 2 Manual... 1 Index... 2 About FolderView... 3 Features in Detail... 4 Before you begin... 10 Installing
More informationUnderstanding Oracle ADF and its role in the Oracle Fusion Platform
ORACLE PRODUCT LOGO Understanding Oracle ADF and its role in the Oracle Fusion Platform Dana Singleterry blogs.oracle.com/dana 2 Copyright Principal 2011, Oracle and/or its Product affiliates. All rights
More informationIntroduction to Web Development with Microsoft Visual Studio 2010 (10267A)
Introduction to Web Development with Microsoft Visual Studio 2010 (10267A) Overview This five-day instructor-led course provides knowledge and skills on developing Web applications by using Microsoft Visual
More information