Introduction to Object-Oriented Analysis and Design

Σχετικά έγγραφα
Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 21/11/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.

Test Data Management in Practice

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)

Architecture οf Integrated Ιnformation Systems (ARIS)

Démographie spatiale/spatial Demography

The Simply Typed Lambda Calculus

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Τεχνολογία Λογισμικού

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής

Προηγµένες Τεχνικές Προγραµµατισµού

Εισαγωγή στα Πληροφοριακά Συστήματα

SOAP API. Table of Contents

TaxiCounter Android App. Περδίκης Ανδρέας ME10069

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία

The challenges of non-stable predicates

(C) 2010 Pearson Education, Inc. All rights reserved.

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ «ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΚΑΤΕΥΘΥΝΣΗ «ΕΥΦΥΕΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ»

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

Context-aware και mhealth

Γλώσσες προγραµµατισµού. Ανάπτυξη Συστηµάτων Λογισµικού

ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

ίκτυο προστασίας για τα Ελληνικά αγροτικά και οικόσιτα ζώα on.net e-foundatio // itute: toring Insti SAVE-Monit

ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΟΥ ΣΟΒΑΡΟΥ ΣΚΟΠΟΥ ΓΙΑ ΤΗΝ ΕΚΜΑΘΗΣΗ ΕΝΝΟΙΩΝ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΕ JAVA

Main source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1

HIV HIV HIV HIV AIDS 3 :.1 /-,**1 +332

ΕΘΝΙΚΗ ΣΧΟΛΗ ΗΜΟΣΙΑΣ ΙΟΙΚΗΣΗΣ

5.4 The Poisson Distribution.

Mean bond enthalpy Standard enthalpy of formation Bond N H N N N N H O O O

Η ΕΡΕΥΝΑ ΤΗΣ ΓΛΩΣΣΙΚΗΣ ΑΛΛΑΓΗΣ ΣΤΑ ΚΕΙΜΕΝΑ ΤΗΣ ΜΕΣΑΙΩΝΙΚΗΣ ΕΛΛΗΝΙΚΗΣ: ΜΕΘΟΔΟΛΟΓΙΚΗ ΔΙΕΡΕΥΝΗΣΗ ΤΩΝ

CS 351: Information Systems Analysis and Design. What is Requirement Determination? What is a Requirement? Functional and Non-Functional Requirements

Elements of Information Theory

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

Information and Communication Technologies in Education

ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ

Γενικές Μεθοδολογίες Ανάπτυξης Λογισμικού

CRASH COURSE IN PRECALCULUS

TMA4115 Matematikk 3

Ασφάλεια σε χώρους αναψυχής: Ένα σύστημα από έξυπνα αντικείμενα

Γιπλυμαηική Δπγαζία. «Ανθπυποκενηπικόρ ζσεδιαζμόρ γέθςπαρ πλοίος» Φοςζιάνηρ Αθανάζιορ. Δπιβλέπυν Καθηγηηήρ: Νηθφιανο Π. Βεληίθνο

CS 351: Information Systems Analysis and Design

