Business System Development CSC581
Lecture 14 Structuring System Logical Requirements
Summary of the previous lecture In previous lecture, we : Defined key data modeling terms. Drew entity-relationship (E-R) and class diagrams to represent common business situations. Explained the role of conceptual data modeling in IS analysis and design. Distinguished between unary, binary, and ternary relationships.
Outlines We today’s lecture we will: Define four types of business rules. Talk about the class diagrams Compare the capabilities of class diagrams vs. E-R diagrams. Relate data modeling to process and logic modeling
Business Rules Specifications that preserve the integrity of the logical data model Four types Entity integrity: unique, non-null identifiers Referential integrity constraints: rules governing relationships Domains: valid values for attributes Triggering operations: other business rules regarding attribute values
Domains The set of all data types and ranges of values that an attribute can assume Several advantages Verify that the values for an attribute are valid Ensure that various data manipulation operations are logical Help conserve effort in describing attribute characteristics
Triggering Operations An assertion or rule that governs the validity of data manipulation operations such as insert, update and delete Components: User rule: statement of the business rule to be enforced by the trigger Event: data manipulation operation that initiates the operation Entity Name: name of entity being accessed or modified Condition: condition that causes the operation to be triggered Action: action taken when the operation is triggered
Packaged Data Models Generic data models that can be applied and modified for an organization Two categories Universal Industry-specific Benefits Reduced implementation time and cost High-quality modeling
Packaged data models provide generic models that can be customized for a particular organization’s business rules
Object Modeling Using Class Diagrams Object-oriented approach Based on Unified Modeling Language (UML) Features Objects and classes Encapsulation of attributes and operations Polymorphism Inheritance
Objects Object: an entity with a well-defined role in an application Each object has: State: encompasses the attributes, their values, and relationships of an object Behavior: represents how an object acts and reacts Identity: uniqueness, no two objects are the same
Classes Class: a logical grouping of objects with similar attributes and behaviors Operation: a function or service provided by all instances of a class Encapsulation: the technique of hiding internal implementation details of an object from external view
Class Diagram A diagram showing the static structure of an object-oriented model UML classes are analogous to E-R entities
Types of Operations Constructor Creates a new instance of a class Query Accesses the state of an object Update Alters the state of an object Scope Applies to a full class rather than an individual instance
Representing Associations Association: a relationship among instances of object classes Association role: the end of an association where it connects to a class Multiplicity: indicates how many objects participate in a give relationship
UML associations are analogous to E-R relationships. UML multiplicities are analogous to E-R cardinalities.
Multiplicity notation: 0..10 means minimum of 0 and maximum of 10 roles multiplicities Multiplicity notation: 0..10 means minimum of 0 and maximum of 10 1, 2 means can be either 1 or 2 * means any number
Association Class An association with its own attributes, operations, or relationships UML association classes are analogous to E-R associative entities.
Derived Attributes, Associations, and Roles Derived attributes are calculated based on other attributes Derived items are represented with a slash (/).
Generalization Superclass-subclass relationships Subclass inherits attributes, operations, and associations of the superclass Types of superclasses Abstract: cannot have any direct instances Concrete: can have direct instances
Generalization and inheritance implemented via superclass/subclasses in UML, supertypes/subtypes in E-R
Aggregation and Composition A part-of relationship between a component and an aggregate object Composition An aggregation in which the part object belongs to only one aggregate object and lives and dies with the aggregate object
Aggregation is represented with open diamonds Composition is represented with filled diamonds
Summary of today’s lecture In this lecture. we: Defined four types of business rules. Compared the capabilities of class diagrams vs. E-R diagrams. Related data modeling to process and logic modeling.
Overview of the next lecture In next lecture, we will: Define key database design terms. Explain the role of database design in the IS development process. Transform E-R or class diagrams into normalized relations. Merge normalized relations from separate user views into a consolidated set of well-structured relations.
The End