MCS 270 Spring 2014 Object-Oriented Software Development.

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Ch 12: Object-Oriented Analysis
CS3773 Software Engineering Lecture 03 UML Use Cases.
Information System Design IT60105
Lecture 9 Object-Oriented Analysis
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Lecture 4 Class Responsibility Collaboration Cards
Documenting Requirements using Use Case Diagrams
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Requirements Analysis 2 What objects collaborate to achieve the goal of a use case?
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 11 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8t h Ed.,
2Object-Oriented Analysis and Design with the Unified Process Events and Use Cases  Use case  Activity the system carries out  Entry point into the.
Embedded Systems: Review and OMT modeling Slides by Gretel Coombs and Betty H.C. Cheng.
Introductory case study. 2 The problem The most difficult part of any design project is understanding the task you are attempting You have been contacted.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Engineering Case Study Slide 1 Introductory case study.
Chapter 3 Object-Oriented Analysis of Library Management System(LMS)
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
Introduction To System Analysis and design
Chapter 10 Architectural Design
Copyright by Dr. Clarence Lau, IVE(TY)
Systems Analysis and Design in a Changing World, Thursday, Feb 22
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Part 2: Design Methodology Object-Oriented Modeling and Design
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
MCS 270 Spring 2014 Object-Oriented Software Development.
Key Takeaway Points A use case is a business process; it begins with an actor, ends with the actor, and accomplishes a business task for the actor. Use.
1 Object-Oriented Analysis Use Case Driven. 2 The outline method for OOA 1.Identify object classes within the problem domain 2.Define the behaviour of.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
MCS 270 Spring 2014 Object-Oriented Software Development.
Approaching a Problem Where do we start? How do we proceed?
Chapter 7 System models.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
MODULE 3 Analysis and system design
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
MCS 270 Spring 2014 Object-Oriented Software Development.
Analysis and Design. PROCESS OVERVIEW A software development process provides a basis for the organized production.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
OOAD – III Software Design Nupul Kukreja 10 th October, 2014.
MCS 270 Spring 2014 Object-Oriented Software Development.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Ist.psu.edu School of Information Sciences and Technology IST 311 – Object-Oriented Design & Software Steven Haynes IST 311 – Class 7 17 January 2006
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 10 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
Software Engineering Zhang Shuang
MCS 118 Fall 2013 September 23, GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Announcements Quiz next Monday. If you need accommodations, see me. MCS 118,
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
MCS 270 Spring 2014 Object-Oriented Software Development.
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Lecture On Introduction (DBMS) By- Jesmin Akhter Assistant Professor, IIT, Jahangirnagar University.
Identification of Classes. Object Oriented Analysis (OOA) OOA is process by which we identify classes that play role in achieving system goals & requirements.
Application Analysis. Application Interaction Model The purpose of analysis is to understand the problem so.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
1 Object-Oriented Static Modeling of the Banking System - III Lecture # 33.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Teaching Innovation - Entrepreneurial - Global
Presentation transcript:

