Đối với những người phát triển mà chưa có kiến thức chuyên môn thành thạo về nghiệp vụ của hệ thống xây dựng thì cách tốt nhất để trích rút ra các lớp ứng cử là sử dụng phương pháp trích rút danh từ với 2 giai đoạn như sau:
Giai đoạn 1: Định nghĩa vấn đề một cách ngắn gọn: Miêu tả hệ thống phần mềm xây dựng một cách ngắn gọn, súc tích dưới dạng một đoạn văn duy nhất. Trong bài toán thang máy ta có đoạn văn như sau:
“ Các nút trong thang máy và ở mỗi tầng điều khiển sự di chuyển của n thang máy trong tòa nhà m tầng. Các nút sáng lên khi có người bấm nút đó để yêu cầu thang máy di chuyển tới một tầng nào đó; nút đó sẽ trở lại trạng thái bình thường khi yêu cầu đã được
1. Người dùng A nhấn nút đi lên của tầng ba để yêu cầu thang máy và người dùng A muốn đi xuống tầng 1.
2. Nút đi lên của tầng ba sáng lên.
3. Thang máy đến tầng 3. Trong thang máy đang có người dùng B, người dùng B đã vào thang máy từ tâng 1 và yêu cầu lên tầng 9.
4. Nút đi lên của tầng 3 trở lại trạng thái bình thường. 5. Cửa thang máy mở ra.
6. Máy bấm giờ bắt đầu. Người dùng A bước vào thang máy. 7. Người dùng A nhấn nút 1 của thang máy .
8. Nút 1 của thang máy sáng lên.
9. Cửa thang máy đóng lại sau một thời gian vượt quá thời gian quy định của máy bấm giờ.
10. Thang máy lên tới tầng 9.
11. Nút 9 của thang máy trở lại trạng thái bình thường.
12. Cửa thang máy mở và cho phép người dùng B ra khỏi thang máy. 13. Máy bấm giờ bắt đầu. Người dùng B bước ra khỏi thang máy. 14. Cửa thang máy đóng lại sau một thời gian quy định.
15.Thang máy đi tiếp tục xuống tầng 1 theo yêu cầu của người dùng A.
Hình 8.3: Kịch bản ngoại lệ của bài toán thang máy PTIT
Chương 8: Phương pháp phân tích hướng đối tượng
đáp ứng. Khi thang máy không nhận được yêu cầu nào thì nó vẫn ở tầng hiện tại và cửa vẫn đóng.”
Giai đoạn 2: Xác định các danh từ: Xác định các danh từ theo chiến lược không hình thức. Trong bài toán thang máy có:
“Các nút trong thang máy và ở mỗi tầng điều khiển sự di chuyển của n thang máy trong tòa nhà m tầng . Các nút sáng lên khi có người bấm nút đó để yêu cầu thang máy di chuyển tới một tầng nào đó; nút đó sẽ trở lại trạng thái bình thường khi yêu cầu đã được đáp ứng. Khi thang máy không nhận được yêu cầu nào thì nó vẫn ở tầng hiện tại và cửa vẫn đóng”.
Sử dụng các danh từ trên như là các lớp ứng cử. Ta có các danh từ: Nút, thang máy, tầng , sự di chuyển, tòa nhà, yêu cầu, cửa. Trong đó, các danh từ: tầng, tòa nhà, cửa nằm bên ngoài biên của bài toán nên bị loại trừ. Còn danh từ sự di chuyển là danh từ trừu tượng nên bị loại trừ (chúng có thể trở thành các thuộc tính). Do đó, các lớp ứng cử là: thang máy và lớp nút và các lớp con: lớp nút thang máy và lớp nút tầng.
Biểu đồ lớp kết quả được biểu diễn bằng UML như hình 8.4
Hình 8.4 Bước lặp thứ nhất của biểu đồ lớp
Vấn đề xảy ra ở đây là trong thực tế các nút của thang máy không giao tiếp trực tiếp với thang máy. Khi đó thường yêu cầu có một vài loại điều khiển thang máy, và quyết định thang máy nào sẽ đáp ứng yêu cầu cụ thể. Tuy nhiên, trong phát biểu bài toán không đề cập đến lớp điều khiển, vì thế không có lớp điều khiển trong suốt quá trình trích rút danh từ. Mặt khác, kỹ thuật trích danh từ mà chúng ta sử dụng ở đây để tìm ra các lớp ứng cử được xem như điểm khởi đầu nhưng cũng không nên dựa hoàn toàn vào đó. Chúng ta cần thêm lớp điều khiển thang máy vào biểu đồ lớp hình 8.4. Đồng thời cũng thêm mối quan hệ 1-n giữa lớp điều khiển thang máy và lớp thang máy. Yếu tố này sẽ tạo điều kiện cho việc thiết kế và cài đặt dễ dàng hơn
Chương 8: Phương pháp phân tích hướng đối tượng
Hình 8.5 Bước lặp thứ hai của biểu đồ lớp