Review Amit Shabtay. March 3rd, 2004 Object Oriented Design Course 2 Review What have we done during the course? Where to learn more? What is for the.

Slides:



Advertisements
Similar presentations
.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Advertisements

COM vs. CORBA.
1 Copyright 1998 by Dragos Manolescu and Joseph W. Yoder Building Frameworks With Patterns “An Active Object-Model For A Dynamic Web-Based Application”
1 JAC : Aspect Oriented Programming in Java An article review by Yuval Nir and Limor Lahiani.
Aspect-Oriented Programming In Eclipse ® Aspect-Oriented Programming in Eclipse with AspectJ Dr Helen Hawkins and Sian January.
Transparent Robustness in Service Aggregates Onyeka Ezenwoye School of Computing and Information Sciences Florida International University May 2006.
Programming Creating programs that run on your PC
Introduction To System Analysis and Design
Dynamic Proxies Amit Shabtay. March 3rd, 2004 Object Oriented Design Course 2 Dynamic Proxies Main idea: The proxy wraps objects and adds functionality.
ASPECT ORIENTED SOFTWARE DEVELOPMENT Prepared By: Ebru Doğan.
Generic Programming David Rabinowitz. March 3rd, 2004 Object Oriented Design Course 2 The problem Assume we have a nice Stack implementation. Our stack.
Apache Axis: A Set of Java Tools for SOAP Web Services.
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
Review David Rabinowitz. March 3rd, 2004 Object Oriented Design Course 2 Review What have we done during the course? Which topics we have not discussed?
Introduction to Ant- a framework example Amit Shabtay.
UNIT-V The MVC architecture and Struts Framework.
Deriving AO Software Architectures using the AO-ADL Tool Suite Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga
Introduction To System Analysis and design
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
1 Testing Concurrent Programs Why Test?  Eliminate bugs?  Software Engineering vs Computer Science perspectives What properties are we testing for? 
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
ASP.NET  ASP.NET is a web development platform, which provides a programming model, a comprehensive software infrastructure and various services required.
Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Introduction to Aspect Oriented Programming Presented By: Kotaiah Choudary. Ravipati M.Tech IInd Year. School of Info. Tech.
Types for Programs and Proofs Lecture 1. What are types? int, float, char, …, arrays types of procedures, functions, references, records, objects,...
CSCA48 Course Summary.
Aspect Oriented Programming Razieh Asadi University of Science & Technology Mazandran Babol Aspect Component Based Software Engineering (ACBSE)
Supporting Heterogeneous Users in Collaborative Virtual Environments using AOP CoopIS 2001 September 5-7, Trento, Italy M. Pinto, M. Amor, L. Fuentes,
Aspect Oriented Programming Scott Nykl CSSE 411 Senior Seminar.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Ranga Rodrigo. The purpose of software engineering is to find ways of building quality software.
Opus College - overview. OpusCollege - background First project: ICT Capacity Building Mozambican Higher Education Institutions Partners: RUG Groningen,
Course Overview & Topics CSc 335: Object-Oriented Programming and Design © Rick Mercer 1.
Aspect Oriented Programming Sumathie Sundaresan CS590 :: Summer 2007 June 30, 2007.
Aspect-Oriented Refactoring of the Apache Cocoon Shared-Object Resource Allocation System Jeff Dalton February 28th, 2003 Advisor: David G. Hannay Client:
Patterns and Reuse. Patterns Reuse of Analysis and Design.
Alcatel-Lucent CDC Workshop, Coaching & Knowledge Transfer Architecture.
1-1 C Sc 335 Course Overview Object-Oriented Programming and Design Rick Mercer.
Methodology: The AOP Refactoring Process Aspect-Oriented Refactoring of the Apache Cocoon Shared-Object Resource Allocation System Jeff Dalton Advisor:
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 12-5 Software Engineering Design Goals.
AOP-1 Aspect Oriented Programming. AOP-2 Aspects of AOP and Related Tools Limitation of OO Separation of Concerns Aspect Oriented programming AspectJ.
Object Oriented Programming Lecture 11: Polymorphism.
1 An Aspect-Oriented Implementation Method Sérgio Soares CIn – UFPE Orientador: Paulo Borba.
Computer Programming 2 Why do we study Java….. Java is Simple It has none of the following: operator overloading, header files, pre- processor, pointer.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
Types in programming languages1 What are types, and why do we need them?
Introducing Allors Applications, Tools & Platform.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Consultant Effective Patterns and Practices in J2EE George de la Torre.
Chapter 8: Aspect Oriented Programming Omar Meqdadi SE 3860 Lecture 8 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Introduction (Continued) Design Patterns (I) Lecture Two.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
C# and.NET. .NET Architecture  Compiling and running code that targets.NET  Advantages of Microsoft Intermediate Language (MSIL)  Value and Reference.
CHAPTER 3 MODELING COMPONENT-LEVEL DESIGN.
Kansas City Java User’s Group Jason W. Bedell July 12, 2006
aspectj tools new and noteworthy Mik Kersten University of British Columbia Adrian Colyer IBM Hursley OOPSLA, October
Singleton Academy, Pune. Course syllabus Singleton Academy Pune – Course Syllabus1.
Implementing Distribution and Persistence Aspects with AspectJ WAS CLASS.
Sample Test Course Summary David Talby David Rabinowitz.
Software Engineering Lecture 7
Types for Programs and Proofs
Object-Orientated Programming
Design and Maintenance of Web Applications in J2EE
Understanding and Designing with EJB
CMPE 135: Object-Oriented Analysis and Design March 14 Class Meeting
Presentation transcript:

