Software Modeling & Analysis

Size: px
Start display at page:

Download "Software Modeling & Analysis"

Transcription

1 Software Modeling & Analysis KUPE (Konkuk Unified Process for Education) With Case Study -OOPT (Object Oriented Process with Trace) Lecturer: JUNBEOM YOO

2 What is KUPE? KUPE (Konkuk Unified Process for Education) A software process based on RUP Revision of OSP (by Tailored to SE classes in universities) and OOPT Characteristics of KUPE 3 Stages 1. Iterative : Multiple development cycles 2. Incremental : System grows incrementally as each cycle is completed 3. Architecture : Stage > Cycle > Phase > Activity 1000 Plan and Build Elaboration Deployment 2

3 1. 3 Stages 1000 Plan and Build Elaboration Deployment Stage 1000 : Plan and Elaboration Planning, defining requirements, building prototyping, etc Corresponding to Inception/Elaboration phases in the RUP Stage 2000 : Build Construction of the system Corresponding to Construct phase in the RUP Stage 3000 : Deployment Implementation of the system into use Corresponding to Transition phase in the RUP 3

4 2. Iterative Development Multiple iterations in the Build stage Each iteration took about 2 to 8 weeks 1000 Plan and Build Elaboration Deployment Cycle 1 Cycle n00 Cycle n 2110 Revise 2120 Sync. Plan Artifacts 2130 Analyze 2140 Design 2150 Construct 2160 Test 4

5 3. Incremental Development 1000 Plan and Build Elaboration Deployment Cycle 1 Cycle n00 Cycle n Use-Case A Simplified Version... Use-Case A Full Version... Use-Case D Full Version... Use-Case B Full Version... Use-Case C Simplified Version... Use-Case C Full Version... 5

6 4. Architecture of KUPE Stage 1000 Plan and Build Elaboration Deployment Cycle 1 Cycle n00 Cycle n 2110 Revise 2120 Sync. Plan Artifacts 2130 Analyze 2140 Design 2150 Construct 2160 Test Activity 2141 Define 2142 Define 2143 Refine 2144 Define 2145 Define 2146 Define Real Use Cases Reports & UI System Archi. Interaction D. Design Class D DB Schema 6

7 Stage Plan and Elaboration 1000 Plan and Build Elaboration Deployment Konkuk University 7

8 Stage Plan and Elaboration Stage 1000 Activities 1000 Plan and Elaboration a. ongoing b. optional c. may defer d. varied order 1001 Define Draft Plan 1002 Create Preliminary Investigation Report 1003 Define Requirements 1004 Record a 1005 Implement b,d 1006 a,c,d Define Draft Terms in Glossary Prototype System Architecture 1007 Define Business Use Case 1008 Define Business Concept Model 1009 Define System Test Case 1010 Refine Plan 8

9 Activity Define Draft Plan Description Write a draft plan for schedule, resources, budget, objective, etc Input : related documents of previous similar projects Output : a draft project plan Steps 1001 Define 1002 Create Preliminary Draft Plan Investigation Report 1. Write motivation and objective of project 2. Write scope of project 3. Identify and write functional requirements 4. Identify and write non-functional requirements 5. Estimate resources (human efforts(m/m), human resources, duration, budget) 9

10 Activity Create Preliminary Investigation Report Create Preliminary 1003 Define Investigation Report Requirements Define Draft Plan Description Write an investigation report on alternatives, business needs, risk, etc Input : draft project plan Output : an investigation report Steps 1. Write alternative solutions 2. Write project s justification (business needs) 3. Identify and manage risks, and write risk reduction plans 4. Analyze business market 5. Write managerial issues 10

11 Activity Define Requirements 1002 Create Preliminary 1003 Define 1004 a Record Investigation Report Requirements Terms in Glossary Description Write a requirement specification for a product Input : draft project plan, investigation report Output : a requirement specification What is a requirement? (IEEE Std ) A condition or capability needed by a user to solve a problem or achieve an objective. A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed documents. A documented representation of a condition or capabilities as in (1) or (2) 11

12 Activity Define Requirements Functional requirements A requirement that specifies a function that a system or system component must be able to perform Analyzed and Realized in Use-Case model Non-functional requirements Constraints on the services or functions offered by the system as timing constraints, constraints on the development process, standards, etc. Portability, Reliability, Usability, Efficiency(Space, Performance) Delivery, Implementation, Standards Ethical, Interoperability, Legislative(Safety, Privacy) Recommended reference : IEEE Std

13 Activity Define Requirements Steps 1. Gather all kinds of useful documents 2. Write an overview statement (objective and name of the system, etc.) 3. Determine customers who use the product 4. Write goals of the project 5. Identify system functions Functional requirements Add function references(such as R1.1, ) into the identified functions Categorize identified functions into Event, Hidden, and Frill 6. Identify system attributes Non-functional requirements 7. Identify other requirements (Optional) Assumptions, Risks, Glossary, etc. Event Categorization should perform / visible to users Hidden Frill should performs / invisible to users optional 13

14 Activity Record Terms in Glossary 1003 Define 1004 a Record 1005 Implement Requirements Terms in Glossary Prototype b,d Description Similar to Data Dictionary Dictionary of terms and any associated information(constraints and rules) Input : requirements specification Output : a term dictionary Steps 1. Describe meaning of terms specified in requirements specification 2. Write alias of each term 14

15 Activity Implement Prototype 1004 Record a 1005 Implement b,d 1006 Define Draft a,c,d Terms in Glossary Prototype System Architecture Description Develop a prototype system to permit use feedback, determine feasibility, or investigate timing or other issues Input : requirements specification Output : a prototype Steps 1. Develop a prototype 15

16 Activity Define Business Use Case 1005 Implement b,d 1006 Define 1007 Define Business Prototype Business Use Case Concept Model Description To obtain a deeper understanding of the processes and requirements identified so far Identify business tasks as business use cases, and illustrate their relationships in use case diagrams Input : requirements specification Output : a business use case model (High-level use case) Business Use Case Diagram Business Use Case Description Buy Items POST Cashier Log In Refund Items Customer 16

17 Activity Define Business Use Case Steps 1. Determine system boundary in order to identify what is external versus internal, and what the responsibilities of the system are Typical system boundary includes: Hardware/Software boundary of a device / computer system Department of an organization Entire organization POST Cashier Customer Konkuk University System boundary 17

18 Activity Define Business Use Case 2. Identify the actors related to a system or organization An actor is anything with behavior, including the system under discussion(sud) itself when it calls upon the services of other systems Actors are not only the roles played by people, but also organizations, software, and machines Primary Actors Have user s goals fulfilled through using services the system provides Primary actors can be other computer systems (i.e. watchdog) Supporting Actors Provide services to the system under design Often a computer system could be a supporting actor Actor 18

19 Activity Define Business Use Case 3. Identify user goals for each actor 4. Record the primary actors and their goals in an actor-goal list Actor Cashier System Admin. Goal Process sales Process rentals Handle returns Cash in Cash out Add users Modify users Delete users Manage securities 19

20 Activity Define Business Use Case 5. Define use cases that satisfy user goals Identify use cases by actor-based For each actor, identify the processes they initiate or participate in Identify use cases by event-based Identify the external events that a system must respond to Related the events to actors and use cases Name them according to their goals 6. Allocate system functions identified during the requirements specification into related use cases 7. Categorize identified use cases into primary, secondary, and optional use cases Primary use cases : major common processes Secondary use cases : minor or rare processes Optional use cases : processes that may not be tackled 20

21 Activity Define Business Use Case 8. Identify relationships between use cases Write major steps or branching activities of one use case as several separate use cases using include relationship, when they are too complex, long, and duplicated to understand Use extends relationship when an exceptional activity is occurred in use case <<include>> Pay by Cash Buy Items <<include>> Pay by Credit <<extends>> Exceed Limits <<include>> Pay by Check 21

22 Activity Define Business Use Case 9. Draw a use case diagram Buy Items POST Log In Cashier Customer Refund Items 9. Describe use cases Describe the detail information of use cases Name, Actor, Description Use Case Actors Description The name of use case Associated actor Abstract information of use case 22

23 Activity Define Business Use Case 11. Rank use cases according to the followings: a. Significant impact on the architectural design b. Significant information and insight regarding the design c. Include risky, time-critical, or complex functions d. Involve significant research, or new and risky technology e. Represent primary line-of-business processes f. Directly support increased revenue or decreased costs The ranking scheme may use a simply fuzzy classification such as highmedium-low High ranking use cases need to be tackled in early development cycle Rank Use case Justification High Buy Items It s the triggering event of all processes Medium Add New Users Log In Refund Items Affects security Low Cash out Start Up Shut Down Minimum effect on the architecture 23

24 Activity Define Business Concept Model 1006 Define b,d 1007 Define Business 1008 a,c,d Define Draft Business Use Case Concept Model System Architecture Description Identify business concept in the target domain which can be candidates for classes Input : requirements specification, term dictionary business use case model Output : a business concept model Steps 1. Identify business terms or business concepts from requirements specification or through interviews with domain experts 2. Define identified terms as business concepts Implementation details can t be business concepts 24

25 Activity Define Draft System Architecture 1007 Define Business 1008 a,c,d Define Draft 1009 Define System Concept Model System Architecture Test Plan Description Construct a rough preliminary system architecture model Input : requirements specification business use case model Output : a draft system architecture Steps 1. Define logical/physical layers of the target system 2. Separate the whole system into several subsystems 3. Assign business use cases into each subsystem 4. Identify and draw up hardware resources 25

26 Activity Define System Test Case 1008 a,c,d Define Draft 1009 Define System System Architecture Test Case 1010 Refine Plan Description Define test Case of the system Input : requirements specification, business use case model business concept model Output : system test plan Steps 1. Identify requirements, use case 2. Planning system test cases accordance with use case models Category partitioning, brute force, etc 3. Mapping the test plan with functional requirements specification Identify 100% functional requirements coverage 26

27 Activity Refine Plan 1009 Define System Test Plan 1010 Refine Plan Description Refine the draft project plan generated in activity 1001 Input : all outputs of OSP stage 1000 Output: a refined project report Steps 1. Review draft project plan, based on requirements specification, business use case model, business concept model, and draft system architecture 2. Refine project s scope, duration, cost, and other resources 27

28 Stage Plan and Elaboration -Case Study Plan and Build Elaboration Deployment Konkuk University 28

29 29

30 30

31 ㄴ 31

32 Activity Define Draft Plan Motivation 인쇄시스템디자인및구축 Objective 요청한인쇄매수에따라금액을투입하면인쇄가되는시스템구축 Functional Requirements 사용자를계정별로관리한다. 계정은사용자가원하는대로생성하며사용자계정은 id/pw 와잔액정보를가진다. 계정별로잔액을충전할수있다. 인쇄는 1 장당 50 원의요금을받는다. 인쇄진행시계정잔액에서필요한만큼차감한다. 관리자는프린터의정보및계정정보를확인할수있다. 용지부족시이에대한알림을준다. 부족한용지를보충할수있다. 계정목록및잔액을확인할수있다. 32

33 Activity Define Draft Plan Non-Functional Requirements 인쇄품질은충분히좋아야한다. 인쇄가격은적당해야한다. 프린터는소음이적어야한다. Resource Human Efforts : M/M Cost : 250,000 33

34 Activity Define Requirements Functional Requirements (Rev. 1001) 사용자를계정별로관리한다. 계정은사용자가원하는대로생성하며사용자계정은 id/pw 와잔액정보를가진다. 계정별로잔액을충전할수있다. 사용자는프린터사용전에계정을먼저생성해야한다. Id/pw 가일치하는경우에만인쇄가가능하도록한다. 로그인, 로그아웃이가능하다. 인쇄는 1 장당 50 원의요금을받는다. 인쇄진행시계정잔액확인후필요한만큼차감한다. 잔액이부족할경우인쇄진행이되지않도록한다. 관리자는프린터의정보및계정정보를확인할수있다. 용지부족시이에대한알림을준다. 부족한용지를보충할수있다. 계정목록및잔액을확인할수있다. 전체수익금을확인할수있다. 34

35 Activity Define Requirements Ref. # Function Category R 1.1 System Access Event R 1.2 Make Account Event R 1.3 Identify Balance Event R 1.4 Recharge Balance Event R 2.1 Request Print Event R 2.2 Check Balance Hidden R 3.1 Identify Paper Event R 3.2 Recharge Paper Event R 3.3 Identify User Event R 3.4 Identify Money Event 35

36 Activity Record Terms in Glossary Glossary Balance Paper User Description 사용가능한요금을표시한잔액사용가능한용지잔량프린터사용자들의계정 36

37 Activity Define Business Use Case Define System boundary Printer System User Manager Identify the actors User : 인쇄를위해시스템과상호작용하는 actor Manager : 인쇄시스템사용자, 용지등을관리하기위해상호작용하는 actor 37

38 Activity Define Business Use Case Use-cases by actor based (User) Login Logout Make Account Identify Balance Recharge Balance Request Print Use-cases by actor based (Manager) Login Logout Identify Paper Recharge Paper Identify User Identify Money 38

39 Activity Define Business Use Case Use-cases by event based Check Balance Allocate system functions into related use cases and categorize Ref. # Function Use Case Number & Names Category R 1.1 System Access 1. Login Primary R 1.1 System Access 2. Logout Primary R 1.2 Make Account 3. Make Account Primary R 1.3 Identify Balance 4. Identify Balance Primary R 1.4 Recharge Balance 5. Recharge Balance Primary R 2.1 Request Print 6. Request Print Primary R 2.2 Check Balance 7. Check Balance Primary R 3.1 Identify Paper 8 Identify Paper Primary R 3.2 Recharge Paper 9. Recharge Paper Primary R 3.3 Identify User 10. Identify User Primary R 3.4 Identify Money 11. Identify Money Primary 39

40 Activity Define Business Use Cases Use case diagram 40

41 Activity Define Business Use Cases Describe use cases Use Case Actors Login User, Manager Description - 사용자 or 관리자가시스템을사용하기위해 id, pw 를입력받는다. - 이 use case는입력받은 id/pw 와저장된회원정보를확인하여 id, pw가일치하는경우시스템사용을승인한다. - 회원인경우 user로관리자인경우 manager로로그인하고화면을전환한다. Use Case Actors Logout User, Manager Description - 사용자 or 관리자가시스템을사용해제하기위한 use case 이다. - 사용승인상태를해제하고초기화면으로돌아간다. 41

