Data and Process Modelling 2
Total Page:16
File Type:pdf, Size:1020Kb
Data and Process Modelling 2. Information System Development Marco Montali KRDB Research Centre for Knowledge and Data Faculty of Computer Science Free University of Bozen-Bolzano A.Y. 2015/2016 Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 1 / 21 IS Engineering Development of an IS: problem-solving. 1. Analysis (includes conceptual modeling): what the IS is about, what are the requirements. 2. Design (includes logical modeling): how to accomplish the requirements. 3. Implementation: coding of the design under specific architectural/technological choices. 4. Testing: check if the implementation works and meets the requirements. 5. Maintenance: assist users after release, keep the IS working. Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 2 / 21 IS Engineering Processes Waterfall Iterative XP Analysis Analysis Design Design Implementation Analysis Test Implementation Maintenance Analysis Design Test Implementation Test Maintenance Design Maintenance Analysis Analysis Design Design Implementation Test Implementation Maintenance Implementation Analysis Design Test Implementation Test Maintenance Maintenance Analysis Analysis Test Design Implementation Design Test Maintenance Implementation Analysis Design Test Maintenance Implementation Test Maintenance Maintenance Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 3 / 21 Incremental Iterative Approach Divide et impera. UoD Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 4 / 21 Incremental Iterative Approach Divide et impera. UoD Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 4 / 21 Incremental Iterative Approach Divide et impera. UoD Analysis Analysis Design Design Implementation Implementation Analysis Test Test Design Maintenance Maintenance Implementation Analysis Test Design Maintenance Implementation Test Maintenance Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 4 / 21 Refined Steps 1. Feasibility study: is the idea implementable? 2. Requirements analysis: what should the system do? 3. Conceptual design - data, processes: what is the conceptual schema modeling the UoD? 4. Logical design - data, processes: how can the conceptual schema be translated into a logical schema? 5. Basic physical design - data and processes: how can the logical schema be represented in a concrete management system? 6. Basic external design - data and processes: which information can be accessed by users, and how? 7. Prototyping: how does the IS look like? 8. Completion of design. 9. Implementation of production version. 10. Testing and validation: does the IS work well and satisfy the requirements? 11. Release of software, documentation, training. 12. Maintenance. Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 5 / 21 Requirements analysis Domain First delineation of the IS to be. (UoD) • Relevant documentation examined. • Meetings with domain experts, Joint sessions with domain experts intended users, policy makers, Requirements and stakeholders Initial elicitation & stakeholders. UoD analysis analysis • Prioritization of the next steps. • Output: requirements Risk analysis specifications document that clearly describes Requirements specification Partial conceptual schema (use cases, scenarios,...) functional/non-functional requirements, and sketches an Initial conceptual schema initial conceptual schema of the IS to be. To conceptual design... I Contract! Requirements specifications document Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 6 / 21 1 1 Interaction with Domain Experts Umberto Boccioni - Visioni simultanee M. C. Escher - Up and down Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 7 / 21 Structural Conceptual Modeling - Phases Global conceptual structural schema Development of the structural conceptual schema. • Continuous involvement of domain experts. I Definition of a glossary of terms. Divide the UoD in sub-areas • Incremental iterative approach. I Start from the initial structural conceptual schema. Model/refine each area I Iterate. 1. Split UoD into (overlapping) sub-areas, with priority. Integrate 2. Generate/refine the conceptual schema of each area. 3. Integrate the sub-schemas into a global conceptual schema. To logical/physical/external design... Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 8 / 21 Logical/Physical Design without Explicit Processes Application layer Presentation logic Development of a typical 4-tier architecture. • Mirrors in the physical Application logic design. • Processes embedded in the Data logic (transient) application logic. • Two similar logical object-oriented mapping logical schema meta-data information schemas, two Object-relational mapping similar physical databases: Global conceptual schema I transient - data logic of Data logic (persistent) the application (typically: OO). relational logical schema I persistent - data logic of the persistence layer (typically: relational). Persistence layer Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 9 / 21 1 Zachman’s Framework Partitioning of the IS abstract architecture. • Vertical partitioning: levels of abstraction. • Horizontal partitioning: aspects/concerns. Why What How When Who Where (Motivation) (Data) (Function) (Time) (People) (Network) Contextual goal list material list process list event list organizational geographical unit&role list locations list Conceptual goal structural process model event model organizational locations model relationship conc. model unit&role model Logical rules diagram data model process diagram event diagram role relationship locations diagram diagram diagram Physical rules data entity process function role location event specification specification spec. specification specification specification Detailed rules details data details process details event details role details location details • Logical and physical layers can be split into transient and persistent. • Mappings between levels to be considered. Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 10 / 21 Which Languages??? conceptual structural schema O-R mapping logical OO logical relational schema ? schema ? ? Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 11 / 21 Conceptual Modeling Languages: Criteria Expressibility: the measure of what can be modeled. 100% principle The language should be able to express all the relevant static and dynamic aspects of the UoD. • Remember: the conceptual schema is the knowledge component of the IS. • 100% principle → completeness: the conceptual schema captures all the required knowledge. • Completeness → quality. • Correctness: I Syntactic: conformance to the language meta-model. I Semantic: knowledge of conceptual schema is relevant and true in the domain. • Completeness is a goal, correctness is a requirement! Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 12 / 21 Conceptual Modeling Languages: Criteria Clarity: how easy the language can be understood and used (by different stakeholders). • Graphical vs textual notations. • The language must be unambiguous: formal foundation. • The more expressive the language, the more difficult is to retain clarity. • Less expressive languages require complex combinations of their few constructs. • Abstraction: remove unnecessary details. Use requirements to drive abstraction. • Simplicity: Prefer simple schemas. Follow Occam’s razor with a critical approach. • Orthogonality: minimization of the overlapping of language constructs. Their (in)dependence must reflect the one of the corresponding domain aspects. Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 13 / 21 Conceptual Modeling Languages: Criteria Semantic relevance: modeling of conceptually relevant aspects only. Conceptualization principle A conceptual model should only include conceptually relevant aspects of the UoD, excluding all aspects of external/internal data representation, physical data organization and access as well as aspects of particular external user representation such as message formats, data structures, etc. • Again, simplicity! • Semantic stability: how well the model retains its original intent in the face of domain or requirements changes. • Design-independence. I Design aspects are tackled during the design phase! I No architectural/design patterns. Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 14 / 21 Trade-Offs Trade-offs between contrasting desiderata. • Expressivity vs tractability: the more expressive the language, the harder it is to compute with it. • Parsimony vs convenience: fewer concepts vs compact models. I Would you use Assembler to implement a web server? Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 15 / 21 Modeling Languages and Frameworks conceptual structural schema O-R mapping logical OO logical relational schema schema Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 16 / 21 Modeling Languages and Frameworks conceptual structural schema O-R mapping logical OO logical relational schema schema ORM Object-Role Modeling UML E-R Unified Modeling Entity-Relationship Language Modeling Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 16 / 21 Modeling Languages and Frameworks conceptual structural schema O-R mapping logical OO logical relational schema schema ORM Object-Role Modeling UML E-R Unified Modeling Entity-Relationship Language Modeling HIBERNATE JAVA SQL DB Marco Montali (unibz) DPM - 2.IS Development A.Y. 2015/2016 16 / 21 E-R: Abstract Representation of Data • Introduced by Peter Chen (1976). • The most widely used