Από την Ανάλυση στη Σχεδίαση (Moving on Design)



Σχετικά έγγραφα
EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)

Test Data Management in Practice

The Simply Typed Lambda Calculus

Assalamu `alaikum wr. wb.

Architecture οf Integrated Ιnformation Systems (ARIS)

Other Test Constructions: Likelihood Ratio & Bayes Tests

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

derivation of the Laplacian from rectangular to spherical coordinates

Math 6 SL Probability Distributions Practice Test Mark Scheme

CYTA Cloud Server Set Up Instructions

Homework 3 Solutions

Approximation of distance between locations on earth given by latitude and longitude

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

2 Composition. Invertible Mappings

EE512: Error Control Coding

Terabyte Technology Ltd

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

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

Abstract Storage Devices

Lecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3

Instruction Execution Times

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

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

Démographie spatiale/spatial Demography

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

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

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

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

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

«Χρήσεις γης, αξίες γης και κυκλοφοριακές ρυθμίσεις στο Δήμο Χαλκιδέων. Η μεταξύ τους σχέση και εξέλιξη.»

Fractional Colorings and Zykov Products of graphs

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook

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

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

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

ω ω ω ω ω ω+2 ω ω+2 + ω ω ω ω+2 + ω ω+1 ω ω+2 2 ω ω ω ω ω ω ω ω+1 ω ω2 ω ω2 + ω ω ω2 + ω ω ω ω2 + ω ω+1 ω ω2 + ω ω+1 + ω ω ω ω2 + ω

Statistical Inference I Locally most powerful tests

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

Ψηφιακή ανάπτυξη. Course Unit #1 : Κατανοώντας τις βασικές σύγχρονες ψηφιακές αρχές Thematic Unit #1 : Τεχνολογίες Web και CMS

Physical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible.

Προσωπική Aνάπτυξη. Ενότητα 2: Διαπραγμάτευση. Juan Carlos Martínez Director of Projects Development Department

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

C.S. 430 Assignment 6, Sample Solutions

4.6 Autoregressive Moving Average Model ARMA(1,1)

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ. του Γεράσιμου Τουλιάτου ΑΜ: 697

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

TMA4115 Matematikk 3

ΑΠΟΔΟΤΙΚΗ ΑΠΟΤΙΜΗΣΗ ΕΡΩΤΗΣΕΩΝ OLAP Η ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΕΞΕΙΔΙΚΕΥΣΗΣ. Υποβάλλεται στην

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ψηφιακή Οικονομία. Διάλεξη 7η: Consumer Behavior Mαρίνα Μπιτσάκη Τμήμα Επιστήμης Υπολογιστών

Case 1: Original version of a bill available in only one language.

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

Finite Field Problems: Solutions

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

k A = [k, k]( )[a 1, a 2 ] = [ka 1,ka 2 ] 4For the division of two intervals of confidence in R +

ANSWERSHEET (TOPIC = DIFFERENTIAL CALCULUS) COLLECTION #2. h 0 h h 0 h h 0 ( ) g k = g 0 + g 1 + g g 2009 =?

Προσωπική Aνάπτυξη. Ενότητα 4: Συνεργασία. Juan Carlos Martínez Director of Projects Development Department

Το πλαίσιο για την ανάθεση δημοσίων συμβάσεων έργων agile IT

Απόκριση σε Μοναδιαία Ωστική Δύναμη (Unit Impulse) Απόκριση σε Δυνάμεις Αυθαίρετα Μεταβαλλόμενες με το Χρόνο. Απόστολος Σ.

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

Lecture 2. Soundness and completeness of propositional logic

the total number of electrons passing through the lamp.

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

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

Bring Your Own Device (BYOD) Legal Challenges of the new Business Trend MINA ZOULOVITS LAWYER, PARNTER FILOTHEIDIS & PARTNERS LAW FIRM

Εκτεταμένη περίληψη Περίληψη

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

department listing department name αχχουντσ ϕανε βαλικτ δδσϕηασδδη σδηφγ ασκϕηλκ τεχηνιχαλ αλαν ϕουν διξ τεχηνιχαλ ϕοην µαριανι

ΣΧΕΔΙΑΣΜΟΣ ΔΙΚΤΥΩΝ ΔΙΑΝΟΜΗΣ. Η εργασία υποβάλλεται για τη μερική κάλυψη των απαιτήσεων με στόχο. την απόκτηση του διπλώματος

Εκτίμηση κινδύνου και μέτρα ασφαλείας για την προστασία προσωπικών δεδομένων

Ψηφιακή ανάπτυξη. Course Unit #1 : Κατανοώντας τις βασικές σύγχρονες ψηφιακές αρχές Thematic Unit #1 : Τεχνολογίες Web και CMS

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016

Section 8.3 Trigonometric Equations

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

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

Example Sheet 3 Solutions

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

Potential Dividers. 46 minutes. 46 marks. Page 1 of 11

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems

Τέσσερις καλές πρακτικές για την ανάπτυξη λογισμικού στην Ανοιχτή Επιστήμη. Φώτης Ε. Ψωμόπουλος, Ερευνητής Γ ΙΝΕΒ ΕΚΕΤΑ

Scrum framework: Γεγονότα

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

The challenges of non-stable predicates

Business English. Ενότητα # 9: Financial Planning. Ευαγγελία Κουτσογιάννη Τμήμα Διοίκησης Επιχειρήσεων

Paper Reference. Paper Reference(s) 1776/04 Edexcel GCSE Modern Greek Paper 4 Writing. Thursday 21 May 2009 Afternoon Time: 1 hour 15 minutes

Study of In-vehicle Sound Field Creation by Simultaneous Equation Method

Every set of first-order formulas is equivalent to an independent set

Advanced Subsidiary Unit 1: Understanding and Written Response

Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά.

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

Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit

Overview. Transition Semantics. Configurations and the transition relation. Executions and computation

5.4 The Poisson Distribution.

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

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

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

UNIVERSITY OF CALIFORNIA. EECS 150 Fall ) You are implementing an 4:1 Multiplexer that has the following specifications:

ICTR 2017 Congress evaluation A. General assessment

υπηρεσίες / services ΜΕΛΕΤΗ - ΣΧΕΔΙΑΣΜΟΣ PLANNING - DESIGN ΕΜΠΟΡΙΚΗ ΜΕΛΕΤΗ COMMERCIAL PLANNING ΕΠΙΠΛΩΣΗ - ΕΞΟΠΛΙΣΜΟΣ FURNISHING - EQUIPMENT

Transcript:

HY351 - Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων CS351 - Information Systems Analysis and Design ΗΥ351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Από την Ανάλυση στη Σχεδίαση (Moving on Design) Στρατηγικές Σχεδίασης (Design Strategies) ιαστρωμάτωση και Πακετοποίηση (Layering and Packaging) Γιάννης Τζίτζικας ιάλεξη : 12b Ημερομηνία : U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 1 ιάρθρωση Φάση Σχεδίασης (Design Phase) Στρατηγικές Σχεδίασης (Design Strategies) Custom Development, Packaged Software, Outsourcing Επιλέγοντας στρατηγική σχεδίασης (Selecting a Design Strategy) Από την Ανάλυση στη Σχεδίαση Από τα Μοντέλα Ανάλυσης στα Μοντέλα Σχεδίασης Διαμερίζοντας το Πρόβλημα Διαστρωμάτωση (Layering) Πακέτα και Διαγράμματα Πακέτων (Packages and Package Diagrams) Πακετοποίηση και Ομαδοποίηση (Packaging and Clustering) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 2

Υπενθυμιστικό: Η Φάση της Σχεδίασης (Design) Planning Analysis Design Implementation Βήματα: 1. Στρατηγική Σχεδίασης (Design Strategy). Ανάπτυξη από τον ίδιο τον οργανισμό, ή εξωτερική ανάθεση (outsourcing) σε μια άλλη εταιρεία, ή αγορά ενός υπάρχοντος πακέτου λογισμικού; 2. Αρχιτεκτονική Σχεδίαση (Architecture Design): υλικό, λογισμικό, δικτυακή υποδομή, διεπαφή χρήστη, φόρμες, αναφορές, βάσεις δεδομένων, κλπ. 3. Περιγραφή Αρχείων και Βάσεων Δεδομένων : ποια ακριβώς δεδομένα θα αποθηκεύονται και πού; 4. Σχεδίαση των Προγραμμάτων : ποια προγράμματα πρέπει να γραφτούν και τι θα κάνει το κάθε ένα; Αποτέλεσμα/Παραδοτέα: Προδιαγραφή Συστήματος (System Specification) η οποία δίδεται στην ομάδα των προγραμματιστών προς υλοποίηση U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 3 Υπενθυμιστικό: Η Φάση Σχεδίασης στις Μεθοδολογίες Ανάπτυξης Planning Planning Planning Planning Analysis Analysis Analysis Design Design Design Design Analysis Design Implementation Analysis Design Implementation Design Implementatio n Implementatio n Integration Implementatio n System prototype design prototype Planning Design Implementati on System Analysis Implementation system Implementation system System Analysis Analysis Analysis Design Implementatio n Design Implementatio n Design Implementatio n system v1 system v2 system v3 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 4

Υπενθυμιστικό: Η Φάση της Σχεδίασης (Design) Planning Analysis Design Implementation Βήματα: 1. Στρατηγική Σχεδίασης (Design Strategy). Ανάπτυξη από τον ίδιο τον οργανισμό, ή εξωτερική ανάθεση (outsourcing) σε μια άλλη εταιρεία, ή αγορά ενός υπάρχοντος πακέτου λογισμικού; 2. Αρχιτεκτονική Σχεδίαση (Architecture Design): υλικό, λογισμικό, δικτυακή υποδομή, διεπαφή χρήστη, φόρμες, αναφορές, βάσεις δεδομένων, κλπ. 3. Περιγραφή Αρχείων και Βάσεων Δεδομένων : ποια ακριβώς δεδομένα θα αποθηκεύονται και πού; 4. Σχεδίαση των Προγραμμάτων : ποια προγράμματα πρέπει να γραφτούν και τι θα κάνει το κάθε ένα; Αποτέλεσμα/Παραδοτέα: Προδιαγραφή Συστήματος (System Specification) η οποία δίδεται στην ομάδα των προγραμματιστών προς υλοποίηση U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 5 Στρατηγικές Σχεδίασης Design Strategies

Οι κυριότερες στρατηγικές σχεδίασης (Three Main Design Strategies) Custom Development Ανάπτυξη από τον ίδιο τον οργανισμό Building the system from scratch Packaged Software Buying a packaged software and customizing it Έτοιμο Πακέτο Λογισμικού Outsourcing Hiring an external person/company to build the system Εξωτερική ανάθεση Ανάπτυξη κατά παραγγελία Πακέτο Λογισμικού Εξωτερική ανάθεση U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 7 Design Strategies Custom Development Custom development means building the system from scratch Advantages Complete control (and freedom) over the functionality of the system Extensibility of the system (future needs may be taken into account) The skills of the staff improve (beneficial for future projects) Weaknesses Takes time, requires hard work (the staff may be already overcommitted) Appropriately skilled staff is needed High risk U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 8

Design Strategies Packaged Software Buying a packaged system and customizing it (commercial off-the-shelf (COTS) software product) many business needs are common to a large number of organizations there are thousands of commercially available programs that support basic and ubiquitous needs (e.g. payrolls, orders, inventory, sales, etc) these programs range from small components to complete ERP (enterprise resource planning) systems complete ERP systems have taken years and have cost millions of Euros to develop (SAP, PeopleSoft, Oracle, Baan) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 9 Design Strategies Packaged Software (II) This decision strategy introduces an additional phase, the procurement phase which is a special decision analysis phase comprising the following steps: 1) Identify products that could fit the needs of the project sources: special magazines, journals, Web sites, other organizations with similar needs 2) solicit, evaluate and rank vendor proposals 3) select and recommend the best of them 4) contract with the awarded vendor to obtain the product Procurement phase: φάση προμήθειας U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 10

Design Strategies Packaged Software (IΙΙ) 2) solicit, evaluate and rank vendor proposals Commonly, this step involves preparing an RFQ or an RFP document: RFQ (Request for Quotations) (αίτηση προσφοράς) used when you have selected the product but the product is available from various distributions. Objective: negotiate configuration, prices, maintenance contract. RFP (Request for Proposals) (αίτηση προτάσεων) used when there are several different vendors and products that are candidate. RFP is a superset of RFQ because the former describes in detail the requirements of the project (it is like the Requirements Specification Document) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 11 Design Strategies Packaged Software (IV) Advantages It takes a short time to buy and install it (no extra staff is needed) Low risk (packaged software has already been written, tested and proved to be effective) Weaknesses Not full control over the functionality of the system (we cannot customize everything) sometimes the business processes of the organization have to adapt to the software! Extensibility of the system for the future needs of the organization is not ensured The skills of your staff do not improve The price of the packages software is sometimes high The organization depends on the vendor maintenance (plus cost of maintenance) Risk if the vendor bankrupts U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 12

Design Strategies Outsourcing Hiring an external person/company to build the system Types of contracts: time and arrangements payment based on the time and the expenses [-] the bill may climb high fixed-price contract requirements should be very clear [-] usually outsourcers are not willing to accept changes in the requirements value-added contract the outsourcer will have some share of the benefits from the system becomes more and more popular U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 13 Design Strategies Outsourcing (II) Advantages You have the full control over the requirements The external party may be more skilled than you Weaknesses No full control over the internal architecture of the system The skills of your staff do not improve You may have to share confidential information You need a person to manage the outsourcing Risk if you haven t specified well the requirements never outsource something you don t understand Risk if the external party fails U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 14

Επιλέγοντας Στρατηγική Σχεδίασης (Selecting a Design Strategy) Επιλέγοντας Στρατηγική Σχεδίασης Custom Development Packaged System Outsourcing Unique business need Your staff has technical skills and you want to enhance them Loose and flexible deadline Very common business need Technical skills are lacking and it is not strategically important to build them Short timeframe with strict deadline The business need is not crucial for the organization Technical skills are lacking and it is not strategically important to build them A good outsourcer is available You want to avoid risk What about your project? U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 16

Επιλέγοντας Στρατηγική Σχεδίασης Πίνακας Εναλλακτικών (Matrix of Alternatives) We can use a matrix of alternatives (like the one we used in feasibility analysis) for organizing the pros and cons of each alternative. We could also employ a weighting scheme or any other decision theoretic method for selecting the best strategy for the project at hand Description Operational feasibility Custom Development Packaged Software Outsourcing Technical feasibility Economic feasibility Cost Payback period ROI Schedule feasibility Plus whatever other criteria are appropriate U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 17 Hereafter we assume that we have selected the custom development design strategy

ΑπόταΜοντέλαΑνάλυσηςσταΜοντέλαΣχεδίασης (From Analysis Models to Design Models) Από τα Μοντέλα Ανάλυσης στα Μοντέλα Σχεδίασης Σκοπός Τα μοντέλα ανάλυσης που έχουμε δημιουργήσει μέχρι τώρα έχουν κυρίως εστιάσει στις Λειτουργικές Απαιτήσεις (ΛΑ) Τώρα πρέπει να λάβουμε υπόψη και τις Μη Λειουργικές Απαιτήσεις (ΜΛΑ) Στην Αντικειμενοστρεφή Ανάλυση και Σχεδίαση: πρέπει να αναθεωρήσουμε και εκλεπτύνουμε τα μοντέλα που έχουμε δημιουργήσει μέχρι τώρα Προσθέτοντας λεπτομέρειες που αφορούν το περιβάλλον του συστήματος Μη-Λειτουργικές Απαιτήσεις (ΜΛΑ) Περιγράφουν ιδιότητες του συστήματος που συνήθως εκφράζονται βάσει χαρακτηριστικών της μορφής: Απόδοση (performance), Χρηστικότητα (usability), Ασφάλεια (security), Νομιμότητα (legislative), Ιδιωτικότητα (privacy) Με άλλα λόγια: περιγράφουν το πώς (ή τοπόσο καλά) το σύστημα θα υποστηρίξει τις λειτουργικές απαιτήσεις. Μπορούμε να τις θεωρήσουμε ως «περιορισμούς» που περιορίζουν τους τρόπους με τους οποίους θα μπορούσαμε να πραγματώσουμε τις λειτουργικές απαιτήσεις. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 20

Από τα Μοντέλα Ανάλυσης στα Μοντέλα Σχεδίασης Υψηλού επιπέδου επιχειρηματικές ανάγκες καταγεγραμμένες στην Πρόταση Συστήματος Καθορισμός Απαιτήσεων Ανάλυση Αναλυτική Καταγραφή Συγκεκριμένων απαιτήσεων Μοντελοποίηση Μοντελοποίηση Λειτουργική /Δομική/Συμπεριφοράς (Functional/Structural/Behavioral) Σχεδίαση Αναθεώρηση Εκλέπτυνση Μη Λειτ/κές Ααπαιτήσεις Μοντέλα Σχεδίασης U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 21 Από τα Μοντέλα Ανάλυσης στα Μοντέλα Σχεδίασης Τεχνικά, η φάση Σχεδίασης περιλαμβάνει: Υψηλού επιπέδου επιχειρηματικές ανάγκες καταγεγραμμένες στην Πρόταση Συστήματος Καθορισμός Απαιτήσεων Ανάλυση Αναλυτική Καταγραφή Συγκεκριμένων απαιτήσεων Μοντελοποίηση Μοντελοποίηση Λειτουργική /Δομική/Συμπεριφοράς (Functional/Structural/Behavioral) Σχεδίαση Αναθεώρηση, Εκλέπτυνση Μη Λειτ/κές Ααπαιτήσεις Σχεδίαση Κλάσεων και Μεθόδων Σχεδίαση Επιπέδου Διαχείρισης Δεδομένων Μοντέλα Σχεδίασης Σχεδίαση Επικοινωνίας με Χρήστη Σχεδίαση Φυσικής Αρχιτεκτονικής U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 22

Από την Ανάλυση στη Σχεδίαση Τεχνικά, η φάση Σχεδίασης περιλαμβάνει: class specifications (detailed Class Diagrams) Contracts, Method Specifications Class and Method Design Data Management Layer Design Human Computer Interaction Design Physical Architecture Layer Design file structure, database Use Scenarios, Windows Navigation Diagrams, Interface Standards, User Interface Templates Deployment Diagrams, Hardware/Software Specifications Each of the above topics will be covered in the subsequent lectures U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 23 Ένα από παλαιότερα ερωτήματα (One of the oldest questions in software methods) Πώς να σπάσουμε ένα μεγάλο σύστημα; Λόγος: Αν είναι μεγάλο τότε έχουμε δυσκολίες κατανόησης, επέκτασης, αλλαγής Φάση Ανάλυσης: Για να σπάσουμε ένα μεγάλο σύστημα στο παρελθόν κάναμε Λειτουργική Αποσύνθεση (Functional Decomposition). Χρησιμοποιούνταν τις μέρες που οι διαδικασίες (processes) και τα δεδομένα ήταν διαχωρισμένα Σήμερα: Περιπτώσεις Χρήσης (Use Cases) Φάση Σχεδίασης: Εντοπισμός στρωμάτων (layers) και πακέτων (packages) (packages are sometimes called subsystems) Τα πακέτα είναι ζωτικής σημασίας εργαλεία για τα μεγάλα έργα Τα πακέτα είναι επίσης καλά για δοκιμές (testing in package basis) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 24

Εντοπισμός Στρωμάτων Identification of Layers Έως τώρα έχουμε κυρίως εστιάσει στην «εννοιολογική προοπτική» (ή αλλιώς μοντέλο προβλήματος, μοντέλο πεδίου εφαρμογής, problem domain layer) Τώρα πρέπει να προσθέσουμε λεπτομέρειες που αφορούν στο περιβάλλον του συστήματος Ένας τρόπος για να αποφύγουμε την υπερφόρτωση του σχεδιαστή είναι να χρησιμοποιήσουμε πολλά layers (στρώματα) Παράδειγμα διαστρωμάτωσης: Problem Domain Data Management Human Computer Interaction Η εννοιολογική προοπτική Αφορά τα αντικείμενα που απαιτούν μόνιμη αποθήκευση ΚλάσειςΔιεπαφήςΧρήστη Physical Architecture Foundation Layer Επικοινωνία, Αρχιτεκτονική Λογισμικού Π.χ. θεμελιώδεις τύποι δεδομένων (συνήθως περιλαμβάνονται στο αντικειμενοστρεφές περιβάλλον ανάπτυξης) layers can be represented using the higher level (UML) concept of PACKAGE U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 25 Πακέτα και ιαγράμματα Πακέτων Packages and Package Diagrams Divida et impera (divide and rule)

Πακέτa της UML UML Packages Τα Πακέτα είναι ένας γενικός μηχανισμός ομαδοποίησης ο οποίος επιτρέπει να ομαδοποιήσουμε οποιαδήποτε στοιχεία της UML σε υψηλότερου επιπέδου μονάδες Συνήθως χρησιμοποιείται για την ομαδοποίηση κλάσεων Ένα πακέτο μπορεί να ομαδοποιήσει κλάσεις άλλα μοντέλα σχεδίασης. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 27 ιαγράμματα Πακέτων Package Diagrams Απεικονίζουν τα πακέτα και τις μεταξύ τους εξαρτήσεις (dependencies) P2 P1 To P2 εξαρτάται από το P1 Σημαίνει ότι μια αλλαγή στο P1 μπορεί να απαιτήσει αλλαγή του P2 Εξαρτήσεις (Dependencies): Οι εξαρτήσεις δεν είναι μεταβατικές Μια καλή πρακτική είναι η απαλοιφή των κυκλικών εξαρτήσεων (τουλάχιστον η μείωση τους) Η τέχνη της σχεδίασης μεγάλης κλίμακας: ελαχιστοποίηση εξαρτήσεων U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 28

Ένα διάγραμμα πακέτων (που ομαδοποιούν κλάσεις) Order Capture UI Mailing List UI AWT Order Capture Application Mailing List Application Orders Customers U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 29 Τρόποι ιαγραμματικής Απεικόνισης Πακέτων package name package name + contents util util util Date Date fully qualified package name java::util Date nested packages java util Date java::util::date U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 30

Πακέτα, Ορατότητα, και Εισαγωγή Packages, Visibility and Importing We can define the visibility of the elements owned by a package as we defined the visibility of the attributes and operations of a class. util +Date +Tree -XYZ +: public -: private: seen only the elements of the same package #: protected: seen only by the elements of the same package and its children To refer to the class of another package you need to use the qualified name of the class (package name::class name) import allows using direct names (not qualified ones) importing adds the public elements from the target package to the public namespace of the importing package. Notation in UML: <<import>> P2 <<import>> P1 Import vs Access : Access is like import but you cannot reexport. So it is not transitive (import is transitive) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 31 Παραδείγματα java Cinterface <<subsystem>> presentation applet <<subsystem>> control awt Minterface lang <<subsystem>> mediator Einterface <<subsystem>> entity Finterface <<subsystem>> foundation U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 32

Στρώματα ως Πακέτα Layers as Packages Μοντελοποιώντας Στρώματα ως Πακέτα Modeling Layers using Packages Problem Domain Foundation Data Management Human Computer Interaction Problem Domain Physical Architecture Foundation Layer Physical Architecture Data Management HCI U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 34

Πακέτα για Μοντελοποίηση διάφορων Αρχιτεκτονικών Όψεων Packages for Modeling the various Architectural Views Μπορούμε να χρησιμοποιήσουμε πακέτα για να μοντελοποιήσουμε τις διαφορετικές όψεις ενός συστήματος Design View Implementation View Use Case View Interaction View Deployment View Layer N Layer N-1 Layer 3 Layer 2 Layer 1 Presentation Logic Application Logic Data Access Logic Data Storage U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 35 Πακετοποίηση Κλάσεων Packaging Classes

GeneralLife-Beneficiary W orkers Co mpen s atio nclaim-notifier NOTE: The relationships in blue are generic relationships that are detailed by specific relationships. Settlement-Party VERIDASSRegistration -Requ ester RelatedParty-Fax Rate RelatedParty-Rate Overview/Conceptual RelatedParty-MobileTelephone RelatedParty-OfficeTelep ho ne RelatedParty MutualHealthInsurer Fax RelatedParty-HomeTelephone RelatedParty-eMail RelatedParty-ExternalRole Related Party -OfficialAd dres s Reg LegPers-Ho liday PayBu reau Ho lidaypaybu reau ActualInsurerOf MobileTeleph on e ExternalRo le RegLegPers-FamilyAllowanceBureau FamilyAllowanceBureau FileAdmin istrator Co mmunicatio nch ann el Party-Fax Telephone OfficeTelephone Ph ysicalperson RegisteredLegalPerson RegLegPers-Parity Committee ParityCo mmittee Bord ereau Party-Mo biletelepho ne 1-N Bordereau-BordereauLine BordereauLine RegLegPerson-PartyRole RegLegPers-SocialSecurityBurea Ho meteleph on e AccountingDocument-Insurer AccountingDocument AccountingDocumentLine Party-OfficeTelep ho ne Party SocialSecurityBureau email Party-HomeTeleph on e NonRegisteredLegalPerson Co up le Leg alp ers on Address Curren taccou nt Party-eMail Gro up Party-Previou saddress Phy sicalperson -Party Role Victim-ActualInsurer Victim-Mutu alhealth Insurer Party-MailPrimaryAddress Party-OfficialAddress BranchOfficeAddress LegalPerson-HeadOfficeAddress CurAcc-PremiumReturnLine CurAcc-PremiumCan cellatio nline FactualGroup Couple-PartyRole LegalPerson-BranchOfficeAddres HeadOfficeAddress FutureAddress EventAddress Requester No nreg LegPerson -Party Role No tifier InsuranceProvider-FileAdminist Cu racc-premiuminv oiceline Incid ent-opp on entthirdparty FactualGroup-PartyRole CurAcc-PremiumReimb ursementline Cu racc-miscelltransline CurAcc-FinTran sline Cu racc-commission Line Cu ra cc-clai mlin e CurAcc-Bord ereauto talline PremiumReturnLine CurrentAccountLine OpponentThirdParty Beneficiary Prev io usad dress Seniority SecondResidencyAddress PremiumReimbursementLine PremiumCancellationLine Vehicle-RegistrationPlateHolde VehicleReg is tratio np lateholder AccountingDocument-Intermediar Premiu minv oiceline Premiu man dcommis s io nrev ersiblepremiu mlin e Cancellation OfficialAddress MailSecondaryAddress Bran chseniority Action MailPrimaryAd dres s PartyRo le Victim-BranchSeniority Victim-CompanySeniority Victim-JobCategorySeniority Victim-Profession Seniority RequestForBid-Bid/Offer Vehicle-LeasingCompany MaterialObject-Owner Own er MiscellaneousTransactionLine FinancialTransactionLine Co mmissionlin e Co mp any Seniority Amendment Intermediary Jo bcateg oryseniority Expense BordereauTotalLine InsuranceProvider ClaimLin e P remiu mlin e Transfer MaterialObject-FinanceCompany FinanceCompany Fee Victim ProfessionSeniority DirectPayment Suspension DataEntryOperator Opp on entth irdparty-circumstan cecolumn In demnificatio n ContractChange Requ estforbid Bid/Offer Representative An nulmen t Leas ing Co mp any In sured Incid ent-w itn ess PremiumLine-PolicyHolder ClaimLin e-policy Ho ld er PremiumInvoiceRelatedAction ManagementAct Witness Claimant-Settlement Settlement NCBPreviou s NCBAtPreviou sinsu rer Cred ito r Sending Company Incid ent-in tervening Auth ority Settlement-Guarantee Settlement-Cover PrivateVehicle/Truck-Driver KfkOperation-SendingCompany Driver-Driv in glicencew ith drawa Victim-BonusReceptionDeclarati Victim-AIKReceptionDeclaration KfkOperation-ReceivingCompany Contract-Cancellation Driver-NCBLevel Contract-Amendment Driv er-previou sclaim Driver-AccidentsSinceAdjustment Victim-ActivityExecutionAddres Con tract-transfer TotalLoss-RequestForBid RiskOb ject-previousin surer Co ntract-su spen sion PremiumNotification-PIRelatedA Phy sicalinjury-firstaidsupp lie Contract-Intermediary Co ntract-po licych ange Phy sicalinjury -Certifying Medic Po licyholder-ncblevel PreNo t-pro ration Premiu mperiod PreNot-RenewalPremiumPeriod PolicyHolder-AccidentsSinceAdjustment In ciden t-ev entad dress Phy sicalin ju ry-treatingmed ical In sured -CircumstanceCo lumn Co ntract-coinsu rer PhysicalInjury-Hospital Contract-Insurer 1-N PolicyHolder-PreventionMeasure Policy Ho ld er-previou sclaim Po licy Ho ld er-billingad dres s Po licyho ld er-offen cepend in g Contract-CoPolicyHolder Declaration-Response PolicyHolder-Conviction Contract-PremiumNotification PolicyHolder-PrevIn srefu sal Contract-PolicyHolder PolicyHolder-PreviousPolicy Claimant-Damage Claiman t NCBReference In terven in gauth ority AddOnInsurer NCBAtUnderwriting In surer Claimant-Professio n NCBActual ReceivingCompany Driver Coinsurer Previo usin surer NCBYearMin us2 Claim-Intermediary MedicalDocto r FirstAid Su pplier DrivingLicenceWithdrawal NCBYearMinu s3 Hospital NCBLev el CertifyingMedicalDoctor TreatingMedicalDoctor Claim-ManagementAct Co ntract-ann ulmen t AccidentsSinceAdjustment Claim-Claimant PremiumPeriod Billin gad dress Pro ratio n PreviousClaim CoPolicy Ho ld er P remiu mnotification Renewal 1-N KfkDebitOrCreditStatement Declaration PreventionMeasure 1-N KfkOperation PolicyHolder KfkReq uestforrefun d OffencePending Claim-KfkOperation 1-N Claim Conviction 1-N Assessor Con tract-claim MaterialDamage-Assessor 1-N MaterialDamage-Repairer Contract-RelatedPolicy Driver-DrivingLicence Con tract-sp ecialco nd ition Contract-ContractDocument BonusReceptionDeclaration-Bonus Prev io usinsu rancerefusal BonusReceptionDeclaration Repairer Con tract Contract-Cost/Charge Co ntract-gen eralcon ditio n Co ntract-commissio n GeneralCon ditio n-clau se SpecialCondition-Clause PolicyHolder-RSRRegistration EANForm-CircumstanceColumn 1-2 1-6 LifeIn scon tract-lifeprofitsh aring LifeInsContract-ReferencePremium MotorIn suran cecon tract-veridas LifeInsContract-LastPremium LifeInsContract-DeceaseProfitSharing Co ntract-prop ortio nalpremiu m Co ntract-netpremiumin dexed CircumstanceCo lu mn-circumstance Co ntract-netpremiumno nind exed Con tract-grosspremiu m Con tract-ann ualpremiumind exed Contract-AnnualPremiumNonIndex LifeInsContract-FirstPremium Wo rkersco mp ensation Claim-Po licyholder Document-DocumentExchangeDetails Premium-CommercialDiscount Premium-Oth erin suran cereductio Premium-FidelityBonus Premium-SplitPaymentLoading Gu arantee-cos t/ch arg e Guarantee-GeneralCondition Guarantee-SpecialCondition Guarantee-Commission Moto rised RoadVeh icle-vehiclepassen ger Premium-PreviousIndex Premium-ActualIndex Premium-Tax Contract-InsuranceObject WaterVehicle-LoadCapacity Bu ilding -TakeOverPolicy Assessment-Settlement Po licy Related Policy Bo nu s PreviousPolicy GeneralCon ditio nswo rding EmployeeBenefitsContract WorkersCompensationContract Con tractdocu men t GreenCard Acqu is itio nco mmis s io n Respo nse AIKReceptionDeclaration-AIK DrivingLicence GroupInsuranceContract TravelInsuranceContract Transp ortinsu ranceco ntract Co vernote WorkersCompensationClaim AdvantageInKind AdvantageInKindReceptionDeclaration Premiu min voice SpecialCondition LastCommission Id entitycard MotorCycleCertificate FireInsuran cecon tract GeneralCondition Commission PersonalLiabilityInsuranceContract Cost/Charge Oth erpo licy LegalExpensesInsuranceContract CommercialInsuranceContract MotorInsuranceContract Clau se Circu mstan cecolu mn IndividualInsuranceContract ThirdCommission EuropeanAccidentNotificationForm FirstCommission SecondCommission SecuritySystemCertificate MortgageLoanFile ReplacedPolicy LifeProfitSharing Building-PolicyHolder Hu ntin glicen ce ProfitSharing VehicleRegistrationCard LifeInsuranceContract Con ditio n DeceaseProfitSharing VERIDASSRegistration RSRRegistration ReferencePremium Document TakeOverPolicy Circumstance Oth erinsuran ceredu ctio n Las tpremiu m PremiumDiscou nt FirstPremiu m CivilLiabilityHorsesAndCarriages CommercialDiscou nt WorkersCompensation PrivateMotorisedRoadVehicle Premiu mdis co un torlo ading FidelityBo nu s Gro s spremium GeneralCivilLiability TotalLoss SplitPremiumPaymentLoading Premium NetPremiu mnon in dexed Calculation CommercialMotorisedRoadVehicle DocumentExchangeDetails Co mmon Law PremiumLoading BasePremiu m VehiclePassengers CommercialLoss Insu redperso n-perman entdisabil InsuredPerson-GeneralLife Premium-SubscriptionIndex OldPremium AnnualPremium TariffPremium NetPremium NetPremiumIndexed PermanentDisabilityCover Insured Perso n Index Prev io usin dex Prop ortion alpremiu m MotorFullComprehensive Tax StartIndex EndIndex ActualIndex MotorisedRoadVehicle-Engine En gine Cov erlimit-previou sindex CoverLimit-ActualIndex AnnualPremiumIndexed Su bscription Ind ex Annu alpremiumno nind exed Mo torisedro advehicle-load Cap acity CoverLimit-SubscriptionIndex Guarantee-ProportionalPremium WaterVeh icle-eng in e Gu arantee-oldpremiu m Guarantee-BasePremium Guarantee-NetPremiumInd exed Guarantee-NetPremiumNonIndexed DamagedObject-Valuation Building -Sto rmhailandheavy Sn ow MotorisedRoadVehicle-SeatingCapacity Guarantee-AnnualPremiumNonInde Guarantee-GrossPremium Co ntents-bu rglary/theft Vehicle-Mo torfullcompreh ensive Gu aran tee-daily Allowance Guarantee-Capital Guarantee-AnnualIndemnification Guarantee-AnnualPremiumIndexed Vehicle-MotorPartialComprehensive Mo torised Road Vehicle-Hau lag etrailer MotorisedRoadVehicle-Caravan AirVehicle-SeatingCapacity AirVehicle-LoadCapacity WaterVeh icle-seatin gcap acity AirVehicle-Engine Moto rpartialcompreh ensiv e MotorTheft Mo torcompreh ensive Burglary/Theft LoadCapacity StormHailAndHeavySnow AnnualIndemnification CoverLimit Valu ation Cap ital MotorisedRoadVehicle MotorFire Mo torth ird PartyLiab ility DailyAllowance AirVehicle SeatingCapacity RiskAd dress WaterVehicle ActivityExecutionAddress Building GeneralLife Vehicle-MotorTheft Ro adveh icle Vehicle-Mo torfire Vehicle-Moto rtpl Hu ntin g-hun tin glicence No nmo toris edroadvehicle Caravan SpaceVehicle Damage Building-GeneralFire GeneralFire Damage-Gu arantee Guarantee MotorisedRo advehicle-tech nicardata RailVehicle HaulageTrailer Bicy cle Property-RiskAddress InsuredPerson-PrimaryOccupation InsuredPerson-AdditionalOccupation InsuredPerson-AdditionalActivities Guarantee-Extension Guarantee-Cover Building-SecuritySystem Vehicle Contents-GeneralFire PrivateBuilding Extension Guarantee-DamAmBasedDeductible Guarantee-InsValBasedDeductible Guarantee-Subguarantee Co ver CommercialBuilding Subguarantee-Cover Vehicle-TransportedGoods Vehicle-SecuritySystem Profession -Activ ityexectu tio nadd ress OtherPriv atebuilding DamageAmountBasedDeductible Dwelling Co nten ts Fleet-Vehicle TransportedGoods Contents-SecuritySystem Resid entialcaravan Garage FinancialDamage MoralDamage Subguarantee SecuritySystem Insured Valu ebasedded uctible DamagedOb ject 1-N Land RealEstate Dedu ctib le Collection PermanentDisability MaterialDamage-DamagedObject Hunting Fleet PrimaryOccup ation AdditionalOccupation AdditionalActivity TotalTemporaryDisability Disability PhysicalIn ju ry-disability Phy sicalinjury MaterialDamage Machinery/Appliances Property P Temp orarydisab ility TechnicarData PartialTemp orary Disability RiskObject Assessment-DamagedObject Πακετοποίηση Κλάσεων: Κίνητρο Packaging classes: Motivation Οι κλάσεις αποτελούν το βασικό μέσο δόμησης ενός αντικειμενοστρεφούς συστήματος Είναι όμως αυτή η δόμηση αρκετή αν έχουμε εκατοντάδες κλάσεων;? Συμβουλή: Χρησιμοποίηστε Πακέτα όταν ένα διάγραμμα κλάσεων δεν χωράει σε μια σελίδα A4 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 37 Πακετοποίηση Κλάσεων: Ιδιότητες Packaging classes: Properties Ιδιότητες Μια κλάση μπορεί να ανήκει σε ένα μόνο πακέτο Μια κλάση πρέπει να έχει μοναδικό όνομα μέσα στο πακέτο Ένα πακέτο μπορεί να περιέχει κλάσεις και άλλα πακέτα Άρα μπορούμε να ορίσουμε μια ιεραρχική δομή Σημείωση: Τα UML packages αντιστοιχούν στα packages της Java U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 38

Πακετοποίηση Κλάσεων: Κριτήρια Η πακετοποίηση των κλάσεων μπορεί να γίνει βάσει διαφόρων κριτηρίων, π.χ.: βάσει συγγραφέα (who wrote what) βάσει λειτουργίας (e.g. Storage Manager, UI, MVC, ) βάσει αρχιτεκτονικού στρώματος (architectural tier), π.χ. θα μπορούσαμε να διακρίνουμε τις εξής κατηγορίες κλάσεων: Presentation Logic Application Logic Data Access Logic Data Storage U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 39 Πακετοποίηση Κλάσεων: Κριτήρια Ένας άλλος τρόπος διαμέρισης των κλάσεων: persistent database classes Οι κλάσεις που απαιτούν μόνιμη αποθήκευση entity classes: those that will reside in the main memory Οι κλάσεις που θα βρίσκονται στην κύρια μνήμη boundary classes (interfaces) Οι διεπαφές control classes: specify business logic function Επιχειρηματική λειτουργίες U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 40

Παράδειγμα: ιάγραμμα Κλάσεων Συστήματος Κράτησης Ραντεβού (εννοιολογικό επίπεδο) PERSON Taken from Dennis et al. 2005 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 41 Παράδειγμα: ιάγραμμα Πακέτων του Συστήματος Κράτησης Ραντεβού Presentation Logic Application Logic Data Access Logic Data Storage U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas 42