42 Activity Define Business Use Cases Describe use cases Use Case Actors Make Account User, Manager Description - 이 use case는 id/pw 를입력받는다 - 입력받은 id 와일치하는 id가없는경우사용자계 정을생성한다. Use Case Actors Identify Balance User Description - 현재로그인된사용자의계정에충전된잔액을화 면에표시한다. Use Case Actors Recharge Balance User Description - 충전할금액의값을입력받는다 - 현재로그인된사용자의계정에해당금액만큼잔 액을충전한다. 42

43 Activity Define Business Use Cases Use Case Actors Request Print User Description - 이 use case는출력할매수를입력받는다. - 잔액확인후잔액이충분한경우인쇄를진행한다. Use Case Actors Check Balance Event Description - 출력요청이후에매수와잔액을비교하여출력가 능여부를계산한다. Use Case Actors Identify Paper Manager Description - 이 use case는관리자로로그인한경우에프린터의 용지잔량을확인한다. 43

44 Activity Define Business Use Cases Use Case Actors Recharge Paper Manager Description - 이 use case는보충할용지의매수를입력받는다. - 입력한용지의매수만큼프린터의용지를보충한다. Use Case Actors Identify User Manager Description - 관리자로로그인한경우에생성된계정의정보를확 인할수있다. Use Case Actors Identify Money Manager Description - 관리자로로그인한경우에지금까지의총매출을확 인할수있다. 44

45 Activity Define Business Use Cases Rank use cases Rank Use Case Number & Names Category High 1. Login Primary High 2. Logout Primary High 3. Make Account Primary High 4. Identify Balance Primary High 5. Recharge Balance Primary High 6. Request Print Primary High 7. Check Balance Primary High 8 Identify Paper Primary High 9. Recharge Paper Primary High 10. Identify User Primary High 11. Identify Money Primary 45

46 Activity Define Business Concept Model Identify the business concept Account Balance Print Manage Access login logout Charge 46

47 Activity Define System Test Cases Identify requirements and use cases Ref. # Function Use Case Number & Names R 1.1 System Access 1. Login R 1.1 System Access 2. Logout R 1.2 Make Account 3. Make Account R 1.3 Identify Balance 4. Identify Balance R 1.4 Recharge Balance 5. Recharge Balance R 2.1 Request Print 6. Request Print R 2.2 Check Balance 7. Check Balance R 3.1 Identify Paper 8 Identify Paper R 3.2 Recharge Paper 9. Recharge Paper R 3.3 Identify User 10. Identify User R 3.4 Identify Money 11. Identify Money 47

48 Activity Define System Test Case Define system test plan and mapping with system function Brute force 방식으로생성 Test Number Test 항목 Description Use Case System Function 1 로그인시험 Id, pw 를입력하고로그인시도를하여로그인기능 test 1. Login R 로그아웃시험로그아웃버튼을눌러로그아웃기능 test 2. Logout R 계정생성시험 계정생성데이터를입력하여계정생성기능 test 3. Make Account R 잔액확인시험잔액확인버튼동작여부 test 4. Identify Balance R 잔액충전시험금액을입력하고잔액충전기능 test 5. Recharge Balanc e R 인쇄버튼시험 인쇄매수를입력하고인쇄기능 test 6. Request Print R 잔액체크시험 7. Check Balance R 용지확인시험 용지잔량출력 test 8 Identify Paper R 용지충전시험 용지충전 test 9. Recharge Paper R 사용자목록확인시험 전체사용자목록출력 test 10. Identify User R 수익확인시험 총수익출력 test 11. Identify Money R

49 Stage Build 1000 Plan and Build Elaboration Deployment Konkuk University 49

50 6 Phases of Build Stage 1000 Plan and Build Elaboration Deployment Cycle 1 Cycle n00 Cycle n 2110 Revise 2120 Sync. Plan Artifacts 2130 Analyze 2140 Design 2150 Construct 2160 Test 50

51 Phase Revise Plan 2110 Revise 2120 Sync. Plan Artifacts 2130 Analyze 2140 Design 2150 Construct 2160 Test

52 Phase Revise Plan 2110 Revise Plan 2120 Sync. Artifacts Description Correct and enhance the project plan and requirement definition based on the intermediate deliverables Input : intermediate deliverables Output : A refined project plan, a refined requirement specification Steps 52

53 Phase Synchronize Artifacts 2110 Revise 2120 Sync. Plan Artifacts 2130 Analyze 2140 Design 2150 Construct 2160 Test

54 Phase Synchronize Artifacts Synchronize Revise Plan Artifacts 2130 Analyze Description Configure and manage various types of artifacts (Project Repository) Control versions and variations Input : Output : Steps 54

55 Phase Analyze 2110 Revise 2120 Sync. Plan Artifacts 2130 Analyze 2140 Design 2150 Construct 2160 Test

56 Phase Analyze Phase 2030 Activities a. if not yet done b. ongoing c. optional 2130 Analyze 2131 Define Essential Use Cases a 2132 Refine Use Case Diagrams 2133 Define Domain Model 2134 Refine Glossary b 2135 Define System Sequence Diagrams 2136 Define Operation Contracts 2137 Define State Diagrams c 2138 Refine System 2139 Analyze (2030) Test Case Traceability Analysis 56

57 Activity Define Essential Use Cases 2131 Define Essential Use Cases a 2132 Refine Use Case Diagrams Description Add event flows to business use case(high-level) descriptions Input : business use case descriptions (activity 1006) Output : An essential use case descriptions Standard applied : expanded use case format 57

58 Activity Define Essential Use Cases Step 1. Select each use case from business use cases 2. Identify system functions related to the selected use case from requirements specification 3. Identify related use cases to the selected use case from business use cases 4. Identify courses of events for each use case from the requirements specification Typical courses of events (main event flow) Alternative courses of events Exceptional courses of events 5. Write essential use cases based on typical and alternative courses of events flows by applying expanded use case format. 58

59 Activity Define Essential Use Cases Expanded Use Case Format Use case: Use Case Name Actors: Actor Name Purpose: The purpose of Use Case Overview: The overview of Use Case Type: Primary, Secondary, or Optional Cross References: System functions in Req. Spec Pre-Requisites: An essential pre-condition Typical Courses of Events: Abstract scenario about the flow of events Alternative Courses of Events: Exceptional Courses of Events: define exceptional cases 59

60 Activity Define Essential Use Cases Example: Buy Items Use Case Actor Purpose Overview Type Cross Reference Pre-Requisites Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events Buy Items Customer, Cashier Capture a sale and its payment A Customer arrives at a checkout with items to purchase. The Cashier records the items and collects a payment, which may be authorized. On completion, the Customer leaves with the items. Primary and Essential Functions: R1.1, R1.2, R1.3, R1.7, R1.9, R2.1, R2.2, R2.3, R2.4 Use Cases: Log In use case N/A (A) : Actor, (S) : System 1. (A) This use case begins when a customer arrives at the POST to checkout with items to purchase. 2. (A) The Cashier records each item.(e1) 3. (S) Determines the item price and adds the item information to the running sales transaction. 4. (A) On completion of item entry, the cashier indicates to the POST that item entry is complete. 5. (S) Calculates and presents the sale total. 6. (A) The Cashier tells the customer the total. E1: If invalid item identifier entered, indicate error. 60

61 Activity Refine Use Case Diagrams 2131 Define Essential Use Cases 2132 Refine 2133 Define Use Case Diagrams Domain Model Description Validate and modify the Business Use-Case Diagram Input : business use case model, essential use case descriptions Step Output : A refined use case diagram Standard applied : UML s use case diagram 1. Review business use case diagrams according to essential use case descriptions 2. Refine use case diagrams by adding or refining use cases and relationships 61

62 Activity Define Domain Model 2132 Refine 2133 Define 2134 Refine b Use Case Diagrams Domain Model Glossary Description Define domain concept model by reviewing input artifacts Input : essential use case descriptions, business concept model Output : A conceptual class diagram Standard applied : UML s use case diagram What is domain model? A representation of conceptual classes identified from a real world Illustrates meaningful conceptual classes in a problem domain. Conceptual models Widely used as a source of inspiration for designing software objects. 62

63 Activity Define Domain Model Step 1. List concepts(domain class) from use cases or business concept model Guideline 1 Identify concepts by making a list of candidate concepts from the Concept Category List Guideline 2 Identity the noun and noun phrases in expanded use cases description and consider them as candidate concepts or attributes 63

64 Activity Define Domain Model By using guideline 1 Concept Category List may contain many common categories that are usually worth to consider Concept Category Examples Physical or tangible objects Specifications, designs, or descriptions of things Places Transactions Transaction line items Roles of people Containers of other things Things in a container Other computer or electro-mechanical systems external to our system POST Product Specification Store Sale Payment Sales Line Item Cashier Store Item Credit Card Authorization System 64

65 Activity Define Domain Model By using guideline 2 The fully dressed use cases are an excellent description Scenario of the use case or use case descriptions can be used. Main Success Scenario (or Basic Flow): 1. Customer arrives at a POS checkout with goods and/or services to purchase. 2. Cashier starts a new sale. 3. Cashier enters item identifier. 4. System records sale line item and presents item description, price, and running total. Price is calculated from a set of price rules. 5. System presents total price with taxes calculated. 6. Cahier tells Customer the total, and asks for payment. 7. Customer pays and System handles payment. 8. System logs the completed sale and sends sale and payment information to external accounting (for accounting and commissions) and inventory system (to update inventory). 9. System presents receipt. 10. Customer leaves with receipt and goods (if any). Register Product Specification Item Sales Item Store Cashier Sale Customer Payment Manager Product Catalog 65

66 Activity Define Domain Model 2. Assign class names into concepts Use the existing names in the domain Do not add things that are not there 3. Identify associations according to association categories Association Category Identified Associations A is a physical part of B A is a logical part of B A is physically contained in/on B A is logically contained in B A is a description for B A is a line item of a transaction or report B A is known/logged/recorded/reported/captured in B A is a member of B A is an organizational submit of B Drawer POST SalesLineItem Sale POST Store Item Shelf ItemDescription Catalog ItemDescription Item SalesLineItem Sale Sale POST Cashier Store Department Store 66

67 Activity Define Domain Model 4. Assign priorities into identified associations High priority association categories are A is a physical or logical part of B. A is physically or logically contained in/on B. A is recorded in B. Should avoid showing redundant or derivable associations 5. Assign names into associations Type Name Verb Phrase Type Name Association names should start with a capital letter. Captures Paid-by POST Sale Payment 67

68 Activity Define Domain Model 6. Add multiplicity into the ends of an association Store Stocks 1 * Item 7. Identify attributes by reading requirement specifications, current use cases under consideration, simplification, clarification, and assumption documents Attributes should be simple attributes or pure data values Boolean, Date, Number, String, Time Address, Color, Geometrics(Point, Rectangle, ), Phone Number, Social Security Number, Universal Product Code(UPC), ZIP or postal codes, Enumerated types. Cashier name currentpost Not a simple attribute Cashier Uses name 1 1 POST number 68

69 Activity Define Domain Model 8. Draw them in a conceptual class diagram Slaes LineItem Records-sale-of Item quantity Contained-in 1..* 1 Stocked-in * 1 date time Sale Store address name 69

70 Activity Refine Glossary b Define Refine 2135 Define System Domain Model Glossary Sequence Diagrams Description Step Lists and refines all the terms in order to improve communication and reduce the risk of misunderstanding Input : term dictionary, essential use case descriptions, conceptual class diagram Output : A refined term dictionary 1. Refine terms defined in the Plan and Elaborate Phase(use cases, attributes, concept, etc.) during development cycle. 2. Record terms as following format: Term Category Comments Payment Concept (Class) a cash payment 70

71 Activity Define System Sequence Diagrams 2134 Refine b Glossary 2135 Define System 2136 Define Sequence Diagrams Operation Contracts Description Illustrates events from actors to systems. To investigate the system to build Input : essential use case descriptions, use case diagram Output : A sequence diagram 71

72 Activity Define System Sequence Diagrams What is a system sequence diagram(ssd)? A picture that shows the events that external actors generate, their orders, and inter-system events All systems are treated as a black box The emphasis of the diagram is events that cross the system boundary from actors to systems SSDs should be defined for Main success scenarios Frequent, complex, or alternative scenarios 72

73 Activity Define System Sequence Diagrams Step 1. Draw a black box representing the system based on a use case 2. Identify each actor that directly operate on the system from the typical(normal) course of events in a use case Draw a line for each actor Actor 1 Actor 2 :System 73

74 Activity Define System Sequence Diagrams 3. Determine system boundary - Hardware/software boundary of a device or computer system - Department of an organization or Entire organization Identify the system(external) events that each actor generates by according to typical course of events in a use case Name system events - Should be expressed at the level of intent rather than of the physics - Name a system event with a verb and an objective like enteritem Scenario: Buy Items :System Cashier enteritem(upc, quantity) endsale( ) makepayment(amount) System Boundary 74

75 Activity Define System Sequence Diagrams 4. Include the use case text which corresponds to system event to the left of the system sequence diagram USE CASE: Buy Items Typical Course of Events 1. This use case begins when a Customer arrives at the POST to checkout with items to purchase. 2. The Cashier records the universal product code(upc) from each item. If there is more than one of the same item, the Cashier can enter the quantity as well. 3. System determines the item price and adds the item information to the running sales transaction. The description and price of the current item are displayed. Cashier enteritem(upc, quantity) endsale( ) makepayment(amount) :System 75

76 Activity Define Operation Contracts Define 2137 c Define System Define Sequence Diagrams Operation Contracts State Diagrams Description Define contracts for system operations Input : system sequence diagram, conceptual class diagram Output : Operation Contracts What is a contract? A document that describes what an operation commits to achieve Written for each system operation to describe its behavior System Operation Contract : Describes changes in states of overall system when a system operation is invoked 76

