rmcode automatic prototyping from requirement model
play

RMCode: Automatic Prototyping from Requirement Model Yilong Yang - PowerPoint PPT Presentation

RMCode: Automatic Prototyping from Requirement Model Yilong Yang Software Engineering Lab http://lab.mydreamy.net yylonly@gmail.com Preliminary Requirement Model Use Case Diagram System Sequence Diagram / Activity Diagram


  1. RMCode: Automatic Prototyping from Requirement Model Yilong Yang Software Engineering Lab http://lab.mydreamy.net yylonly@gmail.com

  2. Preliminary Requirement Model • Use Case Diagram • System Sequence Diagram / Activity Diagram • Conceptual Class Diagram • Operation Contract

  3. Requirement Model • The responsibilities of the target system includes knowing responsibilities and doing responsibilities. • Knowing responsibilities of the target system are specified by the conceptual class diagram. • Doing responsibilities are specified by activity diagrams or system sequence diagrams for use cases in the use case diagram. • Contract of doing responsibility not only contains the signatures of operation but also pre and post conditions of operation for fulfilling the responsibility

  4. Motivation • Requirement errors mostly lead to the failures of software development. • Customers and end-user are not entirely sure of what is needed before trying out the target software. • It is very desirable to have a tool to generate prototypes directly from requirements automatically.

  5. State-of-arts • Current UML modeling tools can only generate skeleton code, the operations still need to be manually implemented. • Even if providing a design model to each operation, only less than 48% correct source code can be generated.

  6. RMCode: Requirement Modeler and Code Generator • RMCode can automatic generate object-oriented prototype from UML requirement model. • Generated prototype can be used for validating the requirements and eliciting more requirements.

  7. Case Study I CoCoME (Supermarket System)

  8. Use Case Diagram

  9. System Interactions Activity Diagram System Sequence Diagram

  10. Doing responsibilities

  11. Conceputal Class Diagram

  12. Operation Contract

  13. Requirement Model in RMCode

  14. Generate Prototype

  15. Prototype: System Operations

  16. Prototype: System Status

  17. Generate CRUD Operations

  18. Loading or adding start-up data

  19. Start-up Data: UM Store

  20. Start-up data: Item Apple

  21. Validate ProcessSale

  22. Validate ProcessSale

  23. Refined Requirement Model

  24. OpenCashDesk CashDesk1 Status:

  25. ProcessSale - makeNewSale

  26. ProcessSale - enterItem Input Variables:

  27. ProcessSale - enterItem

  28. execute enterItem before makeNewSale

  29. ProcessSale - endSale

  30. ProcessSale - endSale

  31. ProcessSale - makeCashPayment

  32. ProcessSale - makeCashPayment

  33. Requirement Validation If we miss this condition

  34. Requirement Validation Sale Status After executing of enterItem (we need to pay 100 MOP)

  35. Requirement Validation System Status After executing of CashPayment with only 80 payment CashPayment Invariant is not holding at this moment

  36. Next Step • We specified main functionality about Cashier about checking out. • We did not touch storage management yet….

  37. Refined Requirement Model

  38. UseCase: OrderProducts

  39. Refining Conceptual Class Diagram

  40. showStockReports

  41. showStockReports

  42. changePrice

  43. changePrice

  44. After checking out this two surface laptop

  45. makeNewOrder

  46. Listing out of stock products Bug? Let`s check post-condition Should be item.StockNumber = 0

  47. Fixing error requirement, re- generation, and running prototype Bug? Let`s check post-condition Should be item.StockNumber = 0

  48. Fixing error requirement, re- generation, and running prototype

  49. Executing orderItem

  50. List suppliers and choose one

  51. Place Order

  52. Place Order

  53. Receive Ordered Products

  54. CoCoME (Supermarket System) • UML requirement model • Refine UML requirement model in RMCode • Validate and fix requirements

  55. Case Study II UM Library Management System

  56. Use Case Diagram

  57. Use Case Diagram

  58. The contract of borrowBook

  59. The contract of renewBook

  60. The contract of renewBook

  61. The contract of renewBook

  62. The contract of returnBook

  63. The contract of returnBook

  64. The contract of dueSoonNotification

  65. The contract of makeReservation

  66. The contract of makeReservation

  67. Prototype Functionality

  68. Prototype Status

  69. RMCode • RMCode is a good UML requirement modelling tool • RMCode provides an evolutionary approach to validate the requirement • Good for training your mind as like project manager

  70. Contribute to RMCode • Download RMCode from • http://lab.mydreamy.net • Try the provided case studies from GitHub • https://github.com/yylonly/RMCodeCaseStudies.git • Create new case studies, then make a pull request • Open a new issue on GitHub, if bugs were found.

  71. Contribute to RMCode If you are interested in the development of : • Full-stack JavaScript Web Application • Java EE Application • Android/IOS Application

  72. Thank You

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend