Download Basic Modeling Notations - Software Engineering | Lecture Slides | CS 3773 and more Study notes Software Engineering in PDF only on Docsity! 1 CS3773 Software Engineering Lecture 7 Basic Modeling Notations UTSA CS37732 Modeling Notations Characteristics of a good modeling notation Well-defined set of concepts CASE tools support Resulting in unambiguous, clear, consistent, and concise specification Stakeholders understanding them (graphical notation is good) Ability to analyze (syntax, consistency checking) UTSA CS37733 Basic Specification Notations Most specification languages are a combination of notations used to describe different aspects of system behavior Many languages contain variants of the following basic notations: – Entity-relation diagrams (ER Digrams) – Event Traces – State machines – Data flow diagrams – Logic and functions – Algebraic specifications UTSA CS37734 Decomposition Strategies Functional decomposition: break down a system into functions, which complete certain tasks e.g., date flow diagram Process decomposition: break down a system into processes that can run concurrently in reaction to events e.g., state machine Object Oriented decomposition: break down a system into objects and describe features of each object and their interactions e.g., ER diagram 2 UTSA CS37735 ER Diagram ER diagram = entity-relation diagram ER diagrams are used for database design ER diagrams graphically represent problem domain: – Entities (“objects”) – Attributes (“properties”) – Relationships (often named with verbs) In OO terms, the problem domain is called the conceptual level of description – Origins of class diagrams (UML) UTSA CS37736 ER Diagram – Legend UTSA CS37737 ER Diagram – Example UTSA CS37738 ER Diagram Advantages – It is simple (few symbols) – It provides an overview of the system Disadvantages – What are modeled as entities or attributes? – May encourage too much detail 5 UTSA CS377317 Data Flow Diagram Data flow diagram (DFD) models high-level functionality of a system DFD represents the flow of data among components graphically UTSA CS377318 Data Flow Diagram - Legend UTSA CS377319 Data Flow Diagram – Example UTSA CS377320 Data Flow Diagram Advantages – Simple – Good for functional decomposition Disadvantages — ambiguities – When do functions get executed – If multiple inputs, are they all needed – Can't distinguish data and control signals – If multiple outputs, are both always generated 6 UTSA CS377321 Reading Assignments Sommerville’s Book – Chapter 8, “System Models” 8.2, 8.3, 8.4