77 Activity Define Operation Contracts Step 1. Identify system operations from system sequence diagrams A system operation : an operation of the system that executes in response to a system event in sequence diagram. 2. Fill in operation name sections with contract s names Name: enteritem(upc: number, quantity: integer) 3. Fill in responsibilities sections Responsibilities: Enter sale of an item and add it to the sale. Display the item description and price. 4. Fill in post-condition sections Post-conditions are declarations about the system state that are true when the operation has finished. 5. Fill in pre-condition sections Pre-conditions define assumptions about the state of the system at the beginning of the operation. 6. Fill in other (optional) sections 77

78 Activity Define Operation Contracts Operation Contracts Format Name Responsibilities Type Cross References Notes Exceptions Output Pre-conditions Post-conditions Name of operation, and parameters An informal description of the responsibilities that the operation must fill Name of type(concept, software class, interface) System function reference numbers, use cases, etc. Design notes, algorithms, and so on. Exceptional cases Non-UI outputs, such as messages or records that are sent outside of the system Assumptions that the state of the system before execution of the operation The state of the system after completion of the operation 78

79 Activity Define Operation Contracts Contracts and Other Artifacts Operation: endsale :System Pre-conditions: Post-conditions: Operation: enteritem USE CASE: Buy Items Typical Course of Events 1. This use case begins Cashier enteritem(upc, quantity) endsale( ) makepayment(amount) System endsale( ) enteritem( ) makepayment( ) Pre-conditions: Post-conditions: Operation: makepayment Use-Case System Sequence Diagram System Operations Pre-conditions: Post-conditions: Contracts 79

80 Activity Define State Diagrams 2136 Define 2137 Define c 2138 Refine System Operation Contracts State Diagrams Test Plan Description Describes all possible states of the system, use cases, or objects Input : essential use case diagram, conceptual class diagram Output : A state diagrams Three kinds of State diagrams: 1. Use case state diagram 2. System state diagram 3. Class state diagram 80

81 Activity Define State Diagrams Event A significant or noteworthy occurrence Ex) a telephone receiver is taken off the hook State Condition of an object at a moment in time Ex) a telephone is in the state of being idle after the receiver is placed on the hook and until it is taken off the hook Transition A relationship between two states that indicates that when an event occurs and the object moves from one state to another Ex) when the event off hook occurs, transition occurs from the idle to active state 81

82 Activity Define State Diagrams Use Case State Diagram A state diagram that depicts the overall system events and their sequence within a use case Use Case: Buy Items WaitingForSale enteritem EnteringItems enteritem endsale makepayment WaitingForPayment 82

83 Activity Define State Diagrams Class State Diagram A state diagram that depicts state changes of a class across all the use cases Identify a class from interaction diagram A union of all the use case state diagrams enteritem(upc,qty) :POST 1: [new sale] create( ) 3: makelineitem(spec,qty) :Sale 2: spec := specification(upc) POST Class :Product Catalog Waiting ForSale enteritem EnteringSale 83

84 Activity Define State Diagrams System State Diagram Identify system events from system sequence diagram Determine sequence of system events Assign system events into transition of state diagram This is an optional activity 84

85 Activity Refine System Test Case 2137 Define c 2138 Refine System 2139 Analyze (2030) State Diagrams Test Case Traceability Analysis Description Refine system test plan by using additional information Input : essential use case description, system test plan, sequence diagram Output : refined system test plan Step : Refine the results of activity 1009 with the results of analyze process 85

86 Activity Analyze (2030) Traceability Analysis 2138 Refine System 2139 Analyze (2030) Test Case Traceability Analysis Description Step Analysis the connection of results which are the results of analyze (2030) step Identify the connection of use cases, system sequence diagram and operation contracts Input : Essential use case description, sequence diagram operation contracts Output : Traceability analysis result Writing the relations about the results of each step 86

87 Activity Analyze (2030) Traceability Analysis Example of Analyze traceability 87

88 Phase Analyze -Case Study Revise 2120 Sync. Plan Artifacts 2130 Analyze 2140 Design 2150 Construct 2160 Test

89 Phase Analyze Phase 2030 Activities a. if not yet done b. ongoing c. optional 2130 Analyze 2131 Define Essential Use Cases a 2132 Refine Use Case Diagrams 2133 Define Domain Model 2134 Refine Glossary b 2135 Define System Sequence Diagrams 2136 Define Operation Contracts 2137 Define State Diagrams c 2138 Refine System 2139 Analyze (2030) Test Plan Traceability Analysis 89

90 Activity Define Essential Use Cases Use Case Actor Login User, Manager Purpose User 와 manager 가시스템에접속하기위해로그인할수잇도록한다. Overview Type Cross Reference Pre-Requisites Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events ID/PW 를입력받아계정과비밀번호가일치하는경우 user or manager 로로그인한다. 일치하는계정이없는경우로그인되지않는다. Primary Functions: R 1.1, Use Cases: N/A (A) : Actor, (S) : System 1. (A) : ID/PW 를입력한다. 2. (A) : 로그인을요청한다. 3. (S) : 일치하는계정이있는지검사후존재하는경우 user or manage 로접속승인한다. E1. 일치하는계정이없는경우접속되지않는다. 90

91 Activity Define Essential Use Cases Use Case Actor Logout User, Manager Purpose 접속된 User or Manager 의접속을종료한다. Overview Type Cross Reference Logout 버튼을누르면접속된 user or manager 의접속을종료하고초기화면으로돌아간다. Primary Functions: R 1.1 Use Cases: Pre-Requisites Login 이선행되어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) : Actor, (S) : System 1. (A) : 로그아웃을요청한다. 2. (S) : 시스템접속을종료하고초기화면으로돌아간다. N/A 91

92 Activity Define Essential Use Cases Use Case Actor Make Account User Purpose 새로운사용자계정을생성한다. Overview Type Cross Reference Pre-Requisites Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events 생성할계정의 id/pw 를입력후생성버튼을눌러새로운사용자계정을생성할수있다. 새로생성한계정은동일한 id 가없는경우에만생성된다. Primary Functions: R 1.2 Use Cases: N/A (A) : Actor, (S) : System 1. (A) : 계정생성을요청한다. 2. (A) : ID/PW 를입력한다. 3. (S) : ID/PW 를확인하여기존사용자와비교한다. 4. (S) : 계정생성에적합한경우사용자계정을생성한다. E1. 동일한 id 를가진계정이이미존재하는경우생성하지않는다. 92

93 Activity Define Essential Use Cases Use Case Actor Identify Balance User Purpose 사용자계정에남아있는잔액을확인한다. Overview 사용자의잔액확인요청시남아있는잔액을확인하여출력한다. Type Cross Reference Primary Functions: R 1.3 Use Cases: Pre-Requisites 사용자로 login 이선행되어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) : Actor, (S) : System 1. (A) : 잔액확인을요청한다. 2. (S) : 해당사용자의잔액을확인후출력한다. 93

94 Activity Define Essential Use Cases Use Case Actor Recharge Balance User Purpose 해당사용자계정에잔액을충전한다. Overview 입력받은금액만큼해당사용자계정에잔액을충전한다. Type Cross Reference Primary Functions: R 1.4 Use Cases: Pre-Requisites 사용자로 login 이선행되어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) : Actor, (S) : System 1. (A) : 금액을입력한다. 2. (A) : 잔액충전을요청한다. 3. (S) : 입력받은금액만큼사용자계정에잔액을충전한다. 94

95 Activity Define Essential Use Cases Use Case Request Print Actor User Purpose 사용자의요청을받아인쇄를진행한다. Overview 사용자의요청을받아입력된매수만큼인쇄를진행한다. Type Cross Reference Primary Functions: R 2.1, R 2.2 Use Cases: Pre-Requisites 사용자로 login 이선행되어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) : Actor, (S) : System 1. (A) : 인쇄매수를입력하고인쇄를요청한다. 2. (S) : 인쇄매수에따라필요한요금을계산한다. 3. (S) : 사용자계정의잔액과비교한다. 4. (S) : 수익을기록한다. 5. (S) : 인쇄를진행한다. E 1. 입력매수에비해잔액이부족한경우인쇄를진행하지않는다. E 2. 용지잔량이부족할경우인쇄가되지않는다. 95

96 Activity Define Essential Use Cases Use Case Actor Check Balance Event-based Purpose 인쇄진행시잔액과필요요금을확인및비교한다. Overview Type Cross Reference 사용자의요청에의해인쇄진행시시스템의요청을받아필요요금과잔액을체크한다. Primary Functions: R 2.1, R 2.2 Use Cases: Request Print Pre-Requisites 시스템에인쇄요청후에동작한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) : Actor, (S) : System 1. (S - A) : 사용자의인쇄요청을받은시스템이잔액확인을요청한다. 2. (S) : 사용자계정의잔액과필요한요금비교를통해인쇄가능여부를체크한다. E 1. 잔액이부족한경우인쇄불가신호를보낸다. 96

97 Activity Define Essential Use Cases Use Case Actor Identify Paper Manager Purpose 시스템관리자가프린터에남은용지를확인할수있다. Overview 시스템관리자의요청에따라프린터에남은용지잔량을확인한다. Type Cross Reference Primary Functions: R 3.1 Use Cases: Pre-Requisites Manager 로로그인되어있어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) : Actor, (S) : System 1. (A) : 시스템에용지잔량확인을요청한다. 2. (s) : 남은용지잔량을확인후출력한다. 97

98 Activity Define Essential Use Cases Use Case Actor Identify Paper Manager Purpose 시스템관리자가프린터에남은용지를확인할수있다. Overview 시스템관리자의요청에따라프린터에남은용지잔량을확인한다. Type Cross Reference Primary Functions: R 3.1 Use Cases: Pre-Requisites Manager 로로그인되어있어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) : Actor, (S) : System 1. (A) : 시스템에용지잔량확인을요청한다. 2. (s) : 남은용지잔량을확인후출력한다. 98

99 Activity Define Essential Use Cases Use Case Actor Recharge Paper Manager Purpose 시스템관리자의요청에따라시스템의용지잔량을충전한다. Overview 시스템관리자가요청한매수만큼시스템의용지잔량을충전한다. Type Cross Reference Primary Functions: R 3.2 Use Cases: Pre-Requisites Manager 로로그인되어있어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) : Actor, (S) : System 1. (A) : 충전할용지매수를입력한다. 2. (A) : 용지충전을요청한다. 3. (s) : 요청받은수만큼의용지를충전한다. E 1. 입력받은매수가없는경우충전이되지않는다. 99

100 Activity Define Essential Use Cases Use Case Actor Identify User Manager Purpose 관리자가사용자들의정보를확인한다. Overview 관리자의요청에따라사용자들의 id/pw, 잔액정보를확인한다. Type Cross Reference Primary Functions: R 3.3 Use Cases: Pre-Requisites Manager 로로그인되어있어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) : Actor, (S) : System 1. (A) : 사용자정보확인을요청한다. 2. (S) : 사용자들의정보를출력한다. 100

101 Activity Define Essential Use Cases Use Case Actor Identify Money Manager Purpose 총수익을확인한다. Overview 관리자의요청에따라지금까지의총수익을확인한다. Type Cross Reference Primary Functions: R 3.4 Use Cases: Pre-Requisites Manager 로로그인되어있어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) : Actor, (S) : System 1. (A) : 수익확인을요청한다. 2. (S) : 지금까지의누적수익을출력한다. 101

102 Activity Define Domain Model List concepts from use cases or business concept model Account Balance Print Manage Access login logout Charge 102

103 Activity Define Domain Model Assign class names into concepts Draw a conceptual class diagram User Manager Printer Account Manager Management System Identify and add associations Association Category A has B Associations ManagementSystem - Printer ManagementSystem - Account Account User Account Manager 103

104 Activity Define Domain Model Add Roles and Multiplicity Account Manager Account Manager Management System Management System 1 Has 0.. * 1 Has 1 1 Has 1 1 Has 1 User Manager Account Printer 104

105 Activity Define Domain Model Draw a conceptual class diagram and add attributes 105

106 Activity Refine Glossary Glossary Description Paper:int allprofit:int currentmode:string currentscreen:string id:string pw:string balance:int 용지잔량 전체수익금 현재로그인된계정의모드 (user, manager) 현재스크린의상태표현시작화면, 계정생성, 유저, 매니저 아이디 비밀번호 User 계정의잔액정보 106

107 Activity Define System Sequence Diagrams Use Case Name of Actor-Activated Event 1. Login enterinfo reqlogin 2. Logout reqlogout 3. Make Account reqmakeacc enteraccinfo reqaccount 4. Identify Balance reqbalance 5. Recharge Balance enterfee reqrecharge 6. Request Print entersheet reqprint 8 Identify Paper req Identify Paper 9. Recharge Paper enterpapernum reqcharge 10. Identify User requserinfo 11. Identify Money reqmoneyinfo 107

108 Activity Define System Sequence Diagrams Use Case : Login 1. 사용자가 id, pw 를입력한다. 2. 사용자가로그인을요청한다. 3. 계정과일치할경우로그인을승인한다. User enterinfo(id, pw) ReqLogin() System 108

109 Activity Define System Sequence Diagrams Use Case : Logout 1. 사용자가 logout 을요청한다. 2. 시스템에서초기화후접속종료한다. User reqlogout() System 109

110 Activity Define System Sequence Diagrams Use Case : make Account 1. 사용자가계정생성을요청한다. 2. 사용자가생성할계정의정보를입력한다. 3. 정보입력후승인을요청한다. 4. 시스템이계정정보확인후계정을생성한다. User reqmakeacc() enteraccinfo(id, pw) System reqaccount() 110

111 Activity Define System Sequence Diagrams Use Case : Identify Balance 1. 사용자가잔액정보확인을요청한다. 2. 시스템이해당사용자의정보를출력한다. User reqbalance() System 111

112 Activity Define System Sequence Diagrams Use Case : Recharge Balance 1. 사용자가충전금액을입력한다. 2. 사용자가잔액충전을요청한다. 3. 시스템이요청받은금액만큼잔액을충전한다. User enterfee() reqrecharge() System 112

113 Activity Define System Sequence Diagrams Use Case : Request Print 1. 사용자가인쇄매수를입력한다. 2. 사용자가출력을요청한다. 3. 시스템이잔액확인후인쇄를진행한다. User entersheet() reqprint() System 113

