How To Understand The Dependency Inversion Principle (Dip)
|
|
|
- Jacob Holt
- 5 years ago
- Views:
Transcription
1 Embedded Real-Time Systems (TI-IRTS) General Design Principles 1 DIP The Dependency Inversion Principle Version:
2 Dependency Inversion principle (DIP) DIP: A. High level modules should not depend upon low level modules. Both should depend upon abstractions. B. Abstractions should not depend upon details. Details should depend upon abstractions. Ref. The Dependency Inversion Principle, article by Robert C. Martin Slide 2
3 The Copy program (1) copy read Keyboard Structure chart write Printer void copy() // a C function { int c; while ( (c=readkeyboard())!= EOF) writeprinter(c); } Slide 3
4 The Enhanced Copy program (2) Changed requirement: The output should be either to a printer or to a disk enum OutputDevice {printer, disk}; void copy(outputdevice dev) { int c; while ( (c=readkeyboard())!= EOF) if (dev== printer) writeprinter(c); else writedisk(c); } The problem is that the high level policy i.e. the Copy module is dependent upon the low level detailed modules it controls. Slide 4
5 The OO Copy program (3) Copy Reader Notice: abstract classes Writer Keyboard Reader Printer Writer The dependency has been inverted! The copy class depends upon abstractions, and the detailed reader and writer depends upon the same abstractions Slide 5
6 The OO Copy program (4) class Reader { public: virtual int read() = 0; // pure virtual operation }; class Writer { public: virtual void write(char ch) = 0; // pure virtual operation }; void Copy(Reader& r, Writer& w) { int c; while ( (c=r.read())!= EOF) w.write(c); } Slide 6
7 Layering Simple Layers Policy Layer Mechanism Layer Utility Layer NB! The dependency is transitive Slide 7
8 Layering Abstract Layers Policy Layer Mechanism Interface Mechanism Layer Utility Interface NB! no transitive or direct dependency between layers Utility Layer Slide 8
9 An Inversion of Ownership Notice: inversion is also an inversion of ownership We often think of utility libraries as owning their own interfaces With DIP: The clients own the abstract interfaces The servers derives from them Known as the Hollywood principle: Don t call us, we ll call you Slide 9
10 Inverted Layers Policy Policy Layer «interface» Mechanism Interface Mechanism Mechanism Layer «interface» Utility Interface Utility Utility Layer Slide 10
11 A Simple Example (DIP) Dependency inversion can be applied where ever one object sends a message to another Button +Button(Lamp& l) +Detect() itslamp Lamp +TurnOn() +TurnOff() void Button::Detect() { bool buttonon= GetPhysicalState(); if (buttonon) itslamp->turnon(); else itslamp->turnoff(); } Slide 11
12 Example: Inverted Button Model Button +Detect(): void +GetState(): bool ButtonClient +TurnOn(): void +TurnOff(): void Reusable Button Implementation Button Imp.2 Lamp Motor +Detect(): void +GetState(): bool +TurnOn(): void +TurnOff(): void +TurnOn(): void +TurnOff(): void Slide 12
13 Template Method (GoF Pattern) The GoF Template method is a good example of DIP In this pattern a high level algorithm is encoded in an abstract base class and makes use of pure virtual functions to implements its details Derived classes implements those detailed virtual functions Thus, the class containing the details depends upon the class containing the abstraction Slide 13
14 Template Method - GoF Structure AbstractClass TemplateMethod() PrimitiveOperation1() PrimitiveOperation(2) // Common code PrimitiveOperation1() // more common code // PrimitiveOperation2() // ConcreteClass PrimitiveOperation1() PrimitiveOperation2() Notice: The Template Method is concrete Ref. GoF Design Patterns, Gamma et. al Slide 14
15 DIP - conclusion The principle of dependency inversion is at the root of many of the benefits claimed for object-oriented technology. Its proper application is necessary for the creation of reusable frameworks It is also critically important for the construction of code that is resilient to change Slide 15
The Dependency Inversion Principle
The Dependency Inversion Principle This is the third of my Engineering Notebook columns for The C++ Report. The articles that will appear in this column will focus on the use of C++ and OOD, and will address
OO Design Quality Metrics
OO Design Quality Metrics An Analysis of Dependencies By Robert Martin October 28,1994 2080 Cranbrook Road Green Oaks, IL 60048 Phone: 708.918.1004 Fax: 708.918.1023 Email: [email protected] Abstract This
Button, Button, Whose got the Button?
,, Whose got the?,, Whose got the? (Patterns for breaking client/server relationships) By Robert C. Martin Introduction How many design patterns does it take to turn on a table lamp? This question was
How To Use The Command Pattern In Java.Com (Programming) To Create A Program That Is Atomic And Is Not A Command Pattern (Programmer)
CS 342: Object-Oriented Software Development Lab Command Pattern and Combinations David L. Levine Christopher D. Gill Department of Computer Science Washington University, St. Louis levine,[email protected]
Embedded Real-Time Systems (TI-IRTS) State Machine Implementation
Embedded Real-Time Systems (TI-IRTS) State Machine Implementation Version: 5-2-2010 Agenda STM notation and example Five state machine implementation techniques: 1. Switch based 2. Table driven implementation
Project Development & Software Design
Project Development & Software Design Lecturer: Sri Parameswaran Notes by Annie Guo. S1, 2006 COMP9032 Week12 1 Lecture Overview Basic project development steps Some software design techniques S1, 2006
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
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
Report on the Train Ticketing System
Report on the Train Ticketing System Author: Zaobo He, Bing Jiang, Zhuojun Duan 1.Introduction... 2 1.1 Intentions... 2 1.2 Background... 2 2. Overview of the Tasks... 3 2.1 Modules of the system... 3
1992-2010 by Pearson Education, Inc. All Rights Reserved.
Key benefit of object-oriented programming is that the software is more understandable better organized and easier to maintain, modify and debug Significant because perhaps as much as 80 percent of software
2. Advance Certificate Course in Information Technology
Introduction: 2. Advance Certificate Course in Information Technology In the modern world, information is power. Acquiring information, storing, updating, processing, sharing, distributing etc. are essentials
Tutorial on Writing Modular Programs in Scala
Tutorial on Writing Modular Programs in Scala Martin Odersky and Gilles Dubochet 13 September 2006 Tutorial on Writing Modular Programs in Scala Martin Odersky and Gilles Dubochet 1 of 45 Welcome to the
Server Virtualization with Windows Server Hyper-V and System Center
Course 20409B: Server Virtualization with Windows Server Hyper-V and System Center Course Details Course Outline Module 1: Evaluating the Environment for Virtualization This module provides an overview
Short Introduction to Design Patterns
Short Introduction to Design Patterns Lecture 7 Software Engineering CUGS Slides by David Broman and Kristian Sandahl Department of Computer and Information Science Linköping University, Sweden [email protected]
1. What are Data Structures? Introduction to Data Structures. 2. What will we Study? CITS2200 Data Structures and Algorithms
1 What are ata Structures? ata Structures and lgorithms ata structures are software artifacts that allow data to be stored, organized and accessed Topic 1 They are more high-level than computer memory
Konzepte objektorientierter Programmierung
Konzepte objektorientierter Programmierung Prof. Dr. Peter Müller Werner Dietl Software Component Technology Exercises 3: Some More OO Languages Wintersemester 04/05 Agenda for Today 2 Homework Finish
Embedded Component Based Programming with DAVE 3
Embedded Component Based Programming with DAVE 3 By Mike Copeland, Infineon Technologies Introduction Infineon recently introduced the XMC4000 family of ARM Cortex -M4F processor-based MCUs for industrial
Introduction. General Course Information. Perspectives of the Computer. General Course Information (cont.) Operating Systems 1/12/2005
Introduction CS 256/456 Dept. of Computer Science, University of Rochester General Course Information Instructor: Kai Shen ([email protected]) TA: Kirk Kelsey ([email protected]) TA: Christopher
How to Write a Checker in 24 Hours
How to Write a Checker in 24 Hours Clang Static Analyzer Anna Zaks and Jordan Rose Apple Inc. What is this talk about? The Clang Static Analyzer is a bug finding tool It can be extended with custom checkers
CS 101 Computer Programming and Utilization
CS 101 Computer Programming and Utilization Lecture 14 Functions, Procedures and Classes. primitive and objects. Files. Mar 4, 2011 Prof. R K Joshi Computer Science and Engineering IIT Bombay Email: [email protected]
Architecture & Design of Embedded Real-Time Systems (TI-AREM)
Architecture & Design of Embedded Real-Time Systems (TI-AREM) Architectural Design Patterns 2. Components & Connectors and Component Architecture Patterns and UML 2.0 Ports (BPD. Chapter 4. p. 184-201)
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
Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
Encapsulating Crosscutting Concerns in System Software
Encapsulating Crosscutting Concerns in System Software Christa Schwanninger, Egon Wuchner, Michael Kircher Siemens AG Otto-Hahn-Ring 6 81739 Munich Germany {christa.schwanninger,egon.wuchner,michael.kircher}@siemens.com
Software Life Cycle. Management of what to do in what order
Software Life Cycle Management of what to do in what order Software Life Cycle (Definition) The sequence of activities that take place during software development. Examples: code development quality assurance
Metastorm BPM Interwoven Integration. Process Mapping solutions. Metastorm BPM Interwoven Integration. Introduction. The solution
Metastorm BPM Interwoven Integration Introduction A proven and cost effective solution for companies that need to create and maintain high volumes of Interwoven WorkSpaces and their associated documents
Lesson 06: Basics of Software Development (W02D2
Lesson 06: Basics of Software Development (W02D2) Balboa High School Michael Ferraro Lesson 06: Basics of Software Development (W02D2 Do Now 1. What is the main reason why flash
Basics Series-4006 Email Basics Version 9.0
Basics Series-4006 Email Basics Version 9.0 Information in this document is subject to change without notice and does not represent a commitment on the part of Technical Difference, Inc. The software product
Application of UML in Real-Time Embedded Systems
Application of UML in Real-Time Embedded Systems Aman Kaur King s College London, London, UK Email: [email protected] Rajeev Arora Mechanical Engineering Department, Invertis University, Invertis Village,
Principles of Software Construction: Objects, Design, and Concurrency. Course Introduction. toad. toad 15-214. Fall 2012. School of Computer Science
Principles of Software Construction: Objects, Design, and Concurrency Course Introduction Fall 2012 Charlie Garrod Christian Kästner School of Computer Science and J Aldrich 2012 W Scherlis 1 Construction
Brown County Information Technology Aberdeen, SD. Request for Proposals For Document Management Solution. Proposals Deadline: Submit proposals to:
Brown County Information Technology Aberdeen, SD Request for Proposals For Document Management Solution Proposals Deadline: 9:10am, January 12, 2016 Submit proposals to: Brown County Auditor 25 Market
Programming a Robot Using C++ Philipp Schrader & Tom Brown October 27, 2012
Programming a Robot Using C++ Philipp Schrader & Tom Brown October 27, 2012 The robot has mechanical systems and electrical hardware, but needs a program to tell it what to do The program collects inputs
Merchant Warehouse Credit Card Integration Gym Assistant 2.0 www.gymassistant.com August 2009
Merchant Warehouse Credit Card Integration Gym Assistant 2.0 www.gymassistant.com August 2009 System Requirements This implementation requires Gym Assistant v2.0.1 build 230 or higher. To download the
CS104: Data Structures and Object-Oriented Design (Fall 2013) October 24, 2013: Priority Queues Scribes: CS 104 Teaching Team
CS104: Data Structures and Object-Oriented Design (Fall 2013) October 24, 2013: Priority Queues Scribes: CS 104 Teaching Team Lecture Summary In this lecture, we learned about the ADT Priority Queue. A
Chapter 1 - Forzip at a Glance
Chapter 1 - Forzip at a Glance Forzip is the software designed to enhance card production quality and volumes, adding constantly evolving technologies demanded by production bureaus and providing management
Galaxy Software Addendum
Galaxy Software Addendum for Importing Users from Active Directory Includes Encryption of Connection Strings Page 1 of 9 System Galaxy Version 10.3 How to Guide For Importing users from Active Directory
NOVA COLLEGE-WIDE COURSE CONTENT SUMMARY ITE 115 - INTRODUCTION TO COMPUTER APPLICATIONS & CONCEPTS (3 CR.)
Revised 5/2010 NOVA COLLEGE-WIDE COURSE CONTENT SUMMARY ITE 115 - INTRODUCTION TO COMPUTER APPLICATIONS & CONCEPTS (3 CR.) Course Description Covers computer concepts and Internet skills and uses a software
Combining Mifare Card and agsxmpp to Construct a Secure Instant Messaging Software
Combining Mifare Card and agsxmpp to Construct a Secure Instant Messaging Software Ya Ling Huang, Chung Huang Yang Graduate Institute of Information & Computer Education, National Kaohsiung Normal University
Designing Event-Controlled Continuous Processing Systems Class 325
Designing Event-Controlled Continuous Processing Systems Class 325 by Hans Peter Jepsen, Danfoss Drives and Finn Overgaard Hansen, Engineering College of Aarhus [email protected] [email protected]
Ingegneria del Software Corso di Laurea in Informatica per il Management. Object Oriented Principles
Ingegneria del Software Corso di Laurea in Informatica per il Management Object Oriented Principles Davide Rossi Dipartimento di Informatica Università di Bologna Design goal The goal of design-related
Chain of Responsibility
Chain of Responsibility Comp-303 : Programming Techniques Lecture 21 Alexandre Denault Computer Science McGill University Winter 2004 April 1, 2004 Lecture 21 Comp 303 : Chain of Responsibility Page 1
COSC 111: Computer Programming I. Dr. Bowen Hui University of Bri>sh Columbia Okanagan
COSC 111: Computer Programming I Dr. Bowen Hui University of Bri>sh Columbia Okanagan 1 Today Review slides from week 2 Review another example with classes and objects Review classes in A1 2 Discussion
QUICK START GUIDE. Draft twice the documents in half the time starting now.
QUICK START GUIDE Draft twice the documents in half the time starting now. WELCOME TO PRODOC Thank you for choosing ProDoc, your forms solution to save time and money, reduce errors, and better serve your
How To Draw A Cell Phone Into A Cellphone In Unminimal Diagram (Uml)
UML Tutorial: Collaboration Diagrams Robert C. Martin Engineering Notebook Column Nov/Dec, 97 In this column we will explore UML collaboration diagrams. We will investigate how they are drawn, how they
SysAidTM Freeware Installation Guide
SysAidTM Freeware Installation Guide Document Updated: 10 November 2009 Introduction SysAid free edition is built for organizations with fewer than 100 computers and users. This document will help you
BTEC First Diploma for IT. Scheme of Work for Computer Systems unit 3 (10 credit unit)
BTEC First Diploma for IT Scheme of Work for Computer Systems unit 3 (10 credit unit) Overview On completion of this unit a learner should: 1 Know the of 4 Be able to. Num of hours Teaching topic Delivery
Procedure to Install Printer to the LifeWindow 6000 Rev 3.
Procedure to Install Printer to the LifeWindow 6000 Rev 3. The LifeWindow OS is Windows XP embedded. Printers with driver to XPe are supported. Some printers with driver to XP can also be installed. Please
Freescale Semiconductor, I
nc. Application Note 6/2002 8-Bit Software Development Kit By Jiri Ryba Introduction 8-Bit SDK Overview This application note describes the features and advantages of the 8-bit SDK (software development
Binary storage of graphs and related data
EÖTVÖS LORÁND UNIVERSITY Faculty of Informatics Department of Algorithms and their Applications Binary storage of graphs and related data BSc thesis Author: Frantisek Csajka full-time student Informatics
COURSE OUTLINE COMPUTER INFORMATION SYSTEMS 1A. PREREQUISITE: None. Concurrent enrollment in CIS-96 or CIS-97 is recommended.
Degree Credit _X Non Credit Nondegree Credit Comm Service COURSE OUTLINE COMPUTER INFORMATION SYSTEMS 1A COURSE DESCRIPTION 3 Units 1A Introduction to Computer Information Systems PREREQUISITE: None. Concurrent
Introduction Object-Oriented Network Programming CORBA addresses two challenges of developing distributed systems: 1. Making distributed application development no more dicult than developing centralized
How to Create a Resume Using Microsoft Word
Microsoft Word Welcome to the resume-building process! A lot of job postings that you find online today are asking for an electronic resume. There are lots of different ways that you can go about creating
Discover Live Network
Discover Live Network NetBrain s discovery engine uses a complex algorithm to walk through the network hop-by-hop, starting from the seed router. To achieve the best accuracy and speed, make sure: All
PROXIMITY CARD READERS C-10, C-20, C60, C70
Installation Manual PROXIMITY CARD READERS C-10, C-20, C60, C70 VERSION 1.0 CONTENTS 1. General information................................. 3 2. Technical data......................... 4 3. Connection
Singletons. The Singleton Design Pattern using Rhapsody in,c
Singletons Techletter Nr 3 Content What are Design Patterns? What is a Singleton? Singletons in Rhapsody in,c Singleton Classes Singleton Objects Class Functions Class Variables Extra Functions More Information
Building native mobile apps for Digital Factory
DIGITAL FACTORY 7.0 Building native mobile apps for Digital Factory Rooted in Open Source CMS, Jahia s Digital Industrialization paradigm is about streamlining Enterprise digital projects across channels
Linux Driver Devices. Why, When, Which, How?
Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may
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
Tutorial: Building a Dojo Application using IBM Rational Application Developer Loan Payment Calculator
Tutorial: Building a Dojo Application using IBM Rational Application Developer Loan Payment Calculator Written by: Chris Jaun ([email protected]) Sudha Piddaparti ([email protected]) Objective In this
Service Oriented Architecture for Agricultural Vehicles
Service Oriented Architecture for Agricultural Vehicles Leipzig, 30.9.2010 8. Workshop Automotive Software Engineering Dr. G. Kormann, M. Hoeh, H.J. Nissen THE END of Embedded Software? www.electronics-ktn.com/
User Manual Network connection and Mobics Dashboard (MIS) software for Dryer Controller M720
User Manual Network connection and Mobics Dashboard (MIS) software for Dryer Controller Manual version : v1.00 Networking and MIS Manual Dryer controller Page 1 of 16 Document history Preliminary version
Document Management Solutions
Document Management Solutions Label Printing Software LabelsAnywhere.com is Colorflex s cost-effective, web based, demand print solution. Print high quality labels from anywhere and at anytime with a simple
ASCII Encoding. The char Type. Manipulating Characters. Manipulating Characters
The char Type ASCII Encoding The C char type stores small integers. It is usually 8 bits. char variables guaranteed to be able to hold integers 0.. +127. char variables mostly used to store characters
Compact Contact Center (CCC)
Compact Contact Center (CCC) IP Office Call Center View Real Time Screens General Screens Alarm Handling BLF (Busy Lamp Field) Details Extension Activity Callback Request Agent Based Screens Group Monitor
Nintex Workflow 2013 & InfoPath Form Design workshop
Nintex Workflow 2013 & InfoPath Form Design workshop Duration: 30 Hrs. Course Outline: Module 1: Creating a SharePoint Form with InfoPath Designer Design a SharePoint Form Using the Blank Form Template
PHP Code Design. The data structure of a relational database can be represented with a Data Model diagram, also called an Entity-Relation diagram.
PHP Code Design PHP is a server-side, open-source, HTML-embedded scripting language used to drive many of the world s most popular web sites. All major web servers support PHP enabling normal HMTL pages
EcgSoft. Software Developer s Guide to RestEcg. Innovative ECG Software. www.ecg-soft.com - e-mail: [email protected]
EcgSoft Software Developer s Guide to RestEcg Innovative ECG Software www.ecg-soft.com - e-mail: [email protected] Open Interface This page is intentionally left blank Copyright EcgSoft, October 2012 Page
Construction Principles and Design Patterns. Flyweight, Bridge, Builder
Construction Principles and Design Patterns Flyweight, Bridge, Builder 1 The Flyweight Design Pattern: Structure Use: To avoid employing a large number of objects with similar state When objects with intrinsic
What do you think? Definitions of Quality
What do you think? What is your definition of Quality? Would you recognise good quality bad quality Does quality simple apply to a products or does it apply to services as well? Does any company epitomise
Tutorial: Getting Started
9 Tutorial: Getting Started INFRASTRUCTURE A MAKEFILE PLAIN HELLO WORLD APERIODIC HELLO WORLD PERIODIC HELLO WORLD WATCH THOSE REAL-TIME PRIORITIES THEY ARE SERIOUS SUMMARY Getting started with a new platform
Client Overview. Engagement Situation. Key Requirements
Client Overview Our client is one of the leading providers of business intelligence systems for customers especially in BFSI space that needs intensive data analysis of huge amounts of data for their decision
Application Architectures
Software Engineering Application Architectures Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain the organization of two fundamental models of business systems - batch
Management Information Systems 260 Web Programming Fall 2006 (CRN: 42459)
Management Information Systems 260 Web Programming Fall 2006 (CRN: 42459) Class Time: 6:00 8:05 p.m. (T,Th) Venue: WSL 5 Web Site: www.pbvusd.net/mis260 Instructor Name: Terrell Tucker Office: BDC 127
SysAid Freeware Installation Guide
SysAidTM Freeware Installation Guide August 2006 Page 1 Introduction SysAid s free version is built for organizations with fewer than 100 computers and users. This document will help you install the software.
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
ELFRING FONTS INC. MICR FONTS FOR WINDOWS
ELFRING FONTS INC. MICR FONTS FOR WINDOWS This package contains ten MICR fonts (also known as E-13B) used to print the magnetic encoding lines on checks, and eight Secure Fonts for use in printing check
Point-of-Sale Updates Training Guide. Product Name: Point-of-Sale Release Version: 6.0
Guide Product Name: Point-of-Sale Release Version: 6.0 Copyright 2005 2006. All rights reserved. This documentation is an unpublished work of, which may be used only in accordance with a license agreement
CLAS12 Offline Software Tools. G.Gavalian (Jlab)
CLAS12 Offline Software Tools G.Gavalian (Jlab) Overview Data formats I/O gemc data reader raw data reader detector hit decoder ET ring data reader Geometry Package implementation of all baseline detectors
6.088 Intro to C/C++ Day 4: Object-oriented programming in C++ Eunsuk Kang and Jean Yang
6.088 Intro to C/C++ Day 4: Object-oriented programming in C++ Eunsuk Kang and Jean Yang Today s topics Why objects? Object-oriented programming (OOP) in C++ classes fields & methods objects representation
Linux Kernel Architecture
Linux Kernel Architecture Amir Hossein Payberah [email protected] Contents What is Kernel? Kernel Architecture Overview User Space Kernel Space Kernel Functional Overview File System Process Management
Using the CoreSight ITM for debug and testing in RTX applications
Using the CoreSight ITM for debug and testing in RTX applications Outline This document outlines a basic scheme for detecting runtime errors during development of an RTX application and an approach to
AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev
International Journal "Information Technologies & Knowledge" Vol.5 / 2011 319 AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev Abstract: This paper presents a new approach
Installing, Configuring and Administering Microsoft Windows
Unit 21: Installing, Configuring and Administering Microsoft Windows Learning Outcomes A candidate following a programme of learning leading to this unit will be able to: Perform and troubleshoot an attended
AN INTELLIGENT TUTORING SYSTEM FOR LEARNING DESIGN PATTERNS
AN INTELLIGENT TUTORING SYSTEM FOR LEARNING DESIGN PATTERNS ZORAN JEREMIĆ, VLADAN DEVEDŽIĆ, DRAGAN GAŠEVIĆ FON School of Business Administration, University of Belgrade Jove Ilića 154, POB 52, 11000 Belgrade,
Syllabus for CS 134 Java Programming
- Java Programming Syllabus Page 1 Syllabus for CS 134 Java Programming Computer Science Course Catalog 2000-2001: This course is an introduction to objectoriented programming using the Java language.
Software Engineering: Analysis and Design - CSE3308
CSE3308/DMS/2004/25 Monash University - School of Computer Science and Software Engineering Software Engineering: Analysis and Design - CSE3308 Software Quality CSE3308 - Software Engineering: Analysis
Chapter 6: Project Planning & Production
AIM Your Project with Flash: Chapter 6 - Project Planning and Production 105 Chapter 6: Project Planning & Production After completing this module, you ll be able to: plan a Flash project. consider design
The How Do Guide to AxioVision. Author: Brian Svedberg Image Analysis Specialist Carl Zeiss MicroImaging, Inc.
The How Do Guide to AxioVision Author: Brian Svedberg Image Analysis Specialist Carl Zeiss MicroImaging, Inc. How do I grab a single image? How do I grab a single image? Click on the Camera icon to switch
