1 ITEC0724 Modern Related Technology on Mobile Devices Lecture Notes #1.

Slides:



Advertisements
Similar presentations
Withdrawal Transaction Use Case Primary Actor: Customer Pre-conditions: The customer must have a valid ATM card and PIN. Post-conditions: The customer.
Advertisements

CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
Karolina Muszyńska Based on:
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Object-Oriented Analysis and Design
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Objectives Detailed Object-Oriented Requirements Definitions
CS3773 Software Engineering Lecture 03 UML Use Cases.
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Object-Oriented Analysis and Design
Use-case Modeling.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
© Copyright Eliyahu Brutman Programming Techniques Course.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
SE-565 Software System Requirements More UML Diagrams.
Teamwork Know each other Compete Leadership Strengths and Weaknesses
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Chapter 7: The Object-Oriented Approach to Requirements
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
USE Case Model.
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Chapter 7 Structuring System Process Requirements
Software Engineering Design & Modelling
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
Unified Modeling Language, Version 2.0
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Systems Analysis and Design in a Changing World, 3rd Edition
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
TAL7011 – Lecture 4 UML for Architecture Modeling.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Unified Modeling Language User Guide Section 4 - Basic Behavioral Modeling Chapter 16 - Use Cases Chapter 17 - Use Case Diagrams.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Scenario A scenario is a sequence of steps describing an interaction between a user and a system. Use case is a set of scenarios tied together by a common.
Systems Analysis and Design in a Changing World, Fourth Edition
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Chapter 3: Introducing the UML
UML - Development Process 1 Software Development Process Using UML.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
UML (Unified Modeling Language)
Systems Analysis and Design in a Changing World, Fourth Edition
UML Chapter 17.
Appendix 3 Object-Oriented Analysis and Design
Chapter 4: Business Process and Functional Modeling, continued
Use Case Modeling - II Lecture # 27.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Unified Modeling Language
UML Use Case Diagrams.
Activity and State Transition Diagram
CIS 375 Bruce R. Maxim UM-Dearborn
BPMN - Business Process Modeling Notations
Copyright 2007 Oxford Consulting, Ltd
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CIS 375 Bruce R. Maxim UM-Dearborn
Software Development Process Using UML Recap
Presentation transcript:

1 ITEC0724 Modern Related Technology on Mobile Devices Lecture Notes #1

Background Brief Dr. Suronapee Phoomvuthisarn PhD in CSE, University of New South Wales, 2011 National ICT Australia ( ) Research interests in software architecture Service Economics, Cloud Computing Work History: Mahanakorn University of Technology (Since 2007) Position: รองคณบดีฝ่ายกิจการนักศึกษาและ ประชาสัมพันธ์ 2

Grading Policy 10% for class attendance 10% for assignments and quiz. 40% for midterm exam. 40% for final exam. 3

4 Class Overview Class content is divided into 2 parts. Overview of object-oriented systems development and UML notation Use case diagram Activity diagram Class diagram Sequence diagram Android Programming basics Local database Remote database Application on cloud, tv, wearable etc.

5 Object-oriented System Development Object-oriented systems development is a way to develop software by building self-contained modules or objects that can be easily replaced, modified, and reused. Software is a collection of discrete objects that encapsulate their data (data member, attribute, object data) and functionality (methods, operations) to model real-world “objects.”.

6 Using Class to Create Objects Circle c1 = new Circle(…); Circle c2 = new Circle(…); Circle c3 = new Circle(…); * c1, c2, c3 are not UML notations.

7 Example Class circle Attributes - x, y, radius Operations - draw(), setLocation(int x, int y), setSize(int radius) Java code public class Circle { private intx; private inty; private intradius; public void draw() {} public void setLocation(int x, int y) {} public void setSize(int radius) {} }

8 Object-oriented System Development (2) In an OO system, everything is an object and each object is responsible for itself. Operations are the only way to change an object’s internal data (encapsulation).

9 Object-oriented System Development (3) An object performs an operation when it receives a request (message) from other objects.

10 Why Object Orientation Higher level of abstraction An object is a thing drawn from the vocabulary of the problem space of the solution space. OO supports abstraction at the object level, which encapsulate both data and functions. Encouragement of good programming techniques A class in an object-oriented system separates its interface (specification of what the class can do) from the implementation of that interface (how the class does what it does) Promotion of reusability

11 UML UML (Unified Modeling Language) is a standard language for writing software blueprints. It is a very expressive language, addressing all the views needed to develop and deploy systems. UML does not specify a methodology or what steps to follow to develop an application.

12 UML2 Diagrams Class diagram Object diagram Component diagram Composite structure diagram Use case diagram Sequence diagram Communication diagram State diagram Activity diagram Deployment diagram Package diagram Timing diagram Interaction overview diagram

13 Building an Object-Oriented System Here is an example of how we use UML diagrams in each phase of the development. User Requirement Gathering System Analysis Designs And Development Application Deployment Use Case Diagram Activity Diagram Class Diagram Package Diagram Sequence Diagram Communication Diagram Object Diagram Component Diagram Deployment Diagram

14 Type of Objects Inside a System Storage Application Users User Interface Objects Storage Access Objects Application Data Objects Depending of how the system is designed, there may be several types of the objects inside an application.

15 Layered Architecture (1) For a complex system, there may be many objects interacting each other as a monolithic system. Layered architecture allows us to separating objects into groups by their duty inside the application. Common layers include View or user interface layer Business layer Access layer

16 Layered Architecture (2) Storage Users View Layer Business Layer Access Layer