Review Amit Shabtay

March 3rd, 2004 Object Oriented Design Course 2 Review What have we done during the course? Where to learn more? What is for the exam?

March 3rd, 2004 Object Oriented Design Course 3 Common Mistakes and Basic Design One page method is important. Do not neglect these basic rules. Open Closed Principle Dependency Inversion Principle Interface Segregation Principle Acyclic Dependencies Principle Law of Demeter

March 3rd, 2004 Object Oriented Design Course 4 Design Patterns Use of highly tested patterns for general purposes Language free Forms a common jargon Makes the design process easier and the code more modular.

March 3rd, 2004 Object Oriented Design Course 5 Unit Tests, Ant as a Framework TDD - Test Driven Development Tests are per-functionality Tests check themselves Ant as a framework Cross-platform Defining new tasks

March 3rd, 2004 Object Oriented Design Course 6 Typing Issues Weak vs. Strong Weak typing means that you can mix types without an explicit conversion. Strong typing says you cannot. All types are known at compile time Static vs. Dynamic In dynamic typing a target may hold a binding to any kind of object

March 3rd, 2004 Object Oriented Design Course 7 LSP Covariance, Contravariance and NoVariance Liskov Substitution Principle Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it

March 3rd, 2004 Object Oriented Design Course 8 Exceptions An exception is a runtime event that may cause a routine to fail terminating in a state satisfying its contract. Correct exception handling Exception neutrality Weak exception safety Strong exception safety “A False Sense Of Security”

March 3rd, 2004 Object Oriented Design Course 9 Generic Programming Write the code once, and worry about the type at compile time Used mainly in containers and algorithms C++ templates, Java generics Solves type safety: Map.put(“key”, “4”); Integer i = (Integer)map.get(“key”);

March 3rd, 2004 Object Oriented Design Course 10 Dynamic Proxies Main idea: The proxy wraps objects and adds functionality. All proxy methods invocations are dispatched to the invoke(...) method of the instance invocation handler. Applications Aspect-Oriented Programming: standard error handling, log & debug for all objects Creating dynamic event handlers

March 3rd, 2004 Object Oriented Design Course 11 AOP & AspectWerkz Cross-cutting concerns Terminology Advices Pointcuts Aspects

March 3rd, 2004 Object Oriented Design Course 12 Objects & Databases Two widely used technologies Most of the applications today are written using object oriented techniques and languages. Persistence is the key of saving data

March 3rd, 2004 Object Oriented Design Course 13 Frameworks and Components “A set of cooperating abstract and concrete classes that makes a reusable design for a specific class of software” Components vs. Framework Framework vs. Design Patterns Domain knowledge, Architecture, Object oriented design

March 3rd, 2004 Object Oriented Design Course 14 RUP and eXtreme Programming Rational Unified Process is a commercial product for software development process. eXtreme Programming Small projects Embracing change 12 principles

March 3rd, 2004 Object Oriented Design Course 15 Technologies- Not to Memorize Eclipse Ant The new build tool Java Generics O/R Mapping Problems Hibernate

Not covered in the course

March 3rd, 2004 Object Oriented Design Course 17 Distributed Applications What happened when the application run on more than one computer? Web server Application server Database SOA – Service Oriented Architecture a collection of services which communicate with each other

March 3rd, 2004 Object Oriented Design Course 18 Web Applications Many applications are written now with web interface Why? How to design scalable and maintainable web site? MVC- model view controller

To Learn more

March 3rd, 2004 Object Oriented Design Course 20 Java & J2EE

March 3rd, 2004 Object Oriented Design Course 21.NET & Microsoft

March 3rd, 2004 Object Oriented Design Course 22 Look out for the weblogs

In the exam

March 3rd, 2004 Object Oriented Design Course 24 Exam material Theoretical exercises All the articles marked as “required” All the exercise hour material NOT technologies Eclipse Ant Hibernate