MCS 270 Spring 2014 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Today’s schedule Chapters 12-13: (Part I) Domain Analysis Application Analysis MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Domain Analysis (Chap 12) MCS 270 Object-Oriented Software Development Domain Analysis: devising a precise, concise, understandable and correct model of the domain of the application. Flows from requirements statement Entails identification of classes, associations between classes, and attributes of classes Create model of (mostly) static components Intrinsic Analysis

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Application Analysis (Chap 13) MCS 270 Object-Oriented Software Development Application Analysis: devising a precise, concise, understandable and correct model of the interactions of the application. Flows from Use Case analysis Entails identification of actors, use cases, external events, flow – Activity Diagrams Create model of (mostly) interactive components Extrinsic Analysis Note: We have done some of this work already for GusList

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Domain Class Analysis Find classes Prepare a data dictionary Find associations Find attributes of objects and links Organize and simplify classes using inheritance Verify that access paths exist for likely queries Iterate and refine the model. MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Finding Classes Classes arise from the problem domain Some may be concrete Others may be abstract Some may be stated explicitly Others may be implicit General rule: look for nouns MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Don’t worry about superclass-subclass relationships at first Just try to identify base classes that may be in horizontal relationships with each other The book uses a banking example based on ATM transactions MCS 270 Object-Oriented Software Development Finding Classes

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Eliminating/Reducing Classes Redundant classes: Customer and User are redundant Customer is kept because it’s more descriptive Irrelevant classes: Cost is outside scope of app Vague classes: RecordKeepingProvision, System, Banking Network, Security Provision Attributes: AccountData is attribute of Account, Receipt, Cash are attributes of Transaction MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Eliminating/Reducing Classes Operations: things that you identify as nouns, but which are really methods within classes. E.g. LogOn Roles: User is really a role, Customer is better choice Implementation: TransactionLog is a record of transactions – will be implemented as some ADT, but depends on prog. language (List, Array, etc) Derived Classes: E.g. Buyer, Seller are sub-classes of Customer MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Domain Class Analysis Find classes Prepare a data dictionary Find associations Find attributes of objects and links Organize and simplify classes using inheritance Verify that access paths exist for likely queries Iterate and refine the model. MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Data Dictionary Precise (paragraph) description of each class. Scope of current problem. Associations, Attributes, Operations, enumeration values, assumptions and restrictions. Example: Account: A single account at a bank against which transactions can be applied. Accounts can be of various types, including checking and saving. A customer can hold more than one account. MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Domain Class Analysis Find classes Prepare a data dictionary Find associations Find attributes of objects and links Organize and simplify classes using inheritance Verify that access paths exist for likely queries Iterate and refine the model. MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Domain Class Analysis Association: structural relationship between two or more classes. Eg. Relate PERSON and COMPANY with the association ‘WORKFOR’ Keeping the right Association Discard unnecessary and incorrect associations: Association between eliminated classes, Irrelevant or implementation associations (Creating a List), Actions, Derived association (subclass). -- More detail can be found in textbook. MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Domain Class Analysis Find classes Prepare a data dictionary Find associations Find attributes of objects and links Organize and simplify classes using inheritance Verify that access paths exist for likely queries Iterate and refine the model. MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Domain Class Analysis Attributes: Data properties of individual objects. Keeping the Right Attribute Only consider attributes directly relevant to the application. MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Domain Class Analysis Incorrect Attributes: Object: Should be represented as association Qualifier: Person has employyeNumber attribute. Should be new class called Employee Unique Name or Identifier: Not part of design Internal values: Not visible/useful outside class Fine detail: int used in loop, etc. Note: These are most important cases -- book has others that are somewhat esoteric MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Architectural design Architecture is a high-level representation of S/W Architectural styles are templates, e.g., Data-centered Data-flow Call and return Object-oriented Layered Note: Choice of architecture has implications for domain class model MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Architectural Styles Data-centered – subsystems interact through single repository Model / View / Controller Call and return (Client / Server) Layered (three-tier, four-tier) Data-flow (pipe and filter) MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Model / View / Controller (MVC) MVC: Model maintains domain knowledge (data) View subsystems display it to the user Controller subsystems manage sequence of interactions with user Note: M doesn’t depend upon V or C Well-suited for interactive systems MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Domain Model Exercise Groups of 3-4: Create a Domain Model analysis of “GusList” – an on-line classified ad service for the Gustavus community. Task: Identify Classes Associations Attributes Assumptions: We will use the MVC architecture Assignment: By next Thursday (March 6), prepare (group) a Domain Model Class Diagram with all associations and attributes, plus a Data Dictionary. MCS 270 Object-Oriented Software Development

GUSTAVUS ADOLPHUS COLLEGEgustavus.edu Assignments Tuesday – In Lab for Project: Homework: GusList Use Case Report Due: Tuesday, Feb. 25 GusList Domain Class Model Due: Thursday, March 6 MCS 270 Object-Oriented Software Development