17 Layered Architecture (3) MySQL Desktop Users Web Interface Business Layer MySQL Library Mobile (WAP) Mobile Users Oracle Oracle LibraryWeb Service Access

18 Use Cases In the UML, you apply use cases to capture the intended behavior of the system you are developing, without having to specify how that behavior is implemented. A use case represents a functional requirement of your system. Use case study is done during User Requirement Gathering. Use cases provide a way for your developers to come to a common understanding with your system’s end users and domain experts.

19 Use Cases From the perspective of a given actor, a use case carries out some tangible amount of work. You can apply use case for the whole system, a subsystem or even an individual class.

20 Subject The subject is usually a system or subsystem.

21 Names Every use case must have a unique name. A name can be a simple name or qualified name.

22 Use Cases and Actors An actor commonly represents a human, a hardware device, or another system. In general, an actor represents a coherent set of roles that users of use cases play when interacting with these use cases. Actors may be connected to use cases only by association, each one possibly sending and receiving messages. All use cases and actors must be connected by association relationships.

23 Use Cases and Flow of Events You can specify the behavior of a use case by describing a flow of events in text clearly enough for an outsider to understand it easily. This is also called use case specification. When you write flow of events, you should include How and when the use case starts and ends. When the use cases interacts with the actors and what objects are exchanged. Basic flow and alternative flows of the behavior.

24 Flow of Event Example Main flow of events. The use case starts when the system prompts the Customer for a PIN number. The Customer can now enter a PIN number via the keypad. The Customer commits the entry by pressing the Enter button. The system then checks this PIN number to see if it is valid. If the PIN number is valid, the system acknowledges the entry, thus ending the use case. Exceptional flow of events. The Customer can cancel a transaction at any time by pressing the Cancel button, thus restarting the use case. No changes are made to the Customer's account.

25 Flow of Event Example Exceptional flow of events. The Customer can clear a PIN number anytime before committing it and reenter a new PIN number. Exceptional flow of events. If the Customer enters an invalid PIN number, the use case restarts. If this happens three times in a row, the system cancels the entire transaction, preventing the Customer from interacting with the ATM for 60 seconds.

26 Ways to Write Flow of Events You can specify a use case’s flow of events by: Informal structured text (like the example). Formal structured text, with pre- and post- conditions.

27 Use Cases and Scenarios A use case typically has a main flow and a set of exceptional flows. It’s desirable to separate main versus alternative flows. A use case describes a set of scenarios.

28 Use Cases and Collaborations A use case captures the intended behavior of the system. As you implement, you will realize a use case into a collaboration. Analysis of a system should not be influenced by implementation issues.

29 Organizing Use Cases Organizing use cases allows you to have more precise use cases, and make system implementation more approachable. You can organize use cases by specifying generalization, include and extend relationships among them. Organizing your use cases is an important part of creating a simple, balanced, and understandable set of use cases for your system.

30 Organizing Use Cases

31 Modeling Behavior of an Element To model the behavior of an element, Identify the actors that interact with the element. Organize actors by identifying general and more specialized roles. Identify use cases For each use case For each actor, consider the primary ways in which that actor interacts with the element. Consider exceptional ways in which each actor interacts with the element. Organize use cases, applying include and extend relationships to factor common behavior and distinguish exceptional behavior.

32 More Example

33 Hints and Tips A well-structured use case Names a single, identifiable, and reasonably atomic behavior of the system. Is described by a minimal set of scenarios.

34 Hints and Tips When you draw a use case, Show only use cases that are important to understand the behavior of the system. Show only actors that relate to these use cases.

35 Activity Diagrams An activity diagram is essentially a flowchart, showing flow of control from activity to activity. An activity diagram can show concurrency as well. The execution of an activity expands into the execution of individual actions, each of which may change the state of the system or communicate messages.

36 Activity Diagram Example

37 Common Properties Activity diagrams commonly contain Actions Activity nodes Flows Object values Like other diagrams, activity diagrams may contain notes and constraints.

38 Actions An activity may contain several actions. An action is a executable, atomic computations. Executing an action may take small or substantial amount of time.

39 Activity Node An activity node is an organizational unit within an activity. In general, activity nodes are nested grouping of actions or other activity nodes. There are no notational distinction between actions and activity nodes.

40 Control Flows When an action or activity node completes, flow of control passes immediately to the next action or activity node. A flow of control usually starts and ends. In case of an infinite flow, it has no end.

41 Branching You can include branches in an activity diagram.

42 Branching Each outgoing flow of a branch must have a guard. You may use [else] as the default guard. When two paths of control merge back, you may use merge symbol. No guards are necessary on merge. You may achieve an iteration by have actions and branches combined, just like a flowchart.

[ มี ] Branching 43 Scan barcode ตรวจสอบว่ามีใน stock หรือไม่ หักสินค้าออกจาก stock ดึงรายการสินค้า ต่อไป [ ไม่มี ]

44 Forking and Joining You may use fork and join to explain concurrency within an activity. Forks and joins should balance.

45 Swimlanes A swimlane specifies a set of actions or activity nodes that share some organizational property.

46 Expansion Regions An expansion region represents an activity model fragment that is performed on the elements of a list or set.

47 Common Uses You typically use activity diagrams in two ways. To model a work flow To model an operation

48 Modeling a Workflow You can use activity diagrams to explain business processes or workflows. To model a workflow, Choose a workflow. Select related business objects. Identify pre-conditions and post-conditions, so you can focus the boundary. Write down simple version of the activity. For complicated actions that appear multiple times, collapse into activity nodes. Consider branching Consider forking and joining. Include important objects as necessary.

49 Example

50 Modeling an Operation