114 Activity Define System Sequence Diagrams Use Case : Identify Paper 1. 관리자가용지잔량확인을요청한다. 2. 시스템이남은용지잔량을출력한다. Manager req Identify Paper() System 114

115 Activity Define System Sequence Diagrams Use Case : Recharge Paper 1. 관리자가충전할용지매수를입력한다. 2. 용지충전을요청한다. 3. 시스템이입력된매수만큼용지를충전한다. Manager enterpapernum() reqcharge() System 115

116 Activity Define System Sequence Diagrams Use Case : Identify User 1. 관리자가사용자정보를요청한다. 2. 시스템이사용자들의정보를출력한다. Manager requserinfo() System 116

117 Activity Define System Sequence Diagrams Use Case : Identify Money 1. 관리자가수익정보를요청한다. 2. 시스템이전체수익정보를출력한다. Manager reqmoneyinfo() System 117

118 Activity Define Operation Contracts Identify system operations from system sequence diagrams Use Case Name of Actor-Activated Event System Operations 1. Login 1:enterInfo() 1:enterInfo() 2:reqLogin() 2:reqLogin() 2. Logout 3:reqLogout() 3:reqLogout() 3. Make Account 4:reqMakeAcc() 4:reqMakeAcc() 5:enterAccInfo() 6:reqAccount() 5:enterAccInfo() 6:reqAccount() 4. Identify Balance 7:reqBalance() 7:reqBalance() 5. Recharge Balance 8:enterFee() 8:enterFee() 9:reqRecharge() 9:reqRecharge() 6. Request Print 10:enterSheet() 10:enterSheet() 11:reqPrint() 11:reqPrint() 8 Identify Paper 12:req Identify Paper() 12:reqPaperIdentify() 9. Recharge Paper 13:enterPaperNum() 13:enterPaperNum() 14:reqCharge() 14:reqCharge() 10. Identify User 15:reqUserInfo() 15:reqUserInfo() 11. Identify Money 16:reqMoneyInfo() 16:reqMoneyInfo() 118

119 Activity Define Operation Contracts Fill contracts according to the format Name enterinfo Resposibilities id, pw를입력받는다. Type System Cross References R 1.1 Notes Exceptions N/A Output N/A Pre-Conditions N/A Post-Conditions id, pw 정보를화면에출력한다. 119

120 Activity Define Operation Contracts Fill contracts according to the format Name reqlogin Resposibilities id, pw 를확인하고로그인을시도한다. Type System Cross References R 1.1 Notes Exceptions Output Pre-Conditions Post-Conditions id, pw 가일치하지않으면오류메시지를출력하고로그인승인 X N/A N/A Account 의 user, manager instance 와 id, pw 비교일치할경우해당계정으로로그인후화면전환 120

121 Activity Define Operation Contracts Fill contracts according to the format Name reqlogout Resposibilities 시스템에서로그아웃한다 Type System Cross References R 1.1 Notes Exceptions 로그인된상태이어야한다. Output N/A Pre-Conditions N/A Post-Conditions 시스템에서로그아웃된다. 121

122 Activity Define Operation Contracts Fill contracts according to the format Name reqmakeacc Resposibilities 사용자계정생성을요청한다. Type System Cross References R 1.2 Notes Exceptions N/A Output N/A Pre-Conditions N/A Post-Conditions 사용자계정생성상태가된다. 122

123 Activity Define Operation Contracts Fill contracts according to the format Name enteraccinfo Resposibilities 생성할사용자계정정보를입력한다. Type System Cross References R 1.2 Notes Exceptions N/A Output N/A Pre-Conditions N/A Post-Conditions 입력한정보를화면에출력한다. 123

124 Activity Define Operation Contracts Fill contracts according to the format Name reqaccount Resposibilities 정보대로계정생성을요청한다. Type System Cross References R 1.2 Notes Exceptions 동일한 id가존재할경우생성하지않는다. Output User class의 instance Pre-Conditions N/A Post-Conditions 사용자계정을생성한다. 124

125 Activity Define Operation Contracts Fill contracts according to the format Name reqbalance Resposibilities 잔액정보확인을요청한다. Type System Cross References R 1.3 Notes Exceptions N/A Output N/A Pre-Conditions 사용자로그인상태이어야한다. Post-Conditions 잔액정보를출력한다. 125

126 Activity Define Operation Contracts Fill contracts according to the format Name enterfee Resposibilities 충전할금액을입력한다. Type System Cross References R 1.4 Notes Exceptions N/A Output N/A Pre-Conditions 사용자로그인상태이어야한다. Post-Conditions 입력한금액을출력한다. 126

127 Activity Define Operation Contracts Fill contracts according to the format Name reqrecharge Resposibilities 잔액충전을요청한다. Type System Cross References R 1.4 Notes Exceptions Output Pre-Conditions N/A User.balance 변경 사용자로그인상태이어야한다. 입력된금액이있어야한다. Post-Conditions 사용자계정에금액을충전한다. 127

128 Activity Define Operation Contracts Fill contracts according to the format Name entersheet Resposibilities 인쇄할매수를입력한다. Type System Cross References R 2.1 Notes Exceptions N/A Output N/A Pre-Conditions 사용자로그인상태이어야한다. Post-Conditions 입력한인쇄매수를출력한다. 128

129 Activity Define Operation Contracts Fill contracts according to the format Name reqprint Resposibilities 인쇄를요청한다. Type System Cross References R 2.1, R 2.2 Notes Exceptions Output Pre-Conditions Post-Conditions 잔액이매수 * 요금보다작으면인쇄가진행되지않는다. 인쇄결과, User.balance 변경 입력된인쇄매수가있어야한다. 사용자로그인상태이어야한다. 사용한금액만큼사용자의잔액이감소된다. 입력된인쇄매수를초기화한다. 129

130 Activity Define Operation Contracts Fill contracts according to the format Name reqpaperidentify Resposibilities 시스템의용지잔량확인을요청한다. Type System Cross References R 3.1 Notes Exceptions N/A Output N/A Pre-Conditions 관리자로그인상태이어야한다. Post-Conditions 용지잔량을출력한다. 130

131 Activity Define Operation Contracts Fill contracts according to the format Name enterpapernum Resposibilities 충전할용지양을입력한다. Type System Cross References R 3.2 Notes Exceptions N/A Output N/A Pre-Conditions 관리자로그인상태이어야한다. Post-Conditions 입력한용지매수를출력한다. 131

132 Activity Define Operation Contracts Fill contracts according to the format Name reqcharge Resposibilities 시스템의용지충전을요청한다. Type System Cross References R 3.2 Notes Exceptions Output Pre-Conditions Post-Conditions N/A Printer.paper 변경 관리자로그인상태이어야한다. 용지매수입력이되어있어야한다. 프린터의용지잔량을충전한다. 화면의입력한용지매수를초기화한다. 132

133 Activity Define Operation Contracts Fill contracts according to the format Name requserinfo Resposibilities 모든사용자계정의정보확인을요청한다. Type System Cross References R 3.3 Notes Exceptions N/A Output N/A Pre-Conditions 관리자로그인상태이어야한다. Post-Conditions 사용자정보를출력한다. 133

134 Activity Define Operation Contracts Fill contracts according to the format Name reqmoneyinfo Resposibilities 수익금확인을요청한다. Type System Cross References R 3.4 Notes Exceptions N/A Output N/A Pre-Conditions 관리자로그인상태이어야한다. Post-Conditions 시스템의전체수익금을출력한다. 134

135 Activity Refine System Test Case Test Number Test 항목 1 1 로그인시험 1-2 로그인시험 2 로그아웃시험 3 계정생성시험 Description 존재하는계정의 Id, pw 를입력하고로그인시도를하여로그인기능 test 존재하지않는계정의 Id, pw 를입력하고로그인시도를하여로그인기능 test 로그인상태에서로그아웃버튼을눌러로그아웃기능 test 계정생성데이터를입력하여계정생성기능 test Use Case System Function 1. Login R Login R Logout R Make Account R 잔액확인시험잔액확인버튼동작여부 test 4. Identify Balance R 잔액충전시험금액을입력하고잔액충전기능 test 5. Recharge Balanc e 6 인쇄버튼시험인쇄매수를입력하고인쇄기능 test 6. Request Print R 잔액체크시험 7 2 잔액체크시험 잔액이충분한상태에서인쇄매수를입력하고인쇄기능 test 수행 잔액이부족한상태에서인쇄매수를입력하고인쇄기능 test 수행 R Check Balance R Check Balance R 용지확인시험용지잔량출력버튼을통해기능 test 8 Identify Paper R 용지충전시험충전할용지수량을입력하고용지충전 test 9. Recharge Paper R 사용자목록확인시험전체사용자목록출력 test 10. Identify User R 수익확인시험총수익출력 test 11. Identify Money R

136 Activity Analyze (2030) Traceability Analysis Relations between system function(requirements spec), use cases and operations 136

137 Phase Design 2110 Revise 2120 Sync. Plan Artifacts 2130 Analyze 2140 Design 2150 Construct 2160 Test

138 Phase Design Phase 2040 Activities a. In parallel with interaction diagrams b. Varied order 2140 Design 2141 Design Real Use Cases 2142 Define Reports, 2143 Refine UI, and Storyboards System Architecture b 2144 Define Interaction Diagrams 2145 Define Design a Class Diagrams 2146 Design Traceability Analysis 2147 Define Database Schema 138

139 Activity Design Real Use Cases 2141 Design Real Use Cases 2142 Define Reports, UI, and Storyboards Description It describes real/actual design of the use case in terms of concrete input and output technology and its overall implementation. If a graphical user interface is involved, the real use case will include diagrams of the GUI and discussion of the low-level interactions with interface widgets. Input : Essential Use Case Descriptions Output : Real Use Case Descriptions 139

140 Activity Design Real Use Cases Steps 1. Select each use case from essential use cases 2. Add user interface widgets into the expanded format, and concrete implementation details into the typical courses of events Object Store UPC A Quantity E Price B Descrpt. F Total C Balance G Tendered D Window-1 Enter Item End Sale Make Payment H I J 140

141 Activity Design Real Use Cases Use Case Actor Purpose Overview Type Cross Reference Pre-Requisites UI Widgets Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events Buy Items Version 1 (Cash only) Customer, Cashier Capture a sale and its cash payment A Customer arrives at a checkout with items to purchase. The Cashier records the items and collects cash payment, which may be authorized. On completion, the Customer leaves with the items. Primary and Real Functions: R1.1, R1.2, R1.3, R1.7, R1.9, R2.1 Use Cases: Log In use case N/A Window-1 (A) : Actor, (S) : System 1. (A) This use case begins when a customer arrives at the POST to checkout with items to purchase. 2. (A) For each item, the Cashier types an UPC in A of Window-1. If there is more than one of an item, the quantity may optionally be entered in E. They press B after each item entry. (E1) 3. (S) Adds the item information to the running sales transaction. The description and price of the current item are displayed in B and F of Window1. 4. (A) The Cashier tells the customer the total. E1: If an invalid UPC is entered, indicate an error. 141

142 Activity Define Reports, UI, and Storyboards 2141 Design 2142 Define Reports, 2143 b Refine Real Use Cases UI, and Storyboards System Architecture Description Design UI storyboard and UI components. Input : Requirements Specification, Real Use Case Descriptions Output : UI Storyboard, UI Component Design Specification 142

143 Activity Refine System Architecture 2142 Define Reports, 2143 b Refine UI, and Storyboards System Architecture 2144 Define Interaction Diagrams Description Refine draft system architecture developed in the plan stage Input : Draft System Architecture Output : A package diagram, a deployment diagram Standards Applied UML s Package Diagram UML s Deployment Diagram 143

144 Activity Refine System Architecture Steps (1~3: Deployment diagram, 4~7: Package diagram) 1. Define a 3-tier layered system architecture Presentation Layer : Windows, Reports, and so on Application Logic Layer : Tasks and rules that govern the process Storage Layer : Persistent storage mechanism Presentation POSTApplet Application Logic Record sales Authorize payments Storage Database 144

145 Activity Refine System Architecture 2. Decompose the application logic tier into finer layers Domain object layer Classes representing domain concepts Service layer Service objects for functions such as database interaction, reporting, communications, security, and so on Presentation POSTApplet Application Logic Payment Database Interface Sale ReportGenerator Domain Layer Services Layer Storage Database 145

146 Activity Refine System Architecture 3. Assign each tier into different physical computing nodes, and/or different processes Client computer Presentation POSTApplet Application Server Application Logic Payment Database Interface Sale ReportGenerator Data Server Storage Database 146

147 Activity Refine System Architecture 4. Identify packages Place elements together that are in the same subject area-closely related by concept or purpose, or that are in a type hierarchy together that participate in the same use cases or that are strongly associated Core POST Store Manager Sales Sales Sale Cashier Customer LineItem Products Item Product Catalog Product Specification 147

148 Activity Refine System Architecture 5. Layers of the architecture : vertical tiers Partitions of the architecture : horizontal division of relatively parallel subsystems Domain Core Elements Sales Products Vertical Layers Services Relational Database Interface Communication Object Database Interface Reporting Horizontal Partitions 148

149 Activity Refine System Architecture 6. Determine package dependencies Dependency relationships indicates coupling between packages. Domain Core Elements Sales Dependency 149

150 Activity Refine System Architecture 7. Assign visibility between package classes. Access into the Domain packages Some packages, typically the presentation package, have visibility into many of the classes representing domain concepts Access into the Service packages Some packages, typically the Domain and Presentation packages, have visibility into only one or a very few classes in each particular Service package Access into the Presentation packages No other packages have direct visibility to the Presentation layer 150

151 Activity Refine System Architecture Domain Visibility into many classes from other packages Sale Payment Product Catalog Product Description RDB Interface Security... DBFacade get(id) : Object save(object) Broker Proxy... Security Facade adduser(user) User Visibility into one or only a few classes in each Service package. 151

152 Activity Define Interaction Diagrams 2143 b Refine System Architecture 2144 Define 2145 Define Design a Interaction Diagrams Class Diagrams Description Collaboration diagrams illustrate object interactions in a graph or network format. To illustrate how objects interactions via messages to fulfill tasks. Input : Real Use Case Descriptions Output : An interaction diagram Standards Applied UML s Sequence Diagram or Collaboration Diagram 152

