Reuse in Object Oriented Programming
|
|
- Tracy Mosley
- 5 years ago
- Views:
Transcription
1 DCC / ICEx / UFMG Reuse in Object Oriented Programming Eduardo Figueiredo
2 Overview of Reuse Techniques Frameworks Design Patterns Configurable Applications Architecture Patterns Software Product Lines API and Libraries Encapsulation of Legacy Systems Component-based Development COTS Generative Programming Feature-Oriented Programming Aspect-Oriented Software Development Model-driven Development Service-Oriented Architecture
3 Reuse of Classes
4 Let s Consider 3 Classes... Person name Teacher Student regnumber
5 in a Academic System SistemaAcademico Person name Teacher Student regnumber
6 ... or in a DVD Rental System MyDVDStore Person name title DVD Employee Costumer regnumber
7 ... or in a Football Game Brazilian Championship Person name Team name Head Coach Player position...
8 Library
9 Library (API) Application Programming Interface (API) Libraries (or API) implement services used by several kinds of programs It is a common way of software reuse API makes available common functions To convert data from common formats (e.g., string to integer) To access resources, files, DB, etc. Abstract data types, such as queue, stack
10 Example of Java API Use import java.util.vector; public class Customer { String name; Vector phonenumbers = new Vector(); void removephonenumber(string c){ phonenumbers.removeelement(c); } void addphonenumber(string c){ phonenumbers.addelement(c); } }...
11 Import a Library Class import java.util.vector; public class Customer { String name; Vector phonenumbers = new Vector(); The Vector class is now part of the system. void removephonenumber(string c){ phonenumbers.removeelement(c); } void addphonenumber(string c){ phonenumbers.addelement(c); } }...
12 Instantiate a Library Object import java.util.vector; public class Customer { String name; Vector phonenumbers = new Vector(); void removephonenumber(string c){ phonenumbers.removeelement(c); } void addphonenumber(string c){ phonenumbers.addelement(c); } A Vector instance can be crated in the same way as other objects in the system. }...
13 Access to Library Funcions import java.util.vector; public class Customer { } String name; Vector phonenumbers = new Vector(); void removephonenumber(string c){ phonenumbers.removeelement(c); } void addphonenumber(string c){ phonenumbers.addelement(c); }... Methods like removeelement and addelement can be called, although they are implemented in the API.
14 Productiveness and Reliability Developers do not need to implement everything Many functionalities are already available in the library Libraries are extensively tested by several users Even in extreme and unusual situations
15 Main Drawbacks It is hard to change a library if we need specific behavior Best performance More robustness It takes time to learn and to find what we need in the library
16 Frameworks
17 Motivation Objects and functions (in libraries) are often too fine grained and specifics It may be useful to reuse larger entities Framework is a set of classes and interfaces to form the general structure of an application
18 Classification of Frameworks Infrastructure Frameworks Support the creation of infrastructure for systems, such as compiling environment Integration Frameworks Support exchanges of messages among components (communication) Application Frameworks Support development of new applications with common characteristics, such as Web applications
19 Main Properties of Framework Inversion of control Unlike in libraries or applications, the program flow of control is dictated by the framework Extensibility A framework can be extended by the user Non-modifiable framework code The framework code should not be modified A framework has a default behavior
20 Framework Framework is an incomplete system It is composed of classes and interfaces Several applications can be instantiated A system is implemented by adding classes to fill in the gaps Include new concrete classes Override methods Include configuration files, such as XML
21 Frozen Spots and Hot Spots Frameworks have two main parts, called frozen spots and hot spots Frozen spots define the general structure of a framework They cannot be changed in applications (they are frozen) Hot spots define places which can be extended by programmers in applications
22 Representation of Hot Spots Framework Extension Point Application Extension
23 Example: Eclipse
24 Main Drawback Framework is usually large and complex It is hard to understand It may take long time to be effectively used Developers may need only a simple functionality
25 Bibliography Ian Sommerville. Software Engineering, 9th Edition. Pearson Education, Chap. 16 Software Reuse
Software Reuse Techniques
DCC / ICEx / UFMG Software Reuse Techniques Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Overview of Reuse Techniques Frameworks Design Patterns Configurable Applications Architecture Patterns
More informationIntroduction to Software Reuse
DCC / ICEx / UFMG Introduction to Software Reuse Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Software Reuse The use of existing software or software knowledge to build new software In the last
More informationArchitectural Patterns: From Mud to Structure
DCC / ICEx / UFMG Architectural Patterns: From Mud to Structure Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo From Mud to Structure Layered Architecture It helps to structure applications that
More informationS.O.L.I.D: Software Engineering Principles
DCC / ICEx / UFMG S.O.L.I.D: Software Engineering Principles Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo S.O.L.I.D Principles These principles intend to create systems that are easier to maintain
More informationCMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Object-Oriented Programming Intro Department of Computer Science University of Maryland, College Park Object-Oriented Programming (OOP) Approach to improving software
More informationDelta Oriented Programming
DCC / ICEx / UFMG Delta Oriented Programming Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Feature Oriented Programming Feature Oriented Programming (FOP) relies on stepwise refinements In FOP,
More informationDr. Tom Hicks. Computer Science Department Trinity University
Dr. Tom Hicks Computer Science Department Trinity University 1 1 About Design With Reuse 2 Software Reuse Why Do We Care About Reuse? Historically: In Most Engineering Disciplines, Systems are Designed
More informationDCC / ICEx / UFMG. Software Code Clone. Eduardo Figueiredo.
DCC / ICEx / UFMG Software Code Clone Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Code Clone Code Clone, also called Duplicated Code, is a well known code smell in software systems Code clones
More informationChapter 18. Software Reuse
Chapter 18 Software Reuse Ian Sommerville Lutz Prechelt Ian Sommerville 2004, Software Engineering, 7th edition, prechelt@inf.fu-berlin.de 1 Objectives To explain the benefits of software reuse and some
More informationSoftware Engineering Chap.7 - Design and Implementation
Software Engineering Chap.7 - Design and Implementation Simão Melo de Sousa RELEASE (UBI), LIACC (Porto), CCTC (Minho) Computer Science Department University of Beira Interior, Portugal Eng.Info./TSI,
More informationObject Oriented Design: Identifying Objects
Object Oriented Design: Identifying Objects Review What did we do in the last lab? What did you learn? What classes did we use? What objects did we use? What is the difference between a class and an object?
More informationWork groups meeting 3
Work groups meeting 3 INF5040 (Open Distributed Systems) Sabita Maharjan sabita@simula.no Department of Informatics University of Oslo September 07, 2009 Design Patterns J2EE Design Patterns Outline EIS
More informationStudy of Component Based Software Engineering
Study of Based Software Ishita Verma House No.4, Village Dayalpur Karawal Nagar Road Delhi-110094, India ish.v.16@gmail.com Abstract based engineering is an approach of development that emphasizes the
More informationSuggested answers are provided below. These answers are presented top-down, left to right.
Answers to Key Terms Suggested answers are provided below. These answers are presented top-down, left to right. 5. Actor 16. Concrete class 39. Use case 13. Class-scope attribute 40. Use-case diagram 2.
More informationSoftware Engineering
Software Engineering chap 4. Software Reuse 1 SuJin Choi, PhD. Sogang University Email: sujinchoi@sogang.ac.kr Slides modified, based on original slides by Ian Sommerville (Software Engineering 10 th Edition)
More informationIntroduction to Web Services & SOA
References: Web Services, A Technical Introduction, Deitel & Deitel Building Scalable and High Performance Java Web Applications, Barish Service-Oriented Programming (SOP) SOP A programming paradigm that
More informationCHAPTER 6: CREATIONAL DESIGN PATTERNS
CHAPTER 6: CREATIONAL DESIGN PATTERNS SESSION III: BUILDER, PROTOTYPE, SINGLETON Software Engineering Design: Theory and Practice by Carlos E. Otero Slides copyright 2012 by Carlos E. Otero For non-profit
More informationSOFTWARE ENGINEERING. To discuss several different ways to implement software reuse. To describe the development of software product lines.
SOFTWARE ENGINEERING DESIGN WITH COMPONENTS Design with reuse designs and develops a system from reusable software. Reusing software allows achieving better products at low cost and time. LEARNING OBJECTIVES
More informationInsECTJ: A Generic Instrumentation Framework for Collecting Dynamic Information within Eclipse
InsECTJ: A Generic Instrumentation Framework for Collecting Dynamic Information within Eclipse Arjan Seesing and Alessandro Orso College of Computing Georgia Institute of Technology a.c.seesing@ewi.tudelft.nl,
More informationDesign Pattern and Software Architecture: IV. Design Pattern
Design Pattern and Software Architecture: IV. Design Pattern AG Softwaretechnik Raum E 3.165 Tele.. 60-3321 hg@upb.de IV. Design Pattern IV.1 Introduction IV.2 Example: WYSIWYG Editor Lexi IV.3 Creational
More informationSDC Design patterns GoF
SDC Design patterns GoF Design Patterns The design pattern concept can be viewed as an abstraction of imitating useful parts of other software products. The design pattern is a description of communicating
More informationCS111: PROGRAMMING LANGUAGE II. Lecture 1: Introduction to classes
CS111: PROGRAMMING LANGUAGE II Lecture 1: Introduction to classes Lecture Contents 2 What is a class? Encapsulation Class basics: Data Methods Objects Defining and using a class In Java 3 Java is an object-oriented
More informationAppendix A - Glossary(of OO software term s)
Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component
More informationIntroduction to Web Services & SOA
References: Web Services, A Technical Introduction, Deitel & Deitel Building Scalable and High Performance Java Web Applications, Barish Web Service Definition The term "Web Services" can be confusing.
More informationObject- Oriented Design with UML and Java Part I: Fundamentals
Object- Oriented Design with UML and Java Part I: Fundamentals University of Colorado 1999-2002 CSCI-4448 - Object-Oriented Programming and Design These notes as free PDF files: http://www.softwarefederation.com/cs4448.html
More informationChapter 5: Procedural abstraction. Function procedures. Function procedures. Proper procedures and function procedures
Chapter 5: Procedural abstraction Proper procedures and function procedures Abstraction in programming enables distinction: What a program unit does How a program unit works This enables separation of
More informationSoftware Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.
Software Design Patterns Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University J. Maletic 1 Background 1 Search for recurring successful designs emergent designs from practice
More information1. Write two major differences between Object-oriented programming and procedural programming?
1. Write two major differences between Object-oriented programming and procedural programming? A procedural program is written as a list of instructions, telling the computer, step-by-step, what to do:
More informationOO is considered to be supported in three points which are usually symbolized as the three vertexes of a triangle: Encapsulació i ocultació
Object Orientation Its origin is placed at the beginning of the 70 s in a friendly environment project that Xerox Company developed in Palo lto with a team made up of lan Kay, dele Goldberg and Dan Ingalls.
More informationCSCI 253. Outline. Background. George Blankenship 1
CSCI 253 Object Oriented Design: Object Oriented Design and Programming in Java George Blankenship George Blankenship 1 Outline Background Rationale for the course Why object oriented programming? OOP
More informationSemantic SOA - Realization of the Adaptive Services Grid
Semantic SOA - Realization of the Adaptive Services Grid results of the final year bachelor project Outline review of midterm results engineering methodology service development build-up of ASG software
More informationIT101. Inheritance, Encapsulation, Polymorphism and Constructors
IT101 Inheritance, Encapsulation, Polymorphism and Constructors OOP Advantages and Concepts What are OOP s claims to fame? Better suited for team development Facilitates utilizing and creating reusable
More informationSeminar report Software reuse
A Seminar report On Software reuse Submitted in partial fulfillment of the requirement for the award of degree of Bachelor of Technology in Computer Science SUBMITTED TO: www.studymafia.com SUBMITTED BY:
More informationName of subject: JAVA PROGRAMMING Subject code: Semester: V ASSIGNMENT 1
Name of subject: JAVA PROGRAMMING Subject code: 17515 Semester: V ASSIGNMENT 1 3 Marks Introduction to Java (16 Marks) 1. Write all primitive data types available in java with their storage size in bytes.
More informationFrom Objects to Agents: The Java Agent Middleware (JAM)
From Objects to Agents: The Java Agent Middleware (JAM) Laboratory of Multiagent Systems LM Laboratorio di Sistemi Multiagente LM Elena Nardini elena.nardini@unibo.it Ingegneria Due Alma Mater Studiorum
More informationGraphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub
Lebanese University Faculty of Science Computer Science BS Degree Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub 2 Crash Course in JAVA Classes A Java
More informationConceptual Design with ER Model
Conceptual Design with ER Model Lecture #2 1/24/2012 Jeff Ballard CS564, Spring 2014, Database Management Systems 1 See the Moodle page Due February 7 Groups of 2-3 people Pick a team name Homework 1 is
More informationRequirement KANOKWATT SHIANGJEN COMPUTER SCIENCE SCHOOL OF INFORMATION AND COMMUNICATION TECHNOLOGY UNIVERSITY OF PHAYAO
Requirement KANOKWATT SHIANGJEN COMPUTER SCIENCE SCHOOL OF INFORMATION AND COMMUNICATION TECHNOLOGY UNIVERSITY OF PHAYAO Contents What is requirement? Software Requirement Specification (SRS) Requirements
More informationAutomated Integration Testing in Agile Environments
Automated Integration Testing in Agile Environments Slobodanka Sersik, InfoDesign OSD GmbH Dr. Gerald Schröder, InfoDesign OSD GmbH Speakers senior software developers and consultants at InfoDesign OSD
More informationGame Production: reuse
Game Production: reuse Fabiano Dalpiaz f.dalpiaz@uu.nl 1 Outline Lecture contents 1. Introduction to software reuse 2. Patterns 3. Application frameworks 4. Software product lines 5. Commercial-off-the-shelf
More informationpresentation for Java Student Group, UFC, 03/13/2008 J. M. Silveira Neto Sun Campus Ambassador Universidade Federal do Ceará, Brazil
presentation for Java Student Group, UFC, 03/13/2008 Let's talk about certifications: SCJA J. M. Silveira Neto Sun Campus Ambassador Universidade Federal do Ceará, Brazil Agenda What/Why/How Sun Certifications
More informationone.world Towards a System Architecture for Pervasive Computing
Towards a System Architecture for Pervasive Computing Robert Grimm, Janet Davis, Ben Hendrickson, Eric Lemar, Tom Anderson, Brian Bershad, Gaetano Borriello, David Wetherall University of Washington Vision
More informationDATA STRUCTURES CHAPTER 1
DATA STRUCTURES CHAPTER 1 FOUNDATIONAL OF DATA STRUCTURES This unit introduces some basic concepts that the student needs to be familiar with before attempting to develop any software. It describes data
More information10 Java Collections; Equality, JUnit
10 Java Collections; Equality, JUnit Activities 1. Familiarize yourself with some of the Java Collections Framework. 2. Learn the basics of overriding the hashcode and equals methods. 3. Learn the basics
More informationEINDHOVEN UNIVERSITY OF TECHNOLOGY
EINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Mathematics & Computer Science Exam Programming Methods, 2IP15, Wednesday 17 April 2013, 09:00 12:00 TU/e THIS IS THE EXAMINER S COPY WITH (POSSIBLY INCOMPLETE)
More informationModel Driven Development of Component Centric Applications
Model Driven Development of Component Centric Applications Andreas Heberle (entory AG), Rainer Neumann (PTV AG) Abstract. The development of applications has to be as efficient as possible. The Model Driven
More informationData Structures and Algorithms Design Goals Implementation Goals Design Principles Design Techniques. Version 03.s 2-1
Design Principles Data Structures and Algorithms Design Goals Implementation Goals Design Principles Design Techniques 2-1 Data Structures Data Structure - A systematic way of organizing and accessing
More informationObjects First With Java 5th Edition Solutions
We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our ebooks online or by storing it on your computer, you have convenient answers with objects first with java
More informationClass object initialization block destructor Class object
In this segment, I will review the Java statements and primitives that relate explicitly to Object Oriented Programming. I need to re-enforce Java s commitment to OOP. Unlike C++, there is no way to build
More informationEMF course - PACT. Etienne Borde
EMF course - PACT Etienne Borde www.etienneborde.fr Objectives Collective software development requires to focus on integration. John develops functionality A; Mike develops functionality B How to ensure
More informationComponent-based software engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 19 Slide 1
Component-based software engineering Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 19 Slide 1 Objectives To explain that CBSE is concerned with developing standardised components and
More informationSoftware Engineering Principles
1 / 19 Software Engineering Principles Miaoqing Huang University of Arkansas Spring 2010 2 / 19 Outline 1 2 3 Compiler Construction 3 / 19 Outline 1 2 3 Compiler Construction Principles, Methodologies,
More informationChapter 13 Abstract Classes and Interfaces. Liang, Introduction to Java Programming, Tenth Edition, Global Edition. Pearson Education Limited
Chapter 13 Abstract Classes and Interfaces Liang, Introduction to Java Programming, Tenth Edition, Global Edition. Pearson Education Limited 2015 1 Motivations You have learned how to write simple programs
More informationObject Oriented Programming
Unit 19: Object Oriented Unit code: K/601/1295 QCF Level 4: BTEC Higher National Credit value: 15 Aim To provide learners with an understanding of the principles of object oriented programming as an underpinning
More informationSelenium Online Training Brochure
Selenium Online Training Brochure Selenium Online Training in Real-time orientation, Selenium WebDriver, Core Java Programming, TestNG Testing Framework, Maven Integration, Jenkins Integration and Selenium
More informationKlocwork Architecture Excavation Methodology. Nikolai Mansurov Chief Scientist & Architect
Klocwork Architecture Excavation Methodology Nikolai Mansurov Chief Scientist & Architect Overview Introduction Production of software is evolutionary and involves multiple releases Evolution of existing
More informationIntroduction to Programming Using Java (98-388)
Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;
More informationWhole Platform Foundation. The Long Way Toward Language Oriented Programming
Whole Platform Foundation The Long Way Toward Language Oriented Programming 2008 by Riccardo Solmi made available under the Creative Commons License last updated 22 October 2008 Outline Aim: Engineering
More informationSaikat Banerjee Page 1
1. What s the advantage of using System.Text.StringBuilder over System.String? StringBuilder is more efficient in the cases, where a lot of manipulation is done to the text. Strings are immutable, so each
More informationDESIGN PATTERN - INTERVIEW QUESTIONS
DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions
More informationSDN controller: Intent-based Northbound Interface realization for extended applications
SDN controller: Intent-based Northbound Interface realization for extended applications 1. Introduction 2. SDN Controller 3. Intent-based Northbound Interface (NBI) 4. The Intent framework in ONOS controller
More informationDesign Patterns. An introduction
Design Patterns An introduction Introduction Designing object-oriented software is hard, and designing reusable object-oriented software is even harder. Your design should be specific to the problem at
More informationTopic 5: Abstract Classes & Interfaces
Topic 5: Abstract Classes & Interfaces Classes seen so far: concrete classes -- completely specified Abstract class: incomplete class, useless by itself, meant for use as a superclass. Interface: a special
More informationSUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version :
SUN 310-052 Sun Certified Enterprise Architect for J2EE 5 Download Full Version : http://killexams.com/pass4sure/exam-detail/310-052 combination of ANSI SQL-99 syntax coupled with some company-specific
More informationCPS 506 Comparative Programming Languages. Programming Language
CPS 506 Comparative Programming Languages Object-Oriented Oriented Programming Language Paradigm Introduction Topics Object-Oriented Programming Design Issues for Object-Oriented Oriented Languages Support
More informationSOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering?
Q2a. What are the key challenges being faced by software engineering? Ans 2a. The key challenges facing software engineering are: 1. Coping with legacy systems, coping with increasing diversity and coping
More informationCore Java - SCJP. Q2Technologies, Rajajinagar. Course content
Core Java - SCJP Course content NOTE: For exam objectives refer to the SCJP 1.6 objectives. 1. Declarations and Access Control Java Refresher Identifiers & JavaBeans Legal Identifiers. Sun's Java Code
More informationReusability and Adaptability of Interactive Resources in Web-Based Educational Systems. 01/06/2003
Reusability and Adaptability of Interactive Resources in Web-Based Educational Systems 01/06/2003 ctchen@ctchen.idv.tw Reference A. El Saddik et al., Reusability and Adaptability of Interactive Resources
More informationComputer Science 4U Unit 1. Programming Concepts and Skills Modular Design
Computer Science 4U Unit 1 Programming Concepts and Skills Modular Design Modular Design Reusable Code Object-oriented programming (OOP) is a programming style that represents the concept of "objects"
More informationUnderstading Refactorings
Understading Refactorings Ricardo Terra terra@dcc.ufmg.br Marco Túlio Valente mtov@dcc.ufmg.br UFMG, 2010 UFMG, 2010 Understanding Refactorings 1 / 36 Agenda 1 Overview 2 Refactoring 3 Final Considerations
More information1. Which programming language is used in approximately 80 percent of legacy mainframe applications?
Volume: 59 Questions 1. Which programming language is used in approximately 80 percent of legacy mainframe applications? A. Visual Basic B. C/C++ C. COBOL D. Java Answer: C 2. An enterprise customer's
More informationSoftware LEIC/LETI. Lecture 10
Software Engineering @ LEIC/LETI Lecture 10 Last Lecture Software Design Design as Structure Data source architectural patterns FénixFramework Today Software Design Design as Structure Design Principles
More informationIBM Spatially Enables Enterprise With ESRI ArcGIS Server
IBM Spatially Enables Enterprise With ESRI ArcGIS Server This article cannot be reproduced in whole or in part without prior permission from IBM Corporation. Copyright IBM Corp. 2005. All Rights Reserved.
More informationDesign Pattern What is a Design Pattern? Design Pattern Elements. Almas Ansari Page 1
What is a Design Pattern? Each pattern Describes a problem which occurs over and over again in our environment,and then describes the core of the problem Novelists, playwrights and other writers rarely
More informationCollage: A Declarative Programming Model for Compositional Development and Evolution of Cross-Organizational Applications
Collage: A Declarative Programming Model for Compositional Development and Evolution of Cross-Organizational Applications Bruce Lucas, IBM T J Watson Research Center (bdlucas@us.ibm.com) Charles F Wiecha,
More informationAbstract Classes. Abstract Classes a and Interfaces. Class Shape Hierarchy. Problem AND Requirements. Abstract Classes.
a and Interfaces Class Shape Hierarchy Consider the following class hierarchy Shape Circle Square Problem AND Requirements Suppose that in order to exploit polymorphism, we specify that 2-D objects must
More informationOHIO ASSESSMENTS FOR EDUCATORS (OAE) FIELD 010: COMPUTER INFORMATION SCIENCE
OHIO ASSESSMENTS FOR EDUCATORS (OAE) FIELD 010: COMPUTER INFORMATION SCIENCE June 2013 Content Domain Range of Competencies Approximate Percentage of Assessment Score I. Computer Use in Educational Environments
More informationThe Design Patterns Matrix From Analysis to Implementation
The Design Patterns Matrix From Analysis to Implementation This is an excerpt from Shalloway, Alan and James R. Trott. Design Patterns Explained: A New Perspective for Object-Oriented Design. Addison-Wesley
More informationObject-Oriented Programming Concepts
Object-Oriented Programming Concepts Real world objects include things like your car, TV etc. These objects share two characteristics: they all have state and they all have behavior. Software objects are
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 02: Using Objects MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Using Objects 2 Introduction to Object Oriented Programming Paradigm Objects and References Memory Management
More informationThingML: A Modelling Language for the Internet of Things
ThingML: A Modelling Language for the Internet of Things Franck Fleurey SINTEF franck.fleurey@sintef.no Background: SINTEF has 1400 employees in Trondheim Established in 1950 An Independent Multi-Disciplinary
More informationObjects First with Java A Practical Introduction using BlueJ
Objects First with Java A Practical Introduction using BlueJ David J. Barnes Michael Kölling Extensions by H.-J. Bungartz and T. Neckel 2.1 Course Contents Introduction to object-oriented programming with
More informationA A B U n i v e r s i t y
A A B U n i v e r s i t y Faculty of Computer Sciences O b j e c t O r i e n t e d P r o g r a m m i n g Week 10: I n h e r i t a n c e Asst. Prof. Dr. M entor Hamiti mentor.hamiti@universitetiaab.com
More informationMARS AREA SCHOOL DISTRICT Curriculum TECHNOLOGY EDUCATION
Course Title: Java Technologies Grades: 10-12 Prepared by: Rob Case Course Unit: What is Java? Learn about the history of Java. Learn about compilation & Syntax. Discuss the principles of Java. Discuss
More informationObject-oriented perspective
Starting Reader #2 Object-oriented perspective Operating system = computer interface Shell/libraries/system calls = OS interface Will return to OS topics in upcoming lectures. Now: OO intro. Objects l
More informationIT101. Graphical User Interface
IT101 Graphical User Interface Foundation Swing is a platform-independent set of Java classes used for user Graphical User Interface (GUI) programming. Abstract Window Toolkit (AWT) is an older Java GUI
More informationUnit 6 - Software Design and Development LESSON 1 INTRODUCTION
Unit 6 - Software Design and Development LESSON 1 INTRODUCTION What is covered in this session Introduction to unit and reference sources Schedule for assignments Introduction From this unit the learner
More informationCHAPTER 6: CREATIONAL DESIGN PATTERNS
CHAPTER 6: CREATIONAL DESIGN PATTERNS SESSION I: OVERVIEW OF DESIGN PATTERNS, ABSTRACT FACTORY Software Engineering Design: Theory and Practice by Carlos E. Otero Slides copyright 2012 by Carlos E. Otero
More informationData Structures Lecture 2
Fall 2017 Fang Yu Software Security Lab. Dept. Management Information Systems, National Chengchi University Data Structures Lecture 2 Object-oriented Design Abstraction, Modularity, and Encapsulation Abstraction
More informationDesign Patterns (Part 2) CSCE Lecture 18-10/25/2016 (Partially adapted from Head First Design Patterns by Freeman, Bates, Sierra, and Robson)
Design Patterns (Part 2) CSCE 740 - Lecture 18-10/25/2016 (Partially adapted from Head First Design Patterns by Freeman, Bates, Sierra, and Robson) Objectives for Today The point of OO: Separate what changes
More informationCisco Application Policy Infrastructure Controller Data Center Policy Model
White Paper Cisco Application Policy Infrastructure Controller Data Center Policy Model This paper examines the Cisco Application Centric Infrastructure (ACI) approach to modeling business applications
More information1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master
Oracle 1Z0-864 Java Enterprise Edition 5 Enterprise Architect Certified Master Download Full Version : http://killexams.com/pass4sure/exam-detail/1z0-864 Answer: A, C QUESTION: 226 Your company is bidding
More informationThis section describes all application components, technologies and structure
RBX Global : Application overview This page last changed on Mar 25, 2009 by jperez. Application overview The EduCloud SIMS is a software application for educational establishments to manage student data.
More informationCAS 703 Software Design
Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction
More informationSoftware Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1
Software Processes Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be
More informationObject Oriented Programming is a programming method that combines: Advantage of Object Oriented Programming
Overview of OOP Object Oriented Programming is a programming method that combines: a) Data b) Instructions for processing that data into a self-sufficient object that can be used within a program or in
More informationCSCI Object Oriented Design: Frameworks and Design Patterns George Blankenship. Frameworks and Design George Blankenship 1
CSCI 6234 Object Oriented Design: Frameworks and Design Patterns George Blankenship Frameworks and Design George Blankenship 1 Background A class is a mechanisms for encapsulation, it embodies a certain
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 informationDOWNLOAD OR READ : VISUAL BASIC 6TH EDITION PDF EBOOK EPUB MOBI
DOWNLOAD OR READ : VISUAL BASIC 6TH EDITION PDF EBOOK EPUB MOBI Page 1 Page 2 visual basic 6th edition visual basic 6th edition pdf visual basic 6th edition An Introduction to Programming Using Visual
More informationIntroduction to Eclipse
Introduction to Eclipse Getting started with Eclipse 05/02/2010 Prepared by Chris Panayiotou for EPL 233 1 What is Eclipse? o Eclipse is an open source project http://www.eclipse.org Consortium of companies,
More information