Chapter 4 của khóa học UML ni đó bạn : http://www.cragsystems.co.uk/SFRWUC/index.htm
You will able to : Hiểu xong course này bạn sẽ
- create a use case diagram.-> tạo một biểu đồ ca sử dụng
- write a basic flow and an alternate flow.-> viết dòng cơ bản(uhm hum, đúng hơm?) và dòng xen kẽ.
- create an activity diagram. -> tạo một biểu đồ hoạt động.
Course solutions are provided for comparison with your own solutions. -> Thử xem cái MyFactory mà viết use case dựa theo cách viết use case của bài tập ni sẽ thế nào đây?
Continue :
1. Exercise introduction : Giới thiệu bài tập tý nha
The exercise is based around Hurry's Electrical Goods Store. In the problem statement below you will find a description of activity at the store. You should assume that the new computer system will cover all the data-driven activity described at the store. Read through the problem statement and print it out if you like.
You can use a case tool for the exercise or draw the diagrams on a piece of paper. The following tools are suitable for the exercise. Solutions will be provided in all 3 formats.
| ArgoUML is a free tool written in java which runs directly using Java Web Start from Sun. Try running the tool first. If it doesn't run then download and install the Java Runtime Environment in J2SE from the Sun website. | |
| Enterprise Architect is a competent low cost UML tool with a 30 day evaluation version. | |
| The IBM Rational Rose Enterprise Edition evaluation version runs for 15 days from the download date. The download file is some 400MB |
Bài tập này xây dựng phần mềm bán hàng cho cái cửa hàng đồ điện của ông Hurry á, chắc ổng bán tủ lạnh, máy điện hòa, máy giặt...hihi. Chuẩn bị dịch cái Hurry's problem statement nè, cái này diễn tả về hoạt động của cửa hàng. Nên đảm bảo rằng hệ thống máy tính của bạn sẽ cover(chỗ này dịch sao he, hix :)) tất cả hoạt động liên quan tới dữ liệu ( the data-driven activity) được diễn tả tại cửa hàng này nhé. Đọc qua cái "Phát biểu về vấn đề ông Hurry" nhé , có thể in nó ra nếu thích.
Bạn có thể dùng 1 case tool cho bài tập này hay vẽ biểu đồ ra giấy cũng được ( mình nên vẽ ra giấy thôi, cho trực quan). Tham khảo một số tool này : ArgoUML, Enterprise Architect, The IBM Rational Rose Enterprise Edition( cái này có biết qua sơ á). Mình down cài đặt và chạy cái đầu tiên rồi, nhanh đơn giản.
:) Hello Here is Hurry's problem statement :
Hurry's require a new point of sale and stock control system for their many stores throughout the UK to replace their ageing mini based systems.
A sales assistant will be able to process an order by entering product numbers and required quantities into the system. The system will display a description, price and available stock. In-stock products will normally be collected immediately by the customer from the store but may be selected for delivery to the customer's home address for which there will be a charge. If stock is not available the sales assistant will be able to create a backorder for the product from a regional warehouse. The products will then either be delivered direct from the regional warehouse to the customer's home address, or to the store for collection by the customer. The system will allow products to be paid for by cash or credit card. Credit card transactions will be validated via an online card transaction system. The system will produce a receipt. Order details for in-stock products will be printed in the warehouse including the bin reference, quantity, product number and description. These will be collected by the sales assistant and given to the customer. The sales assistant will be able to make refunds, provided a valid receipt is produced. The sales assistant will also be able to check stock and pricing without creating an order and progress orders that have been created for delivery.
The store manager will be able at any time to print a summary report of sales in the store for a given period, including assignment of sales to sales assistants in order to calculate weekly sales bonuses.
The stock manager will be able to monitor stock levels and weekly run-rates in order to set minimum stock levels and requisition products which fall below the minimum stock levels or for which demand is anticipated. When the stock arrives it will be booked in by the warehouse person. Stock that has been backordered for collection from the store is held in a separate area and the store manager advised of its arrival.
The catalogue of available products will be maintained remotely by marketing from head office. Marketing will also be able to access sales information from each store system.
(Any similarity between this fictional example and any existing store is entirely coincidental)
=> Dịch thôi
Ông Hurry muốn tạo ra một hệ thống quản lý hàng hóa và việc mua bán hàng hóa cho chuỗi cửa hàng xuyên nước Anh(wow!!!) thay cho hệ thống quản lý nhỏ và cũ trước đó.
- Người bán hàng thực thi việc đặt hàng bằng việc nhập vào ID của sản phẩm và yêu cầu số lượng cho hệ thống. Hệ thống sẽ hiển thị những hàng hóa sẵn sàng được bán, giá cả, chi tiết về hàng hóa.
Những hàng hóa sẵn sàng để bán (In-stock product) thông thường sẽ được tập hợp ngay lập tức để khách hàng mua trực tiếp tại cửa hàng hoặc có thể được chọn để gởi tới địa chỉ nhà của khách hàng lúc đó sẽ có thêm tiền thù lao nữa.
Những hàng hóa chưa sẵn sàng để bán thì người bán hàng có thể tạo 1 backorder cho sản phẩm từ kho.
(backorder là gì? Giống kiểu người ta đặc hàng Iphone hàng tháng trời lúc Iphone chưa ra lò, họ phải đợi để được nhận hàng vào một ngày đã định sau khi sản phẩm sẵn sàng tới tay người dùng. Giống kiểu mình đặt hàng 1 cái rựa, sao đó đợi ông thợ rèn rèn sau sẽ lấy hả? )
Sản phẩm có thể phát hành trực tiếp từ kho tới địa chỉ nhà của khách hàng hoặc được đưa tới cửa hàng cho khách hàng lựa chọn và mua.
Hệ thống sẽ cho phép khách hàng trả bằng tiền mặt hoặc credit card(thẻ trả trước hay thẻ trả sau hay thẻ ngân hàng đã có tiền trong tài khoản). Giao dịch của credit card sẽ được gởi đến hệ thống giao dịch card online. Hệ thống này sẽ cung cấp 1 biên lai. Chi tiết đơn đặt hàng cho những sản phẩm sẵn sàng để bán sẽ được in ra ở nhà kho bao gồm thông tin thùng hàng (the bin reference, dịch đúng hơm?), số lượng, id sản phẩm, chi tiết hàng. Tất cả sẽ được tập hợp bởi người bán hàng để gởi tới khách hàng. Người bán hàng có thể trả lại tiền thừa( refund?) , cung cấp biên lai đã được viết ( cho khách hàng?).
Người bán hàng cũng có thể kiểm tra hàng hóa và giá mà không cần tạo 1 đơn đặt hàng và tiến hành những đơn đặt hàng đã được tạo để phân phát ( progress the orders have been created for delivery).
- Người quản lý hàng hóa ( the store manager) bất kỳ lúc nào cũng có thể in báo cáo tổng kết việc bán hàng của cửa hàng trong 1 khoản thời gian, bao gồm cả việc phân công công việc đối với những người bán hàng để chia tiền thưởng định kỳ.
Người quản lý hàng hóa sẽ giám sát mức hàng hóa và tốc độ bán sản phẩm đó định kỳ 1 tuần để tập hợp những sản phẩm doanh thu bán ít nhất để có thể yêu cầu giảm giá sản phẩm đó hoặc để dự đoán trước khả năng bán ra của sản phẩm.
- Người thủ kho sẽ ghi lại hàng hòa được chuyển tới. Hàng hóa được backorder trước sẽ được chuyển tới 1 vùng riêng và người quản lý hàng hóa sẽ xem xét lại thông tin về khách hàng đã đặt backorder.
- Bộ phận maketing tại head office sẽ duy trì catalogue của những sản phẩm sẵn sàng được bán từ xa. Bộ phận maketing cũng có thể truy cập thông tin bán hàng từ mỗi cửa hàng.
Ok yes xong phần hiểu cái yêu cầu của phần mềm làm j, giờ bắt đầu từng bước đặc tả use case thôi.
2. Create the use case diagram :
Hắn bảo mình phải tự vẽ, tự viết use case trước nè, và nhớ lại các điểm sau hỉ :
- Đừng mong chờ sự hoàn hảo ngay lần làm đầu tiên nhé. Tiến trình thì lặp. hix, chưa hiểu kỹ lắm.
- Actor luôn luôn bên ngoài hệ thống being modelled ( chính xác là : Actor are always outside the system being modelled)
- Đừng nghĩ, đừng tạo nó như một biểu đồ dòng dữ liệu nhe, không phải đâu. Tới đây thì mình biết mình chưa hiểu kỹ the data flow diagram? ráng lên tìm hiểu lại).
- Nghĩ cẩn thận về cái text trong câu phát biểu vấn đề nhé. Tên của use case không được kết hợp bở động từ/danh từ đâu.
Many are only steps in a use case and don't appear on the use case diagram at all.? (Dịch sao hix).
3. The course solution use cases diagram - First cut : Actors (1) A sales assistand (2) A regional warehouse (3) An online card transaction system (4) Stock manager (5) Store manager (6) Head offfice 4. Write the use case text : Write the basic flow of Progress Order. Dùng 1 mẫu tài liệu use case có sẵn để viết text hoặc nếu thích thì bạn có thể viết trong text comments box cho use case trong case tool của bạn cũng được.(if you prefer any word processor or you could write the text in the text comments box in you case tool)
Theo các chỉ dẫn sau :
> Write short simple numbered sentences : Viết những câu ngắn đơn giản đã được đánh số(?) > Try to stick to interactions across the system boundary : Ráng bám vào chỗ những tác động qua lại xuyên qua vùng biên hệ thống nha( cái này mh dịch chưa ổn nhưng mà hiểu, nên bám vào tác động giữa Actors và hệ thống á). > As you think of possible alternate flows, add them an alternate flow names, but do not elaborate them. Finish the basic flow first. : Khi bạn nghĩ tới đoạn nào có thể có những dòng xen kẽ thì thêm cái tên của dòng xen kẽ đó vào nhé, nhưng mà chưa cần thêm chi tiết về nó. Trước hết hãy kết thúc the basi flow trước đã. > Use the Hurry's problem statement as your information source remembering that is not complete and that you will have to be creative in places : Dùng The Hurry's problem statement như một nguồn thông tin của bạn nhưng nhớ là cái nguồn thông tin này ko đầy đủ vì vậy bạn phải thêm chút "sáng tạo" ở đây nhé! (Ví dụ bạn tìm hiểu thêm một chút về nghiệp vụ bán hàng) > Try to visualize the Process Order screen that the sale assistant will be using. If this is difficult then draw a visual prototype using drawing tools or just pencil and paper: Cố gắng hình dung the Process Order screen được người bán hàng dùng. Nếu khó hình dung thì hãy vẽ một mẫu trực quan dùng công cụ vẽ hoặc giấy+bút chì là đủ rồi. > The course solution has 23 numbered sentences of which 21 are actual interactions across the system boundary. Don't expect to get all of them but if you have less than 21 then you are probably writing too high a level : Có 23 bước, trong đó 21 bước thật sự là tác động qua lại ở vùng biên hệ thống. Đừng mong hiểu hết nó nhưng ....(hix thực sự là chưa có dịch đc huhu) > Remember that there are two interactions needed with the card transactions system, one to validate the card, the second to execute the transactions : Nhớ là có 2 tác động cần thiết với hệ thống giao dịch card, một là kiểm tra card có hợp lệ hay không, hai là thực thi giao dịch. > If you are having troubles getting started then try using the Step-by-step outline below Basic flow steps Nếu thấy hơi khó để bắt đầu viết use case xem qua Step-by-step ni tý hỉ :
Pre - Conditions: The user is logged on Dịch hỉ : hi hi :) fighting!!! À, trong cái bản word down về hơi khác tý nha, nhưng chủ yếu nắm được cấu trúc của the basic flow để mà mình ứng dụng vô Cái My-Factory. Nói chung là cái tiến trình ni mà dịch tiếng Việt thì khó hiểu òm đi, với lại cái kiểu bán hàng của nước ngoài cũng khác Việt Nam nữa, cái mô hình hơi "lạ", nhưng mà chung lại thì quá trình "Process Order" viết dựa trên cái biểu đồ Use case đó thôi. Ví dụ Use case "Process Order" hắn có liên quan đến 4 Actor : Sales assistant, Card handling System, Regional warehouse, Warehouse person. Viết use case dựa theo cái The Hurry's problem statement hoặc là liệt kê xem từng Actor thực hiện chức năng gì? Như Sales assistant làm gì nè? và trong loạt chức năng đó có chức năng nào liên quan đến Use case Process Order không? Thêm nữa là phải làm theo từng bước,theo dòng thời gian, theo dòng xự kiện. Chú ý thêm có chỗ nào Lặp không hỉ? Rồi chỗ nào xuất hiện Dòng xen kẽ? => Xử lý chúng! Có khi nào bỏ sót 1 bước nào không he? Nếu bỏ thì mình thêm không sao đâu. hì hì. Ok. 6. Write an alternate flow
Trong dòng 4 của the basic flow hệ thống hiển thị những hàng hóa có giá trị. Lúc này người bán hàng lựa chọn đặt 1 backorder cho tất cả hoặc 1 phần của yêu cầu. Hệ thống sẽ try cập vào thông tin những hàng hóa sẵn sàng để bán trong những khu vực kho phục vụ (đáp ứng) các cửa hàng. Người bán hàng gọi hàng hóa từ những khu vực kho có chứa hàng hóa đó. Viết 1 dòng xen kẽ cho phép người bán hàng xem được hàng hóa trong khu vực kho đó và chọn (choose one?), nếu thích thì có thể yêu cầu từ khu vực kho gần nhất. Cho phép backorder được phân phối trực tiếp đến khách hàng hoặc là được gởi tới cửa hàng địa phương để được thu thập (collection).
4 cái yếu tố cần thiết của 1 dòng xen kẽ nè :
Alternate Flow - Make Backorder
Lại thêm 1 cái use case document nữa :) hihi sắp tới cái use case document cuối cùng rồi. Sắp đc đi ăn chè rồi.
Cách viết Alternate flow trong use case document
- 1 dòng ghi tên của Alternate flow, dòng tiếp theo chỉ ra cái dòng nào trước đó trong the basic flow chứa nó, nhớ là thêm chữ then á nha , các dòng tiếp theo là các bước của Alternate flow đó, cứ thế mà tăng number lên cho tới khi cái alternate flow đó hết nhiệm vụ. Mà cái dòng cuối cùng của Alternate flow sao lại restart tại line 10 của the basic flow được? ĐÂY : NÓ ĐÂY => 10) Steps 3) to 9) may be repeated for further order lines
Thích thì dùng tools hoặc dùng giấy tạo 1 biểu đồ hoạt động cho toàn bộ các dòng của use case. Chứa những hoạt động đơn lẻ của tất cả 5 dòng xen kẽ nêu bật lên the basic flow solution . Không cần 1 activity cho mỗi dòng của use case đâu, chỉ một cái cho mỗi phần ở chỗ có những quyết định (hix, dịch tạm, only one for each part between decision points). 9. Activity Diagram Course Solution : Xong rồi đó ! mà còn cái Prototype Screen thì sao hỉ? cảm ơn vì đã cùng mình xem tới đây nhé! |
No comments:
Post a Comment