153 Activity Define Interaction Diagrams Interaction diagram is a generalization of two more specialized UML diagram types: Collaboration diagram Sequence diagram The both can be used to express similar message interactions Collaboration Diagram Illustrates object interactions in a graphs or network format Sequence Diagram Illustrates interactions in a kind of fence format, in which each new object is added to the right. 153

154 Activity Define Interaction Diagrams Sequence Diagram vs. Collaboration Diagram Type Strengths Weaknesses Sequence Diagram Collaboration Diagram Clearly shows sequence or time ordering of messages Space economical and flexible to add new objects in two dimensions Better to illustrate complex branching, iteration, and concurrent behavior Forced to extend to the right, when adding new objects with consuming horizontal space Difficult to see sequence of messages 154

155 Collaboration diagram example 155

156 Sequence diagram example 156

157 Activity Define Interaction Diagrams Steps 1. Draw up actors 2. Deploy objects or classes participating each use case from the real use case descriptions and conceptual class diagram 3. Design a system of interacting objects to fulfill the tasks. Regard the use case description as a starting point 157

158 Activity Define Interaction Diagrams Illustrating Classes and Instances Sale Class :Sale Instance s1:sale Named Instance 158

159 Activity Define Interaction Diagrams Illustrating Links and Parameters A link is a connection path between two instances. Msg1( ) :POST 1: addpayment(amount:money) :Sale Illustrating a Return Value Msg1( ) :POST 1: tot := total( ): Integer :Sale 159

160 Activity Define Interaction Diagrams Message Syntax return := message(parameter : parametertype) : returntype Standard UML message syntax Msg1( ) :POST 1: addpayment(amount: Money) :Sale Illustrating Messages to Self ( This ) :POST Msg1( ) 1: clear( ) 160

161 Activity Define Interaction Diagrams Illustrating Iterations Iteration Msg1( ) :POST 1*: li := nextlineitem( ): SalesLineItem :Sale Iteration Clause Msg1( ) :POST 1*: [i:=1..10] li := nextlineitem( ): SalesLineItem :Sale 161

162 Activity Define Interaction Diagrams Illustrating Creation of Instances Creating message with optional initializing parameters Illustrating Conditional Messages Msg1( ) :POST 1: [new sale] create(cashier) :Sale 162

163 Activity Define Interaction Diagrams Illustrating Message Number Sequencing The first message is not numbered The order and nesting of subsequent messages are shown with a legal numbering scheme msg1( ) :ClassA 1: msg2( ) :ClassB 1.1: msg3( ) :ClassC 163

164 Activity Define Interaction Diagrams Illustrating Mutually Exclusive Conditional Paths msg1( ) :ClassE :ClassA 2: msg6( ) unconditional after either msg2 or msg4 1a: [test1] msg2( ) 1a and 1b are mutually exclusive conditional paths :ClassB 1b: [not test1] msg4( ) 1a.1: msg3( ) :ClassD 1b.1: msg5( ) :ClassC 164

165 Activity Define Interaction Diagrams Illustrating Collections A multi-object, or set of instances, may be shown with a stack icon sales:sale 165

166 Activity Define Interaction Diagrams Illustrating Messages to Multi-objects A message to a multi-object icon indicates that it is sent to the collection object itself Msg1( ) :Sale 1: s :=size( ) : int :SalesLineItem 166

167 Activity Define Interaction Diagrams Illustrating Messages to a Class Object Messages may be sent to a class itself not an instance, in order to invoke class methods Msg1( ) :Sale 1: d1 := today( ): Date Date 167

168 Activity Define Design Class Diagrams 2144 Define 2145 Define Design a 2146 Design Interaction Diagrams Class Diagrams Traceability Analysis Description Describes more details in conceptual class diagram Add navigability, dependency, data type, operation signature, parameters, return types, and so on. Input : Interaction Diagram, Conceptual Class Diagram Output : A Design Class Diagram Standards Applied UML s Class Diagram 168

169 Activity Define Design Class Diagrams Steps 1. Identity all classes 2. Draw them in a class diagram 3. Add attributes 4. Add method names 5. Add type information to the attributes and methods 6. Add the associations 7. Add navigability arrows 8. Add dependency 169

170 Activity Define Design Class Diagrams Step 1. Identify all classes by scanning all interaction diagrams listing classes mentioned POST ProductCatalog Store Payment Sale ProductSpecification SalesLineItem 170

171 Activity Define Design Class Diagrams Step 2. Draw a class diagram includes classes found in Step 1 POST ProductCatalog ProductSpecification Store Sale SalesLineItem Payment 171

172 Activity Define Design Class Diagrams Step 3. Add attributes Include the attributes previously identified in the conceptual class diagram that are also used in the design POST ProductCatalog quantity ProductSpecification description price UPC address name Store Sale date iscomplete time SalesLineItem quantity amount Payment 172

173 Activity Define Design Class Diagrams Step 4. Add method names Identify method of each class by scanning the interaction diagrams The messages sent to a class in interaction diagrams must be defined in the class Don t add creation methods and constructors accessing methods messages to a multiobject Sale :POST 3: makelineitem(spec, qty) :Sale date iscomplete time makelineitem() 173

174 Activity Define Design Class Diagrams POST endsale( ) enteritem( ) makepayment( ) ProductCatalog quantity Specification( ) ProductSpecification description price UPC address name Store addsale( ) Sale date iscomplete time becomecomplete( ) makelineitem( ) makepayment( ) total( ) SalesLineItem quantity subtotal( ) amount Payment 174

175 Activity Define Design Class Diagrams Step 5. Add type information Show types of attributes, method parameters, and method return values optionally. Determine whether to show type information or not When using a CASE tool with automatic code generation, exhaustive details are necessary If it is being created for software developers to read, exhaustive detail may adversely effect the noise-to-value ratio 175

176 Activity Define Design Class Diagrams POST endsale( ) eneritem(upc : integer, qty : integer) makepayment(cash Tendered : Quantity) ProductCatalog specification(upc : integer) : ProductSpecification) ProductSpecification description : Text price : Quantity upc : UPC Store address : Address name : Text addsale(s:sale) date : Date iscomplete : Boolean time : Time Sale becomecomplete( ) makelineitem(spec : ProdSpecification, qty : integer) makepayment(cashtendered : Quantity) total( ) : Quantity SalesLineItem quantity : integer subtotal( ) : Quantity Payment amount : Quantity Return type of method void : no return type Konkuk University 176

177 Activity Define Design Class Diagrams Step 6. Add associations Choose associations by software-oriented need-to-know criterion from the interaction diagrams Step 7. Add navigability arrows According to the interaction diagram Common situations to define navigability A sends a message to B A creates an instance B A needs to maintain a connection to B Konkuk University 177

178 Activity Define Design Class Diagrams POST class will probably have an attribute pointing to a Sale object. Navigability arrow indicates POST objects are connected uni-directoinally to Sale object. POST endsale( ) eneritem( ) makepayment( ) 1 Captures Absence of navigability arrow indicates no connection from Sale to POST. 1 date iscomplete time Sale becomecomplete( ) makelineitem( ) makepayment( ) total() 178

179 Activity Define Design Class Diagrams Step 8. Add dependency relationship when there is non-attribute visibility between classes Non-attribute visibility : parameter, global, or locally declared visibility Store address : Address name : Text addsale( ) Houses 1 Looks-in 1 1 ProductCatalog specification( ) Contains 1 1..* ProductSpecification description : Text price : Quantity upc : UPC 1 POST endsale( ) eneritem( ) makepayment( ) 1 1 Logs-completed Captures 1 * Sale date : Date iscomplete : Boolean time : Time becomecomplete( ) makelineitem( ) makepayment( ) total( ) Contains 1 1..* 1 Paid-by 1 Describes SalesLineItem quantity : integer subtotal( ) Payment amount : Quantity 179

180 Activity Design Traceability Analysis 2145 Define Design 2146 Design 2147 Define Class Diagram Traceability Analysis Database Schema Description Analysis the connection of results which are the results of analyze and design step Identify the connection of use cases and class, methods and test cases Express the traces about requirements to test cases Input : Real use case description, design class diagram, functional requirements, System test cases Output : Traceability analysis result 180

181 Activity Design Traceability Analysis Steps: 1. Identify the related information of essential and real use cases 1:1 or more 2. Identify the traces between operation contracts(2036) and operations in interaction diagram(2044) Express the direct contacts or hidden contacts 3. Identify the relations of the results of step 2 and class diagram (class, method) 4. Writing the results of the analysis 5. If the operations which are not expressed directly in this step (e.g. GUI related operation like text input), they should be written by

182 Activity Design Traceability Analysis Draw up the traces between operation contracts(2036) and operations in interaction diagram(2044) Direct : Operation which is connected directly Hidden : Operations which are used to operate the function invisibly Direct Hidden 182

183 Activity Design Traceability Analysis The results of step 3 and 4 183

184 Activity Design Traceability Analysis 184

185 Activity Define Database Schema 2146 Design 2147 Define Traceability Analysis Database Schema Description Design database, table, and records Map classes into tables Input : Design Class Diagram Output : A Database Schema Steps: 1. Map classes into tables 2. Map relationships between classes into relations between tables 3. Map attributes into fields of tables 4. Design Schema 185

186 Phase Design -Case Study Revise 2120 Sync. Plan Artifacts 2130 Analyze 2140 Design 2150 Construct 2160 Test

187 Activity Design Real Use Cases Use Case Actor Login User, Manager Purpose User 와 manager 가시스템에접속하기위해로그인할수잇도록한다. Overview Type ID/PW 를입력받아계정과비밀번호가일치하는경우 user or manager 로로그인한다. 일치하는계정이없는경우로그인되지않는다. Primary Cross Reference Functions: R 1.1, Pre-Requisites Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events N/A (A) : Actor, (S) : System 1. (A) : 화면에 ID, PW 를입력한다. 2. (A) : 로그인버튼을누른다. 3. (S) : Account 의 User instance 들의 id, pw 와비교한다. 4. (S) : 일치하는 instance 가존재하는경우 user 로로그인한다. 5. (S) : Account 의 Manager instance 들의 id, pw 와비교한다. 6. (S) : 일치하는 instance 가존재하는경우 manager 로로그인한다. 7. (S) : 현재로그인된계정을기록한다. E1. 일치하는계정이없는경우접속되지않는다. 187

188 Activity Design Real Use Cases Use Case Actor Logout User, Manager Purpose 접속된 User or Manager 의접속을종료한다. Overview Type Logout 버튼을누르면접속된 user or manager 의접속을종료하고초기화면으로돌아간다. Primary Cross Reference Functions: R 1.1 Pre-Requisites Login 이선행되어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) : Actor, (S) : System 1. (A) : 로그아웃버튼을누른다. 2. (S) : ManagementSystem 의현재로그인정보를초기화한다. 3. (S) : 초기화면으로돌아간다. N/A 188

189 Activity Design Real Use Cases Use Case Actor Make Account User Purpose 새로운사용자계정을생성한다. Overview Type 생성할계정의 id/pw 를입력후생성버튼을눌러새로운사용자계정을생성할수있다. 새로생성한계정은동일한 id 가없는경우에만생성된다. Primary Cross Reference Functions: R 1.2 Pre-Requisites Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events N/A (A) : Actor, (S) : System 1. (A) : 계정생성버튼을누른다. 2. (S) : 계정생성화면으로전환한다. 3. (A) : 화면에 id, pw 를입력한다. 4. (A) : 생성요청버튼을누른다. 5. (S) : Account 의 user instance 의 id 를확인하여기존사용자와비교한다. 6. (S) : 일치하는 id 가없는경우 user instance 를생성하여사용자계정을생성하고초기정보를입력한다. E1. 동일한 id 를가진계정이이미존재하는경우생성하지않는다. 189

190 Activity Design Real Use Cases Use Case Actor Identify Balance User Purpose 사용자계정에남아있는잔액을확인한다. Overview 사용자의잔액확인요청시남아있는잔액을확인하여출력한다. Type Primary Cross Reference Functions: R 1.3 Pre-Requisites 사용자로 login 이선행되어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) : Actor, (S) : System 1. (A) : 잔액확인버튼을누른다. 2. (S) : 현재로그인된 user instance 에서 balance 값을출력한다. 190

191 Activity Design Real Use Cases Use Case Actor Recharge Balance User Purpose 해당사용자계정에잔액을충전한다. Overview 입력받은금액만큼해당사용자계정에잔액을충전한다. Type Primary Cross Reference Functions: R 1.4 Pre-Requisites 사용자로 login 이선행되어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) : Actor, (S) : System 1. (A) : 화면에금액을입력한다. 2. (A) : 잔액충전버튼을누른다. 3. (S) : 입력받은금액만큼해당 user instance.balance 에증가시킨다. E1. 음수값은처리하지않고오류메시지를보낸다. 191

192 Activity Design Real Use Cases Use Case Actor Request Print User Purpose 사용자의요청을받아인쇄를진행한다. Overview 사용자의요청을받아입력된매수만큼인쇄를진행한다. Type Primary Cross Reference Functions: R 2.1, R 2.2 Pre-Requisites 사용자로 login 이선행되어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) : Actor, (S) : System 1. (A) : 화면에필요인쇄매수를입력한다. 2. (A) : 인쇄버튼을누른다. 3. (S) : ManagementSystem 에서매수에따라요금을계산한다. 4. (S) : check balance use case 를통해잔액을비교한다. 5. (S) : 잔액이부족하면 ERROR 메시지후종료한다. 6. (S) : 인쇄매수와 printer 의 paper 를비교하여부족할경우종료한다. 7. (S) : printer 의 paper 를매수만큼감소시킨다. 8. (S) : allprofit 을요금만큼증가시킨다. 9. (S) : user instance.balance 를요금만큼감소시킨다. E 2. 매수가음수일경우진행하지않는다. 192