Assalamu `alaikum wr. wb.

Galatia SIL Keyboard Information

Προσομοίωση BP με το Bizagi Modeler

Block Ciphers Modes. Ramki Thurimella

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

derivation of the Laplacian from rectangular to spherical coordinates

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΟΙ ΕΠΙΜΟΡΦΩΤΙΚΕΣ ΑΝΑΓΚΕΣ ΣΤΙΣ ΕΠΙΧΕΙΡΗΣΕΙΣ ΤΟΥ ΔΗΜΟΥ ΗΡΑΚΛΕΙΟΥ ΑΔΑΜΑΚΟΠΟΥΛΟΥ ΑΝΔΡΙΑΝΗ ΔΗΜΗΤΡΟΥΛΑΚΗ ΑΡΙΣΤΕΑ

Advanced Subsidiary Unit 1: Understanding and Written Response

Liner Shipping Hub Network Design in a Competitive Environment

ΠΕΔΙΟ_ΑΓΟΡΑ: Stakeholder Analysis Questionnaire

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial

Instruction Execution Times

Math 6 SL Probability Distributions Practice Test Mark Scheme

Τεχνολογία Λογισμικού

ΓΗΠΛΧΜΑΣΗΚΖ ΔΡΓΑΗΑ ΑΡΥΗΣΔΚΣΟΝΗΚΖ ΣΧΝ ΓΔΦΤΡΧΝ ΑΠΟ ΑΠΟΦΖ ΜΟΡΦΟΛΟΓΗΑ ΚΑΗ ΑΗΘΖΣΗΚΖ

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΝΟΣΗΛΕΥΤΙΚΗΣ

Second Order Partial Differential Equations

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική»

Η αλληλεπίδραση ανάμεσα στην καθημερινή γλώσσα και την επιστημονική ορολογία: παράδειγμα από το πεδίο της Κοσμολογίας

Bizagi Modeler: Συνοπτικός Οδηγός

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ "ΠΟΛΥΚΡΙΤΗΡΙΑ ΣΥΣΤΗΜΑΤΑ ΛΗΨΗΣ ΑΠΟΦΑΣΕΩΝ. Η ΠΕΡΙΠΤΩΣΗ ΤΗΣ ΕΠΙΛΟΓΗΣ ΑΣΦΑΛΙΣΤΗΡΙΟΥ ΣΥΜΒΟΛΑΙΟΥ ΥΓΕΙΑΣ "

Strain gauge and rosettes

2 Composition. Invertible Mappings

Econ 2110: Fall 2008 Suggested Solutions to Problem Set 8 questions or comments to Dan Fetter 1

Πώς μπορεί κανείς να έχει έναν διερμηνέα κατά την επίσκεψή του στον Οικογενειακό του Γιατρό στο Ίσλινγκτον Getting an interpreter when you visit your

ES440/ES911: CFD. Chapter 5. Solution of Linear Equation Systems

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή εργασία

Partial Differential Equations in Biology The boundary element method. March 26, 2013

CE 530 Molecular Simulation

Συντακτικές λειτουργίες

Study of urban housing development projects: The general planning of Alexandria City

Η ΠΡΟΣΩΠΙΚΗ ΟΡΙΟΘΕΤΗΣΗ ΤΟΥ ΧΩΡΟΥ Η ΠΕΡΙΠΤΩΣΗ ΤΩΝ CHAT ROOMS

Ενότητα 2 Εργαλεία για την αναζήτηση εργασίας: Το Βιογραφικό Σημείωμα

ΗΥ351: Στοιχεία Μαθήµατος. Συνοπτική Περιγραφή Μαθήµατος. Προσωπικό και Ιστοσελίδα Μαθήµατος. Στόχοι του Μαθήµατος (ΙΙ)

ΗΥ351: Στοιχεία Μαθήµατος

Διαχείριση Έργων Πληροφορικής

Schedulability Analysis Algorithm for Timing Constraint Workflow Models

ΑΚΑ ΗΜΙΑ ΕΜΠΟΡΙΚΟΥ ΝΑΥΤΙΚΟΥ ΜΑΚΕ ΟΝΙΑΣ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

6.003: Signals and Systems. Modulation

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΣΥΣΤΗΜΑΤΩΝ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ

Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών. Εθνικό Μετσόβιο Πολυτεχνείο. Thales Workshop, 1-3 July 2015

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

Αρχές Τεχνολογίας Λογισμικού

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΝΑΥΤΙΛΙΑΚΩΝ ΣΠΟΥΔΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΗΝ ΝΑΥΤΙΛΙΑ

Ανάλυση Συστηµάτων και Τεχνολογία Λογισµικού

(Διαφάνειες Νίκου Βιδάκη)

Μεταπτυχιακή διατριβή. Ανδρέας Παπαευσταθίου

VBA ΣΤΟ WORD. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Version ΗΜΙΤΕΛΗΣ!!!!

Queensland University of Technology Transport Data Analysis and Modeling Methodologies

Finite Field Problems: Solutions

Code Breaker. TEACHER s NOTES

General 2 2 PT -Symmetric Matrices and Jordan Blocks 1

Τι είναι η λογική αρχιτεκτονική

Μέθοδοι μοντελοποίησης

Transcript:

HY 351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστηµάτων CS 351: Information Systems Analysis and Design Introduction to Object-Oriented Analysis and Design Lecture : 3a Date : 4-11-2005 Yannis Tzitzikas University of Crete, Fall 2005 Outline Categorizing methodologies w.r.t their focus process centered data centered object-oriented Basic Characteristics of OO Systems Object-Oriented Analysis and Design Object-Oriented Analysis and Design and Software Development Methodologies U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 2

The focus of a methodology focus business processes data that support the business Process centered (methodologies) emphasize on process models Data centered (methodologies) emphasize on data models Process & Data (methodologies) balance both by incorporating them into one model Object-oriented U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 3 Παράδειγµα: Ετοιµασία πρωινού Ψυγείο Ντουλάπι Σάντουιτς Καφές Τραπέζι Πάρε τυρί χρόνος Πάρε ζαµπόν Πάρε ψωµί Φτιάξε σαντ. Πάρε καφέ Πάρε ζάχαρη Πάρε γάλα Φτιάξε καφέ τοποθέτησε U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 4

The emphasis of a Process-centered methodology Ψυγείο Ντουλάπι Σάντουιτς Καφές Τραπέζι Πάρε τυρί χρόνος Πάρε ζαµπόν Πάρε ψωµί Φτιάξε σαντ. Πάρε καφέ Πάρε ζάχαρη Πάρε γάλα Φτιάξε καφέ τοποθέτησε Ορισµός διαδικασιών: ετοιµασίασαντουiτς, ετοιµασίακαφέ U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 5 The emphasis of a Data-centered methodology Ψυγείο Ντουλάπι Σάντουιτς Καφές Τραπέζι Πάρε τυρί χρόνος Πάρε ζαµπόν Πάρε ψωµί Φτιάξε σαντ. Πάρε καφέ Πάρε ζάχαρη Πάρε γάλα Φτιάξε καφέ τοποθέτησε Ορισµός περιεχοµένων: Ψυγείου, Ντουλαπιού U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 6

The emphasis of an Object-oriented methodology Ψυγείο Ντουλάπι Σάντουιτς Καφές Τραπέζι Πάρε τυρί χρόνος Πάρε ζαµπόν Πάρε ψωµί Φτιάξε σαντ. Πάρε καφέ Πάρε ζάχαρη Πάρε γάλα Φτιάξε καφέ τοποθέτησε Ορισµός κυρίαρχων εννοιών: Σάντουιτς, Καφές και κατόπιν µελέτη των σχετιζόµενων δεδοµένων και διαδικασιών U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 7 Basic Characteristics of OO systems Focus on capturing the structure and the behaviour in little modules that encompass both data and process. These modules are known as objects. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 8

Basic Characteristics of OO Systems Classes -- template to define objects Instances -- specific examples of class members Objects -- building block of the system Attributes -- describe data aspects of the object Methods -- the processes the object can perform Messages -- instructions sent to or received from other objects U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 9 Classes and Objects: Example Instantiated Objects of the Class Class PATIENT -Name -Birthdate -Phone Number +Insert ()() +Delete ()() Methods Attributes PATIENT 1: TOP PACKAGE: PATIENT -Name = Teresa Marks -Birthdate = March 16, 1975 -Phone number = 314-997-3456 PATIENT 2: TOP PACKAGE: PATIENT -Name = Mel Bourne -Birthdate = May 11, 1965 -Phone number = 314-997-3219 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 10

The Key to Reusability Encapsulation Combining data and processes in a single object Information hiding Showing only the information required to use the object What we gain? U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 11 Class Hierarchy U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 12

Inheritance U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 13 Polymorphism and dynamic binding Polymorphism the same message can be interpreted differently by different classes of objects Dynamic binding dynamic (or late) binding is a technique that delays typing the object until run-time. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 14

Polymorphism and dynamic binding U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 15 Characteristics of some widely user oo languages Feature C++ Eiffel Java strong typing Optional yes yes static(s)/dynamic(d) typing S S S+D garbage collection no yes yes multiple inheritance yes yes no pure objects no yes no dynamic loading no no yes standardized class libraries no yes yes correctness constructs no yes no U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 16

Other benefits of object-orientation Aids reuse makes code more modular best suited for GUIs and event-driven programming U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 17 Object-Oriented Analysis and Design Attempts to balance emphasis on data and process and uses UML for diagramming U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 18

Object-Oriented Analysis and Design and Software Development Methodologies OO approaches for developing information systems could use any of the traditional methodologies that we saw Waterfall, parallel, phased, prototyping, throwaway prototyping, RAD, XP,.. However they are most associated with a phased development RAD methodology U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 19 Object-Oriented Analysis and Design According to the creator of ULM, any modern oo approach to developing information systems should be Use-case Driven Architecture Centric the underlying software architecture drives the specification, construction and documentation of the system Should support at least 3 separated but interrelated architectural views Functional Static Dynamic Iterative and Incremental software is not released in one big bag at the end Each iteration of the system brings it close and closer to real user need U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 20

Reading and References Systems Analysis and Design with UML Version 2.0 (2nd edition) by A. Dennis, B. Haley Wixom, D. Tegarden, Wiley, 2005. CHAPTER 2 Requirements Analysis and System Design (2nd edition) by Leszek A. Maciaszek, Addison Wesley, 2005, CHAPTER 1 Object-Oriented Systems Analysis and Design Using UML (2nd edition) by S. Bennett, S. McRobb, R. Farmer, McGraw Hil, 2002, Chapter 4 Shari Lawrence Pfleeger. Τεχνολογία Λογισµικού: Θεωρία και Πράξη, 1. Κλειδάριθµος, Αθήνα, 2003, Κεφάλαιο 6 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 21