Object-Oriented Analysis and the Domain Model
1.3.1 Case Study 1: From Home Access Control to Adaptive Homes
Figure 1-4 illustrates our case-study system that is used in the rest of the text to illustrate the software engineering methods. In a basic version, the system offers house access control. The system could be required to authenticate “Are you who you claim to be?” and validate “Are you supposed to be entering this building?” people attempting to enter a building. Along with controlling the locks, the system also turns on the light when you unlock the door. As typical of most software engineering projects, a seemingly innocuous problem actually hides many complexities, which will be revealed as we progress through the development cycle. Figure 1-4 already indicates some of those, since houses usually have more than one lock. Shown are two locks, but there could be additional ones, say for a garage entrance, etc. Additional features, such as intrusion detection further complicate the system. For example, the house could provide you with an email report on security status while you are away on vacation. Police will also attend when they receive notification from a central monitoring station that a monitored system has been activated. False alarms require at least two officers to check on and this is a waste of police resources. Many cities now fine residents for excessive false alarms. Here are some additional features to think about. You could program the system to use timers to turn lights, televisions and sound systems on and off at different times to give your home a “lived-in look” when you are away. Install motion-detecting outdoor floodlights around yourParts
» | Komputasi | Suatu Permulaan
» Why Software Engineering Is Difficult
» Book Organization What is Software Engineering?
» Symbol Language Software Engineering Lifecycle
» Requirements Analysis and System Specification
» Object-Oriented Analysis and the Domain Model
» Object-Oriented Design Software Engineering Lifecycle
» Case Study 1: From Home Access Control to Adaptive Homes
» Case Study 2: Personal Investment Assistant
» Relationships and Communication Object Model
» Design of Objects Object Model
» PROPHASE 2. METAPHASE TELOPHASE 3. ANAPHASE
» Project 2: Restaurant Automation Student Team Projects
» Stock Market Investment Fantasy League
» Web-based Stock Forecasters Student Team Projects
» Summary and Bibliographical Notes
» Agile Development Software Development Methods
» Types of Requirements Requirements Analysis and Use Cases
» Use Cases Requirements Analysis and Use Cases
» Requirements Elicitation through Use Cases
» Modeling System Workflows Requirements Analysis and Use Cases
» Why Software Engineering Is Difficult 1
» Identifying Concepts Analysis: Building the Domain Model
» Concept Associations and Attributes
» Contracts: Preconditions and Postconditions
» Design Principles for Assigning Responsibilities
» Class Diagram Design: Assigning Responsibilities
» Why Software Engineering Is Difficult 2
» Software Architecture | Komputasi | Suatu Permulaan
» Implementation | Komputasi | Suatu Permulaan
» World Phenomena and Their Abstractions
» Events, Signals, and Messages
» Context Diagrams and Domains
» Systems and System Descriptions
» Basic Formalisms for Specifications
» UML Object Constraint Language OCL
» TLA+ Notation Notations for System Specification
» Problem Frame Notation Problem Frames
» Problem Decomposition into Frames
» Composition of Problem Frames
» Specifying Goals Summary and Bibliographical Notes
» Measurement Theory Fundamentals of Measurement Theory
» What to Measure? | Komputasi | Suatu Permulaan
» Cyclomatic Complexity Measuring Complexity
» Internal Cohesion or Syntactic Cohesion
» Semantic Cohesion Measuring Module Cohesion
» Algorithmic Information Content Psychological Complexity
» Applications of Publisher-Subscriber Indirect Communication: Publisher- Subscriber
» Control Flow Indirect Communication: Publisher- Subscriber
» Pub-Sub Pattern Initialization Indirect Communication: Publisher- Subscriber
» Exclusive Resource Access—Exclusion Synchronization
» Cooperation between Threads—Condition
» Concurrent Programming Example Concurrent Programming
» Broker Pattern Broker and Distributed Computing
» Java Remote Method Invocation RMI
» Symmetric and Public-Key Cryptosystems
» Release publicly the public key, which is the pair of numbers n and E, K
» Syntax Structure of XML Documents
» Document Type Definition DTD
» Namespaces Structure of XML Documents
» XML Parsers Structure of XML Documents
» XML Schema Basics XML Schemas
» Models for Structured Content
» XPointer and Xpath Indexing and Linking
» Document Transformation and XSL
» Components, Ports, and Events
» Property Access Event Firing
» Custom Methods JavaBeans: Interaction with Components
» Run-Time Type Identification Computational Reflection
» Automatic Component Binding Computational Reflection
» State Persistence for Transport
» Port Interconnections A Component Framework
» Levels of A Component Framework
» Service Oriented Architecture | Komputasi | Suatu Permulaan
» The SOAP Section 5 Encoding Rules
» SOAP Communication SOAP Communication Protocol
» Binding SOAP to a Transport Protocol
» The WSDL 2.0 Building Blocks
» Defining a Web Service’s Abstract Interface
» Binding a Web Service Implementation
» Using WSDL to Generate SOAP Binding
» Non-functional Descriptions and Beyond WSDL
» UDDI for Service Discovery and Integration
» Server-side Development with Axis
» Client-side Development with Axis
» OMG Reusable Asset Specification Summary and Bibliographical Notes
» Aspect-Oriented Programming | Komputasi | Suatu Permulaan
» OMG MDA | Komputasi | Suatu Permulaan
» Autonomic Computing | Komputasi | Suatu Permulaan
» Software-as-a-Service SaaS End User Software Development
Show more