193 Activity Design Real Use Cases Use Case Actor Check Balance Event-based Purpose 인쇄진행시잔액과필요요금을확인및비교한다. Overview Type Cross Reference 사용자의요청에의해인쇄진행시시스템의요청을받아필요요금과잔액을체크한다. Primary Functions: R 2.1, R 2.2 Use Cases: Request Print Pre-Requisites 시스템에인쇄요청후에동작한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) : Actor, (S) : System 1. (S - A) : 사용자의인쇄요청을받은시스템이잔액확인을요청한다. 2. (S) : user instance 의 balance 와필요요금을비교한결과를보낸다. 193

194 Activity Design Real Use Cases Use Case Actor Identify Paper Manager Purpose 시스템관리자가프린터에남은용지를확인할수있다. Overview 시스템관리자의요청에따라프린터에남은용지잔량을확인한다. Type Primary Cross Reference Functions: R 3.1 Pre-Requisites Manager 로로그인되어있어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) : Actor, (S) : System 1. (A) : 용지확인버튼을누른다. 2. (S) : printer 의 paper 값을출력한다. 194

195 Activity Design Real Use Cases Use Case Actor Recharge Paper Manager Purpose 시스템관리자의요청에따라시스템의용지잔량을충전한다. Overview 시스템관리자가요청한매수만큼시스템의용지잔량을충전한다. Type Primary Cross Reference Functions: R 3.2 Pre-Requisites Manager 로로그인되어있어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) : Actor, (S) : System 1. (A) : 화면에충전할매수를입력한다. 2. (A) : 용지충전버튼을누른다. 3. (S) : 입력된용지수만큼 printer 의 paper 값을증가시킨다. E 1. 입력받은매수가없거나음수인경우충전이되지않는다. 195

196 Activity Design Real Use Cases Use Case Actor Identify User Manager Purpose 관리자가사용자들의정보를확인한다. Overview 관리자의요청에따라사용자들의 id/pw, 잔액정보를확인한다. Type Primary Cross Reference Functions: R 3.3 Pre-Requisites Manager 로로그인되어있어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) : Actor, (S) : System 1. (A) : 사용자확인버튼을누른다. 2. (S) : Account 의모든 user instance 정보를출력한다. E1. user instance 에아무정보가없는경우출력하지않는다. 196

197 Activity Design Real Use Cases Use Case Actor Identify Money Manager Purpose 총수익을확인한다. Overview 관리자의요청에따라지금까지의총수익을확인한다. Type Primary Cross Reference Functions: R 3.4 Pre-Requisites Manager 로로그인되어있어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) : Actor, (S) : System 1. (A) : 수익확인버튼을누른다. 2. (S) : allprofit 값을출력한다. 197

198 Activity Define Reports, UI, and Storyboards 로그인초기화면예시 198

199 Activity Define Reports, UI, and Storyboards 사용자화면예시 199

200 Activity Define Reports, UI, and Storyboards 매니저관리화면예시 200

201 Activity Define Interaction Diagrams Sequence diagram 으로작성 Identify User use case example 201

202 Activity Define Interaction Diagrams Request Print use case 202

203 Activity Define Design Class Diagrams 203

204 Activity Design Traceability Analysis Tracing operations in interaction diagram with class diagram 204

205 Activity Design Traceability Analysis Tracing operations in interaction diagram with class diagram 205

206 Phase Construct 2110 Revise 2120 Sync. Plan Artifacts 2130 Analyze 2140 Design 2150 Construct 2160 Test

207 Phase Construct Phase 2050 Activities 2150 Construct 2151 Implement Class & Methods Definitions 2152 Implement Windows 2153 Implement Reports 2154 Implement DB Schema(SQL, etc.) 2155 Write Unit Test Code 207

208 Activity Implement Class & Methods Definitions 2151 Implement Class & Methods Definitions Description Implement class & methods in accordance with design class diagram Describes the description of class and methods It is used to design unit test cases Input : Design class diagram, real use cases, Interaction diagram Output : Class & Methods description Steps: 1. Identify all classes and methods in design class diagram(2045) 2. Writing description of the target by using below format 3. Implement 208

209 Activity Implement Class & Methods Definitions Type Name Purpose Overview (Class) Cross Reference Input (Method) Output (Method) Abstract operation (Method) Exceptional Courses of Events Class or Method The name of class o method Writing the purpose of class or method Information of class or method Functions: Writing related system functions Use Cases : Writing related use cases Writing all of inputs of methods Writing the output of methods Writing operation information of methods briefly Writing exception state and handling information 209

210 Activity Implements Windows 2152 Implement Windows Description Define relations between GUI and operation Implements GUI class between actor and system Input : Interaction diagram, design class diagram, real use case description, UI Story board, operation contracts Output : GUI implements results and description, Refined Class Diagram Steps: 1. Define GUI system operation between Actor and System in interaction diagram 2. Draw the refined interaction diagram by adding GUI operation 3. Draw up the description (using below format) of GUI operation in diagram 210

211 Activity Implements Windows Name A name of operation Resposibilities Writing the paper number to text box Type GUI Cross References R 2.1 Notes Shows the value of text box in screen Pre-Conditions User should be logged in before Post-Conditions Paper text box shows the input value 211

212 Activity Implements Windows An example of operations in Request Print use case User 와 System 사이에 GUI 가추가됨 entersheet (text input with only GUI) Text Input reqprint Connection with printbutton showprint Print message Connection with showprint 212

213 Activity Implements Windows Request Print use case Name entersheet Resposibilities Text box 에인쇄매수를입력한다. Type GUI Cross References R 2.1 Notes Text box 에입력한숫자를화면이표시한다. Pre-Conditions 유저로그인상태 Post-Conditions Paper text box 에입력값표시 213

214 Activity Implement Reports 2153 Implement Reports Description Reports which have information of analysis, design results is refined and implemented in this process again Input : All of information Output : Analysis, design reports 214

215 Activity Write Unit Test Code 2153 Write Test Code Description Writing test code for performing unit testing Input : Implements results, class & methods definitions Output : Unit test code Steps: 1. Identify all methods in design 2. Writing unit test code accordance with the definition of methods 215

216 Phase Construct -Case Study Revise 2120 Sync. Plan Artifacts 2130 Analyze 2140 Design 2150 Construct 2160 Test

217 Activity Implement Class & Methods Definitions Class definitions Type Name Purpose Overview Cross Reference Exceptional Courses of Events Class ManagementSystem GUI 를포함한메인클래스로써 ACTOR 와의연결관계를가지며다른기능들을지원하기위한 class Functions: All Use Cases : All 217

218 Activity Implement Class & Methods Definitions Type Name Purpose Overview Cross Reference Exceptional Courses of Events Class AccountManager User, manager 계정관리와관련기능에대한 class Functions: R 1.2, R 1.3, R 1.4, R 2.1, R 2.2 Use Cases : Type Name Purpose Overview Cross Reference Exceptional Courses of Events Class User User 계정정보저장을위한 class Functions: R 1.1, R 1.2, R1.3, R 1.4, R 2.1, R 2.2, R 3.3 Use Cases : 218

219 Activity Implement Class & Methods Definitions Type Name Purpose Overview Cross Reference Exceptional Courses of Events Type Name Purpose Overview Cross Reference Exceptional Courses of Events Class Manager Manager 계정정보저장을위한 class Functions: R 1.1 Use Cases : Class Printer 인쇄시스템의프린터정보관리및기능관리를위한 class Functions: R 3.1, R 3.2, R 3.4 Use Cases : 219

220 Activity Implement Class & Methods Definitions Method definitions Type Name Purpose Cross Reference Input (Method) Output (Method) Abstract operation (Method) Exceptional Courses of Events Method reqlogin in ManagementSystem class User, manager 의 login 요청을처리하기위한 method Functions: R 1.1 Use Cases : 1. Login id: String, pw: String N/A 1. 유저가입력한 id, pw 와함께로그인요청을받아 accountmanager class 의 checklogin 함수를호출한다. 220

221 Activity Implement Class & Methods Definitions Type Name Purpose Cross Reference Input (Method) Output (Method) Abstract operation (Method) Exceptional Courses of Events Method reqlogout in ManagementSystem class User, manager 의 logout 요청을처리하기위한 method Functions: R 1.1 Use Cases : 2. Logout N/A N/A 1. Actor 의 logout 버튼입력을받아 init 함수를호출해현재로그인계정및화면초기화 (currentscreen, currentmode) 한다. N/A 221

222 Activity Implement Class & Methods Definitions Type Name Purpose Cross Reference Input (Method) Output (Method) Abstract operation (Method) Exceptional Courses of Events Method rechargemoney in User class User 계정 instance 에잔액충전 Functions: R 1.4 Use Cases : recharbe balance Money:int N/A 1. 현재 instance 의 balance 값을 input 으로들어온 money 만큼증가시킨다. N/A 222

223 Activity Implement Class & Methods Definitions Type Name Purpose Cross Reference Input (Method) Output (Method) Abstract operation (Method) Exceptional Courses of Events Method reqprint in ManagementSystem class User 의인쇄요청을처리하기위한 method Functions: R 2.1, 2.2 Use Cases : Request Print paper:int N/A 1. AccountManager 의 checkbalance 메소드를호출한다. 2. checkbalance 메소드실행결과가인쇄가능일경우 AccountManager 의 print 메소드와, Printer 의 print 메소드를호출하며각각 paper 를인자로전달한다. 3. 인쇄불가능의경우에러메시지를전달한다. N/A 223

224 Activity Implement Class & Methods Definitions Type Name Purpose Cross Reference Input (Method) Output (Method) Abstract operation (Method) Exceptional Courses of Events Method makeaccount in AccountManager class User, manager 계정에같은 id 가존재하는지 check 하는메소드 Functions: R 1.2 Use Cases : 3. Make Account id: String, pw: String Boolean 1. userlist 탐색을통해각 user instance 별로 check 메소드를호출한다. 2. Manager instance 의 check 메소드를호출한다. 3. 각 instance 의 check 메소드호출결과가모두존재하지않는경우새로운 user instance 를생성후 userlist 에삽입한다. 4. 생성한새 user instance 의 id, pw 를설정하고 balance 초기화후 true 를리턴한다. 5. 같은 id 를가진계정이존재하는경우 false 를리턴한다. N/A 224

225 Activity Implements Windows An example of operations in Request Print use case 225

226 Activity Implements Windows An example of operations in Request Print use case entersheet GUI 만존재 (text 입력 ) Text 입력 reqprint printbutton 과연결 showprint Print message showprint 와연결 226

227 Activity Implements Windows Name entersheet Resposibilities Text box 에인쇄매수를입력한다. Type GUI Cross References R 2.1 Notes Text box 에입력한숫자를화면이표시한다. Pre-Conditions 유저로그인상태 Post-Conditions Paper text box 에입력값표시 Name printbutton Resposibilities Print button 을누른다. Type GUI Cross References R 2.2 Notes Pre-Conditions Post-Conditions Print button 을눌러 reqprint 메소드를호출하고, text 의값을전달한다. 유저로그인상태, paper text box 에입력값존재 SystemManagement class 의 reqprint 메소드를호출하여 print 를진행한다. 227

228 Activity Implement Reports Report 작성 1000 result 2030 result 2040 result 2050 result 본예제는현재 ppt 에포함 228

229 Activity Write Unit Test Code 앞의 method description 을이용하여 unit test code 작성 Method description 의 input, output, abstract operation 등이용 229

230 Phase Test 2110 Revise 2120 Sync. Plan Artifacts 2130 Analyze 2140 Design 2150 Construct 2160 Test

231 Phase Test Phase 2060 Activities 2160 Test 2161 Unit Testing 2162 Integration Testing 2163 System Testing 2164 Performance Testing 2165 Acceptance Testing 2166 Documentation Testing 2167 Testing Traceability Analysis 231

232 Activity Unit Testing 2161 Unit Testing Description unit testing is a software testing method by which individual units of source code, sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures, are tested to determine whether they are fit for use. Perform unit testing and identify the results of testing Input : Unit test code, implement results Output : Unit testing results, reports Steps: 1. Performing unit test with test codes and implement results of each methods (JUnit) 232

233 Unit test code example 233

234 Activity Integration Testing 2162 Integration Testing Description Integration testing is the phase in software testing in which individual software modules are combined and tested as a group Input : Class & Method definitions Output : Integration testing results, reports 234

235 Activity System Testing 2163 System Testing Description System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. Input : Implements results, system test plan and cases Output : System testing results, reports Steps: 1. Identify system test cases before defined 2. Set the test data of test cases for testing 3. Performing system testing with system test plan and cases (JFeature) 235

236 Activity System Testing Set the test data of test cases for testing Example of test case 1-1 & 로그인시험 1-2 로그인시험 존재하는계정의 Id, pw 를입력하고로그인시도를하여로그인기능 test 존재하지않는계정의 Id, pw 를입력하고로그인시도를하여로그인기능 test 1. Login R Login R : id 입력란에 test, pw 입력란에 test 입력후 login 버튼을누른다. 1-2 : id 입력란에 test2, pw 입력란에 asdf 입력후 login 버튼을누른다. 236

237 Activity Performance Testing 2164 Performance Testing Description Performance testing is in general, a testing practice performed to determine how a system performs in terms of responsiveness and stability under a particular workload. Input : Implements result (program) Output : Performance testing results, reports 237

238 Activity Acceptance Testing 2165 Acceptance Testing Description Acceptance testing is a test conducted to determine if the requirements of a specification or contract are met It is used to determine the final acceptance Input : Requirements specification, system Output : Acceptance testing results, reports 238

239 Activity Documentation Testing 2166 Documentation Testing Description Documentation testing is a type of non-functional testing It intends to check the quality of documentation Input : All documents in process Output : Documentation testing results, reports 239

240 Activity Testing Traceability Analysis 2167 Testing Traceability Analysis Description Identify the relations between design and test cases Input : Testing results, traceability documents Output : Testing design traceability reports Step 1. Identify system test cases and unit test cases 2. Identify the relations between requirements and system test cases System test cases should be covered all requirement specification 3. Identify the relations between methods (component) and unit test cases 240

241 Traceability analysis example 241

Software Modeling & Analysis

Software Modeling & Analysis Software Modeling & Analysis OOPT (Object Oriented Process with Trace) Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr What is OOPT? OOPT (Object Oriented Process with Trace) A software process based on RUP Revision

More information

Object-Oriented Functional Analysis and Design for POS Example

Object-Oriented Functional Analysis and Design for POS Example Object-Oriented Functional Analysis and Design for POS Example Focus in Analysis, Design, Implementation Analysis Investigation to the problem in problem domain Design Logical solution(model) for implementation

More information

Constantinos Constantinides Computer Science and Software Engineering Concordia University Montreal, Canada

Constantinos Constantinides Computer Science and Software Engineering Concordia University Montreal, Canada 1 Disclaimer: These slides are based on the 2 nd edition of Applying UML and Patterns; An introduction to OOAD and the Unified process by Craig Larman (2002). I take responsibility for any errors. Constantinos

More information

Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD

Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD Domain analysis Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD OOA concerned with what, not how OOA activities focus on the domain layer

More information

Domain Modeling. CSSE 574: Week 1, Part 3. Steve Chenoweth Phone: Office (812) Cell (937)

Domain Modeling. CSSE 574: Week 1, Part 3. Steve Chenoweth Phone: Office (812) Cell (937) Domain Modeling CSSE 574: Week 1, Part 3 Steve Chenoweth Phone: Office (812) 877-8974 Cell (937) 657-3885 Email: chenowet@rose-hulman.edu s g Where we re going Sample UP Artifact Relationships date...

More information

Final Exam CISC 475/675 Fall 2004

Final Exam CISC 475/675 Fall 2004 True or False [2 pts each]: Final Exam CISC 475/675 Fall 2004 1. (True/False) All software development processes contain at least separate planning, testing, and documentation phases. 2. (True/False) The

More information

Domain Model and Domain Modeling

Domain Model and Domain Modeling Dr. Michael Eichberg Software Engineering Department of Computer Science Technische Universität Darmstadt Software Engineering Domain Model and Domain Modeling Resources: Craig Larman; Applying UML and

More information

CTIS 359 Principles of Software Engineering SOFTWARE DESIGN OO(A)D

CTIS 359 Principles of Software Engineering SOFTWARE DESIGN OO(A)D CTIS 359 Principles of Software Engineering SOFTWARE DESIGN OO(A)D Today s Objectives To explain the basic concepts of OO(A)D To describe some best practices regarding to OO(A)D What is NOT UML? The UML

More information

INFO-H-302. Object-Oriented Analysis and Design. Prof. Esteban Zimányi

INFO-H-302. Object-Oriented Analysis and Design. Prof. Esteban Zimányi INFO-H-302 Object-Oriented Analysis and Design Prof. Esteban Zimányi Introduction Plan and Elaborate Phase Analyze Phase Design Phase Construct Phase Other UML Notation Conclusion Table of Contents 2 Object

More information

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Computer Science Technische Universität Darmstadt Dr.

More information

Operations Contracts and Preliminaries on Design

Operations Contracts and Preliminaries on Design Operations Contracts and Preliminaries on Design CSSE 574: Week 2, Part 3 Steve Chenoweth Phone: Office (812) 877-8974 Cell (937) 657-3885 Email: chenowet@rose-hulman.edu We are at System Operation Contracts

More information

System Sequence Diagrams. Based on Craig Larman, Chapter 10 and Anuradha Dharani s notes

System Sequence Diagrams. Based on Craig Larman, Chapter 10 and Anuradha Dharani s notes System Sequence Diagrams Based on Craig Larman, Chapter 10 and Anuradha Dharani s notes Dynamic behaviors Class diagrams represent static relationships. Why? What about modeling dynamic behavior? Interaction

More information

ROEVER ENGINEERING COLLEGE DEPARTMENT OF INFORMATION TECHNOLOGY CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN. Unit-I. Introduction to OOAD

ROEVER ENGINEERING COLLEGE DEPARTMENT OF INFORMATION TECHNOLOGY CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN. Unit-I. Introduction to OOAD ROEVER ENGINEERING COLLEGE CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN 1. What is Object-Oriented Analysis? Unit-I Introduction to OOAD PART-A During object-oriented analysis there is an emphasis on finding

More information

Object-Oriented Analysis and Design

Object-Oriented Analysis and Design Analysis and Design To develop an application, it is necessary a description of the problem and requirements: what the problem is about and what a system must do high-level and detailed descriptions of

More information

What is a Model? Copyright hebley & Associates

What is a Model? Copyright hebley & Associates Modeling Overview... as we know, there are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there

More information

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Computer Science Technische Universität Darmstadt What

More information

Domain Modeling: Associations and Attributes

Domain Modeling: Associations and Attributes Domain Modeling: Associations and Attributes CSSE 574: Week 2, Part Steve Chenoweth Phone: Office (82) 877-8974 Cell (937) 657-3885 Email: chenowet@rose-hulman.edu Q Description Classes A description class

More information

CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN Two Marks Question with Answers Unit-I Introduction to OOAD

CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN Two Marks Question with Answers Unit-I Introduction to OOAD CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN Two Marks Question with Answers Unit-I Introduction to OOAD 1. What is Object-Oriented Analysis? Nov/Dec 2016 During object-oriented analysis there is an emphasis

More information

COMP 6471 Software Design Methodologies

COMP 6471 Software Design Methodologies COMP 647 Software Design Methodologies Fall 20 Dr Greg Butler http://www.cs.concordia.ca/~gregb/home/comp647-fall20.html Course Introduction Course People Course Components What the course is What the

More information

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN. Unit-I. Introduction to OOAD

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN. Unit-I. Introduction to OOAD DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN 1. What is Object-Oriented Analysis? Unit-I Introduction to OOAD PART-A (UML Notations has to be used wherever necessary)

More information

Domain Modeling- 2. Generalization

Domain Modeling- 2. Generalization Generalization Domain Modeling- 2 Conceptual superclasses and subclasses When to create a subclass? A superclass? Abstract classes Modeling state changes Operation contracts Attaching pre- /post-conditions

More information

Class Diagrams in Analysis

Class Diagrams in Analysis 3.2 Subject/Topic/Focus: Introduction to Classes Summary: Conceptual Modeling Notation: Classes Associations: Multiplicity, Roles, Aggregation, Composition Generalization Objects Analysis Process Literature:

More information

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/17/2015

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/17/2015 Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm Rao Casturi 09/17/2015 http://cs.gsu.edu/~ncasturi1 Requirement Elicitation 2 Requirement Engineering First step for understanding the

More information

SE 2730 Final Review

SE 2730 Final Review SE 2730 Final Review 1. Introduction 1) What is software: programs, associated documentations and data 2) Three types of software products: generic, custom, semi-custom Why is semi-custom product more

More information

References: Applying UML and patterns Craig Larman

References: Applying UML and patterns Craig Larman References: Applying UML and patterns Craig Larman 1 2 What are patterns? Principles and solutions codified in a structured format describing a problem and a solution A named problem/solution pair that

More information

Chapter 1: Programming Principles

Chapter 1: Programming Principles Chapter 1: Programming Principles Object Oriented Analysis and Design Abstraction and information hiding Object oriented programming principles Unified Modeling Language Software life-cycle models Key

More information

OBJECT ORIENTED ANALYSIS AND DESIGN SYLLABUS

OBJECT ORIENTED ANALYSIS AND DESIGN SYLLABUS OBJECT ORIENTED ANALYSIS AND DESIGN SYLLABUS CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN L T P C 3 0 0 3 UNIT I- UML DIAGRAMS Introduction to OOAD Unified Process - UML diagrams Use Case Class Diagrams

More information

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Computer Science Technische Universität Darmstadt Dr.

More information

Chapter 1: Principles of Programming and Software Engineering

Chapter 1: Principles of Programming and Software Engineering Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without

More information

Lecture 8: Use Case -Driven Design. Where UML fits in

Lecture 8: Use Case -Driven Design. Where UML fits in Lecture 8: Use Case -Driven Design The Role of UML in the Software Process E.g. ICONIX Domain Models Use Cases 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution

More information

1: Specifying Requirements with Use Case Diagrams

1: Specifying Requirements with Use Case Diagrams Outline UML Design Supplement 1: Specifying Requirements with Use Case Diagrams Introduction Use Case Diagrams Writing Use Cases Guidelines for Effective Use Cases Slide adapted from Eran Toch s lecture

More information

BDSA08 Advanced Architecture

BDSA08 Advanced Architecture UI Swing not the Java Swing libraries, but our GUI classes based on Swing Web Domain Sales Payments Taxes Technical Services Persistence Logging RulesEngine BDSA08 Advanced Architecture Jakob E. Bardram

More information

Responsibilities. Using several specific design principles to guide OO design decisions.

Responsibilities. Using several specific design principles to guide OO design decisions. Designing Objects with Responsibilities Using several specific design principles to guide OO design decisions. Challenge Old-school advice on OOD After identifying i your requirements and creating a domain

More information

Requirements Analysis. SE 555 Software Requirements & Specification

Requirements Analysis. SE 555 Software Requirements & Specification Requirements Analysis Goals of Requirements Analysis Create requirements containing sufficient detail and of high enough quality to allow realistic project planning as well as successful design and implementation.

More information

Vendor: The Open Group. Exam Code: OG Exam Name: TOGAF 9 Part 1. Version: Demo

Vendor: The Open Group. Exam Code: OG Exam Name: TOGAF 9 Part 1. Version: Demo Vendor: The Open Group Exam Code: OG0-091 Exam Name: TOGAF 9 Part 1 Version: Demo QUESTION 1 According to TOGAF, Which of the following are the architecture domains that are commonly accepted subsets of

More information

Ch 4: Requirements Engineering. What are requirements?

Ch 4: Requirements Engineering. What are requirements? Ch 4: Engineering What are? Functional and non-functional The software document specification engineering processes elicitation and analysis validation management The descriptions of what the system should

More information

BDSA Introduction to OOAD. Jakob E. Bardram

BDSA Introduction to OOAD. Jakob E. Bardram BDSA Introduction to OOAD Jakob E. Bardram Programming is Fun Developing Quality Software is Hard. Craig Larman in [OOAD] book 2 Object-Oriented Analysis & Design (OOAD) This Lecture Unified Modeling Language

More information

CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I

CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I Introduction to OOAD What is OOAD? What is UML? What are the United process(up) phases - Case study the NextGen POS system, Inception -Use case Modeling

More information

VEL TECH HIGH TECH Dr. RANGARAJAN Dr. SAKUNTHALA ENGINEERING COLLEGE UNIT 1 UML DIAGRAMS

VEL TECH HIGH TECH Dr. RANGARAJAN Dr. SAKUNTHALA ENGINEERING COLLEGE UNIT 1 UML DIAGRAMS UNIT 1 UML DIAGRAMS Introduction to OOAD Unified Process - UML diagrams Use Case Class Diagrams Interaction Diagrams State Diagrams Activity Diagrams Package, component and Deployment Diagrams. INTRODUCTION

More information

Software Design and Analysis CSCI 2040

Software Design and Analysis CSCI 2040 Software Design and Analysis CSCI 2040 Introduce UML State Machine Diagram Notation. Create State Machine Diagrams for Classes and Use Cases. Advanced techniques in Activity Diagrams. Software Design and

More information

Acceptance Test Plan

Acceptance Test Plan Acceptance Test Plan CURRENT DOCUMENT STATUS Version Number 1.0 File Name POS Connect Delivery Date 1/22/2013 Owner Description Taite Hughes, Martin Barbella, Sidhant Garg, Pradit Modi, Ryan Christen,

More information

Tutorial notes on. Requirements analysis

Tutorial notes on. Requirements analysis Tutorial notes on Requirements analysis Dr. C. Constantinides, P.Eng. Computer Science and Software Engineering Concordia University Page 1 of 12 Exercise 1. Consider an email client software. The client

More information

CS487 Midterm Exam Summer 2005

CS487 Midterm Exam Summer 2005 1. (4 Points) How does software differ from the artifacts produced by other engineering disciplines? 2. (10 Points) The waterfall model is appropriate for projects with what Characteristics? Page 1 of

More information

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author(s)> <Organization> <Date created>

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author(s)> <Organization> <Date created> Software Requirements Specification for Version 1.0 approved Prepared by Software Requirements Specification for Page 2 Table of Contents Revision

More information

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A 1. What is an object? An object is a combination of data and logic; the representation of some realworld

More information

OO Project Management

OO Project Management OO Project Management Twin Cities Java User s Group November 17, 1999 Mary Poppendieck Poppendieck.LLC Object Oriented Development Objects Simulate the Real World Example: Process Control On/Off Switch

More information

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain

More information

Week 9 Implementation

Week 9 Implementation Week 9 Implementation Dr. Eliane l. Bodanese What is more important From a software engineering perspective: Good Gui? does what customer wants maintainable, extensible, reusable Commented Code? how is

More information

Overview of HoundMart eprocurement Module and Benefits

Overview of HoundMart eprocurement Module and Benefits Contents Overview of HoundMart eprocurement Module and Benefits... 1 Purpose of this Guide... 1 Access HoundMart Application... 2 HoundMart Home Page Overview... 3 Shop using Hosted Catalog... 4 Notification

More information

Use C ases Cases 7/09

Use C ases Cases 7/09 Use Cases 7/09 Groups of 3 Recorder/Timekeeper Participation checker Devil s Advocate Motivation One way to describe a system is to create a story, y, the interaction between a user and the system This

More information

CSE 403. Requirements

CSE 403. Requirements CSE 403 Requirements There are only two hard problems in software engineering (tip of the day) Naming Cache invalidation/coherency Off-by-one errors Class announcements Requirements due at 11:59PM on Monday

More information

06. Analysis Modeling

06. Analysis Modeling 06. Analysis Modeling Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Overview of Analysis Modeling 1 Requirement Analysis 2 Analysis Modeling Approaches

More information

OO Design2. Design Artifacts

OO Design2. Design Artifacts OO Design2 POS example - revisited LAR Ch 8 has entire POS design explained READ THIS CHAPTER and ASK Q s in class Design class diagrams Kinds of visibility of objects to one another Navigability of associations

More information

Logical Architecture & Design Preliminaries

Logical Architecture & Design Preliminaries Logical Architecture & Design Preliminaries CSSE 574: Week 2, Part 4 Steve Chenoweth Phone: Office (812) 877-8974 Cell (937) 657-3885 Email: chenowet@rose-hulman.edu From Requirements to Architecture Customer

More information

THE UNIVERSITY OF THE WEST INDIES. Answer ALL questions. Marks for each question are given in the margin. This exam is worth 60 marks

THE UNIVERSITY OF THE WEST INDIES. Answer ALL questions. Marks for each question are given in the margin. This exam is worth 60 marks THE UNIVERSITY OF THE WEST INDIES EXAMINATIONS OF MAY 2004 Code and Name of Course: EE29B Introduction to Software Engineering Paper: Date and Time: Duration: Three Hours INSTRUCTIONS TO CANDIDATES: This

More information

Selection of UML Models for Test Case Generation: A Discussion on Techniques to Generate Test Cases

Selection of UML Models for Test Case Generation: A Discussion on Techniques to Generate Test Cases St. Cloud State University therepository at St. Cloud State Culminating Projects in Computer Science and Information Technology Department of Computer Science and Information Technology 6-2018 Selection

More information

Chapter : Analysis Modeling

Chapter : Analysis Modeling Chapter : Analysis Modeling Requirements Analysis Requirements analysis Specifies software s operational characteristics Indicates software's interface with other system elements Establishes constraints

More information

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae CS350 Lecture 2 Requirements Engineering Doo-Hwan Bae bae@se.kaist.ac.kr Contents Overview of Requirements Engineering OO Analysis: Domain modeling, Use-case, sequence, class Structured Analysis: Dataflow

More information

Rail Mall 4.0. User manual

Rail Mall 4.0. User manual Rail Mall 4.0 User manual siemens.com/railmall Table of content Rail Mall 4.0 At a glance 3 Search Options 5 Registration at Rail Mall 8 Order Process 11 Wishlist 17 Price and Material Request 20 Miscellaneous

More information

Database Systems. Overview - important points. Lecture 5. Some introductory information ERD diagrams Normalization Other stuff 08/03/2015

Database Systems. Overview - important points. Lecture 5. Some introductory information ERD diagrams Normalization Other stuff 08/03/2015 Lecture 5 Database Systems Instructor: M.Imran Khalil Imrankhalil3@gmail.com Resource:Imrankhalil3.wordpress.com University of Sargodha Canal Campus Lahore Overview - important points Some introductory

More information

user.book Page 45 Friday, April 8, :05 AM Part 2 BASIC STRUCTURAL MODELING

user.book Page 45 Friday, April 8, :05 AM Part 2 BASIC STRUCTURAL MODELING user.book Page 45 Friday, April 8, 2005 10:05 AM Part 2 BASIC STRUCTURAL MODELING user.book Page 46 Friday, April 8, 2005 10:05 AM user.book Page 47 Friday, April 8, 2005 10:05 AM Chapter 4 CLASSES In

More information

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization OBJECT ORIENTED DESIGN with the Unified Process Use Case Realization Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop detailed sequence diagrams

More information

Unified Modeling Language I.

Unified Modeling Language I. Unified Modeling Language I. Software engineering Szoftvertechnológia Dr. Balázs Simon BME, IIT Outline Software engineering Modeling Unified Modeling Language (UML) UML Diagrams: Use Case Diagram Activity

More information

Requirements and Design Overview

Requirements and Design Overview Requirements and Design Overview Robert B. France Colorado State University Robert B. France O-1 Why do we model? Enhance understanding and communication Provide structure for problem solving Furnish abstractions

More information

Requirement Analysis

Requirement Analysis Requirement Analysis Requirements Analysis & Specification Objective: determine what the system must do to solve the problem (without describing how) Done by Analyst (also called Requirements Analyst)

More information

IBM TRIRIGA Version Procurement Management User Guide

IBM TRIRIGA Version Procurement Management User Guide IBM TRIRIGA Version 10.3 Procurement Management User Guide Note Before using this information and the product it supports, read the information in Notices on page 192. Second edition, June 2013. This edition

More information

Delimited. Interfaced. Readable. Modifiable. Verifiable. Prioritized* Endorsed

Delimited. Interfaced. Readable. Modifiable. Verifiable. Prioritized* Endorsed 15 quality goals for requirements Justified Correct Complete Consistent Unambiguous Feasible Abstract Traceable Delimited Interfaced Readable Modifiable Verifiable Prioritized* Endorsed Marked attributes

More information

SE351a: Software Project & Process Management. 11 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa

SE351a: Software Project & Process Management. 11 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa SE351a: Software Project & Process Management W4.1: Requirements Engineering 11 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa SE351 Roadmap Introduction to Software Project Management Project Management

More information

COMP 6471 Software Design Methodologies

COMP 6471 Software Design Methodologies COMP 6471 Software Design Methodologies Fall 2011 Dr Greg Butler http://www.cs.concordia.ca/~gregb/home/comp6471-fall2011.html Page 2 Sample UP Artifact Relationships Domain Model Context Business Modeling

More information

Information Expert (or Expert)

Information Expert (or Expert) Page 2 Page 3 Pattern or Principle? Information Expert (or Expert) Class Responsibility Sale Knows Sale total SalesLineItem Knows line item total ProductDescription Knows product price The GRASP patterns

More information

Data Import Guide DBA Software Inc.

Data Import Guide DBA Software Inc. Contents 3 Table of Contents 1 Introduction 4 2 Data Import Instructions 5 3 Data Import - Customers 10 4 Data Import - Customer Contacts 16 5 Data Import - Delivery Addresses 19 6 Data Import - Suppliers

More information

SEGUE DISCOVERY PARTICIPATION IN DISCOVERY DISCOVERY DELIVERABLES. Discovery

SEGUE DISCOVERY PARTICIPATION IN DISCOVERY DISCOVERY DELIVERABLES.   Discovery SEGUE DISCOVERY An initial engagement with Segue begins with a Phase where our experienced team works directly with our customer to define the vision, scope, and high-level requirements for the project.

More information

Towards Automatic Generation and Continuous Improvement of Functional Test Cases: The Case of the Test-Duo Framework and Mutation Testing *

Towards Automatic Generation and Continuous Improvement of Functional Test Cases: The Case of the Test-Duo Framework and Mutation Testing * JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 31, 2025-2053 (2015) Towards Automatic Generation and Continuous Improvement of Functional Test Cases: The Case of the Test-Duo Framework and Mutation Testing

More information

Rail Mall 4.0. User manual

Rail Mall 4.0. User manual Rail Mall 4.0 User manual siemens.com/railmall Table of content Rail Mall 4.0 At a glance 3 Search Options 5 Registration at Rail Mall 8 Order Process 11 Price and Material Request 17 Miscellaneous 19

More information

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development Progress Report Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) CS 4354 Summer II 2014 Jill Seaman So far we have learned about the tools used in object-oriented

More information

CSSE 374: Logical Architecture. Shawn Bohner Office: Moench Room F212 Phone: (812)

CSSE 374: Logical Architecture. Shawn Bohner Office: Moench Room F212 Phone: (812) CSSE 374: Logical Architecture Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu An Engineering Decision Learning Outcomes: O-O Design Demonstrate object-oriented

More information

The software lifecycle and its documents

The software lifecycle and its documents The software lifecycle and its documents Supplementary material for Software Architecture course B. Meyer, May 2006 Lifecycle models Origin: Royce, 1970, Waterfall model Scope: describe the set of processes

More information

Gift Card Instructions Daxko Spectrum

Gift Card Instructions Daxko Spectrum Gift Cards Gift card are good to use for a variety of reason: 1. You can track the declining balance on them. 2. You can recharge them; treat it as a cash card. The cards can be attached to a recipient.

More information

Wells Fargo Merchant Services. Wells Fargo Mobile Merchant User Guide for Apple ipad Version 3.2

Wells Fargo Merchant Services. Wells Fargo Mobile Merchant User Guide for Apple ipad Version 3.2 Wells Fargo Merchant Services Wells Fargo Mobile Merchant User Guide for Apple ipad Version 3.2 Table of Contents Overview...3 Key Features...3 Download Wells Fargo...4 Mobile Merchant...4 Demo Mode...4

More information

TIS HELP VCCS TECHNICAL INFORMATION SHOP (TIS) INSTRUCTION FOR INDEPENDENT OPERATORS

TIS HELP VCCS TECHNICAL INFORMATION SHOP (TIS) INSTRUCTION FOR INDEPENDENT OPERATORS VCCS TECHNICAL INFORMATION SHOP (TIS) INSTRUCTION FOR INDEPENDENT OPERATORS CONTENTS 1 INTRODUCTION... 3 1.1 Account set up... 3 1.1.1 Independent operators with TIE access... 3 1.2 Login for registered

More information

350 Index 2005 GOAL/QPC

350 Index 2005 GOAL/QPC Index abstract testing, 274 acceptance criteria, 270 acceptance tests, 270 activity diagrams, 113, 114, 174-175, 321 actor catalog, 144 actor description, 144 actor hierarchy, 148 actor map, 59, 114, 144,

More information

Assigning Responsibilities by Larman

Assigning Responsibilities by Larman Assigning Responsibilities by Larman Core design activity: The identification of objects and responsibilities and providing a solution in terms of an interaction diagram this is the creative part where

More information

Outline of Unified Process

Outline of Unified Process Outline of Unified Process Koichiro OCHIMIZU School of Information Science JAIST Schedule(3/3) March 12 13:00 Unified Process and COMET 14:30 Case Study of Elevator Control System (problem definition,

More information

Topics. Overview- The UML Functional Model. Structural Model. Behavioral Models. Use Case Diagram (essential and system)

Topics. Overview- The UML Functional Model. Structural Model. Behavioral Models. Use Case Diagram (essential and system) Topics Overview- The UML Functional Model Use Case Diagram (essential and system) Structural Model Class/object, Component and Deployment Diagram Behavioral Models Activity, State chart, sequence /collaboration

More information

WHAT S CHANGING IN PROCURE-TO-PAY

WHAT S CHANGING IN PROCURE-TO-PAY epayment Forum WHAT S CHANGING IN PROCURE-TO-PAY August 2017 Session Objectives During this session, we will discuss: Overview of the University s Preferred Purchasing Methods Changes to the check request

More information

1. i. What are the 3 major components of a information system and show their relationship input output

1. i. What are the 3 major components of a information system and show their relationship input output Higher National Diploma in Information Technology First Year, Second semesterexamination-2011 IT2005: System Analysis and Design Answer Script No. of pages: 11 1. i. What are the 3 major components of

More information

Software Life-Cycle Models

Software Life-Cycle Models Software Life-Cycle Models CMPSC 487 Lecture 03 Topics: UML Class Diagram Rosenburg Chap 2. Domain Modeling A. UML: Unified Modeling Language UML is a general-purpose, developmental, modeling language

More information

Contents. 1 General Terms. Page 1 of 8

Contents. 1 General Terms. Page 1 of 8 Page 1 of 8 Service Description: Advanced Services --- Fixed Price Secure Agile Exchange Advise and Implement (Quick Start) (ASF-CORE-SAI-QS) This document describes Cisco s Secure Agile Exchange Advise

More information

System Management. User Guide

System Management. User Guide System Management User Guide The information in this document is subject to change without notice and does not represent a commitment on the part of Horizon. The software described in this document is

More information

Service Description: Software Support

Service Description: Software Support Page 1 of 1 Service Description: Software Support This document describes the service offers under Cisco Software Support. This includes Software Support Service (SWSS), Software Support Basic, Software

More information

Requirements Engineering. Contents. Functional requirements. What is a requirement?

Requirements Engineering. Contents. Functional requirements. What is a requirement? Contents Ø Introduction 4 Ø Engineering Ø Project Management Ø Software Design Ø Detailed Design and Coding Ø Quality Assurance Engineering Ø What is a Requirement? Ø RE Activities Ø Documentation Ø RE

More information

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers

More information

Software Engineering Prof.N.L.Sarda IIT Bombay. Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II)

Software Engineering Prof.N.L.Sarda IIT Bombay. Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II) Software Engineering Prof.N.L.Sarda IIT Bombay Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II) We will continue our discussion on process modeling. In the previous lecture

More information

17-Design. Jackson System Development (JSD) Step 1: Entity/action step. Student Loan Example. CMPSCI520/620 Design ***DRAFT*** 11/4/04

17-Design. Jackson System Development (JSD) Step 1: Entity/action step. Student Loan Example. CMPSCI520/620 Design ***DRAFT*** 11/4/04 CMPSCI520/620 ***DRAFT*** 11/4/04 17- Readings OOAD Using the UML Copyright 1994-1998 Rational Software, all rights reserved will post Jackson System Development (JSD) Phases the modeling phase Entity/action

More information

Data and Process Modeling

Data and Process Modeling Chapter 5 Data and Process Modeling 5 CHAPTER Data and Process Modeling Chapter 5 is the second of four chapters in the systems analysis phase of the SDLC. This chapter discusses data and process modeling

More information

Table of Contents. Introduction Technical Support Getting Started Data Synchronization General Website Settings...

Table of Contents. Introduction Technical Support Getting Started Data Synchronization General Website Settings... E-Commerce Table of Contents Introduction... 1 Technical Support... 1 Introduction... 1 Getting Started... 2 Data Synchronization... 2 General Website Settings... 3 Customer Groups Settings... 4 New Accounts

More information

Detailed Design. Java Problem Repository & Education Platform JPREP

Detailed Design. Java Problem Repository & Education Platform JPREP Team Members: Luke Greiner Denis Kalic Abigail McCarthy Robert Tateo Nguyen Truong Patrick White Detailed Design Java Problem Repository & Education Platform JPREP Revision: 1.1 Date: 3/07/14 1 D e l t

More information

Äriprotsesside modelleerimine ja automatiseerimine Loeng 7 Valdkonna mudel

Äriprotsesside modelleerimine ja automatiseerimine Loeng 7 Valdkonna mudel Äriprotsesside modelleerimine ja automatiseerimine Loeng 7 Valdkonna mudel Enn Õunapuu enn.ounapuu@ttu.ee What is a domain model? A domain model captures the most important types of objects in the context

More information

Chapter 9 Quality and Change Management

Chapter 9 Quality and Change Management MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics

More information

Pearson Education 2007 Chapter 9 (RASD 3/e)

Pearson Education 2007 Chapter 9 (RASD 3/e) MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics

More information