Để Spa có thể thực hiện tốt hoạt động của mình công ty yêu cầu làm một phần mềm quản lý khách hàng, sản phẩm, đặt cuộc hẹn, nhân viên.. Để có thể xây dựng được phần mềm đúng yêu cầu và m
Trang 1ĐẠI HỌC BÁCH KHOA HÀ NỘI
Tiểu luận môn Phân tích thiết kế hệ thống
hướng đối tượng Thiết kế phần mềm quản lý thẩm mỹ viện
Cô giáo hướng dẫn: Ths.Bùi Thị Hòa
Sinh viên: Đỗ Quốc Bình
Đặng Ngọc Minh Đinh Thị Vân Anh Nguyễn Quỳnh Hoa
Nguyễn Văn Phương
Lớp: Cao học CNTT1 2012B
Trang 2I Giới thiệu 2
II Yêu cầu khách hàng 2
1 Yêu cầu chức năng 2
2 Yêu cầu phi chức năng 3
III Kiến trúc chương trình 3
IV Usecase view 4
1 Usecase mức 1 của hệ thống 4
2 Các usecase mức 2 của hệ thống 5
V Development view 7
1 Layer view 7
2 Package View 8
VI Logical View 8
1 Communication view 8
2 Class diagram 9
3 Sequence diagram 9
4 Relationship diagram 10
VII Deployment View 11
VIII Một số prototype của chương trình 11
Trang 3I Giới thiệu
Vietnamese Beauty spa là một salon chăm sóc sắc đẹp cũng như là nơi thư giãn của các chị em Để Spa
có thể thực hiện tốt hoạt động của mình công ty yêu cầu làm một phần mềm quản lý khách hàng, sản phẩm, đặt cuộc hẹn, nhân viên Sản phẩm có thể chạy trên nền tảng desktop, web, hỗ trợ các thiết bị di động
Để có thể xây dựng được phần mềm đúng yêu cầu và mục đích của spa việc thiết kế một tài liệu cung cấp một cách nhìn tổng quan về mặt kỹ thuật và yêu cầu của phần mềm là điều cần thiết Tài liệu cũng mô tả các công nghệ sẽ được sử dụng đê xây dựng hệ thông Quản Lý Spa
Tài liệu này cung cấp một mô tả ở mức độ cao của kiến trúc, các trường hợp sử dụng hỗ trợ bởi hệ thống(use case) và phong cách kiến trúc và các thành phần đã được lựa chọn để đạt được tốt nhất các trường hợp sử dụng Ngoài ra để việc thiết kế đạt đúng yêu cầu, tài liệu còn giới thiệu một số các màn hình prototype
Để tạo một sản phẩm đúng mục đình và có độ hài lòng cao của khách hàng việc tìm hiểu yêu cầu khách hàng là yếu tố quan trọng sống còn và cũng là bước đầu tiên khi xây dựng dự án Việc lấy yêu cầu khách hàng được phân làm 2 loại yêu cầu
Yêu cầu chức năng: mô tả khả năng đáp ứng của hệ thống cho hoạt động nghiệp vụ hay là mô tả các
chức năng có thể thực hiện bởi người dùng Tài liệu mô tả yêu cầu chức năng qua các cách thức: tạo prototype của người sử dụng, mô tả các trường hợp sử dụng hay là usecase
Yêu cầu phi chức năng:là chìa khóa cho các quyết định thiết kế: chất lượng hệ thống, chất lượng kinh
doanh, các thuộc tính chất lượng khác
1 Yêu cầu chức năng
Chương trình gồm một số module sau:
Quản lý lịch hẹn cho khách hàng với nhân viên
Quản lý thông tin khách hàng
Quản lý thông tin nhân viên
Quản lý các thông tin về các dịch vụ mà thẩm mỹ viện cung cấp
Quản lý hóa đơn
Quản lý phiếu giảm giá
Các vai trò người dùng: hệ thống chỉ gồm 2 loại user chính là quản trị hệ thống và nhân viên:
Trang 42 Yêu cầu phi chức năng
Tính sắn sàng: hệ thống có thể truy cập nhanh qua desktop hoặc qua môi trường internet Thời gian phản hồi là không đáng kể
Tính dễ sửa: hệ thống có khả năng nâng cấp dễ dàng thêm các modul mới trong tương lai Xây dựng khả năng mở rộng để có thể phục vụ đối tượng khách hàng sử dụng website trong tương lai để đăng ký sử dụng dịch vụ
Tính bảo mật: hệ thống chỉ có thể sử dụng bởi những người được cấp quyền Mật khẩu của người dùng phải được mã hóa, tránh bị bẻ khóa bằng các công cụ cơ bản
Tính dễ sử dụng: hệ thống sử dụng đơn giản, có thể truy cập qua thiết bị di động màn hình nhỏ Không đòi hỏi nhiều thao tác, có các phím truy cập nhanh cho người sử dụng
III Kiến trúc chương trình
Để thể hiện các chức năng cũng như kiến trúc của phần mềm, tài liệu sẽ sử dụng mô hình 4+ 1 view
Tài liệu sẽ mô tả các view sau
gồm các sở đồ UML: Class diagram, Communication diagram, Sequence diagram
sẽ sử dụng sơ đồ UML Component diagram Ngoài ra còn bao gồm package diagram
giao tiếp Phần này sẽ trình bầy Activity diagram
người sử dụng trong hệ thống
Trang 5IV Usecase view
Usecase view hay Scenario view thể hiện các hành động mà người sử dụng có thể sử dụng được
1 Usecase mức 1 của hệ thống
Trang 62 Các usecase mức 2 của hệ thống
Trang 8V Development view
1 Layer view
Hệ thống được thiết kế với phong cách layer, có 3 layer chính là: presentation layer, business layer, data access layer
Presentation Layer
Business Logic Layer
Data Access Layer
LoginProgram
GetUser
GetEmployeeInfo
AddEmployee
EditEmployee
DeleteEmployee
GetServiceInfo
AddService
EditService
DeleteService
GetProductInfo
AddProduct
EditProduct
DeleteProduct
GetCustomerInfo
AddCustomer
EditCustomer
DeleteCustomer GetCustomer
AddAppointment GetService
GetEmployee
AddOrder
PrintOrder
Employee
Trang 92 Package View
Appointment _Manager
Order _Manager
Product _Manager
Service _Manager
List_Customer.java
Edit_Customer.Java
List_Employee.java Edit_Employee.Java
List_Appointment.java
Add_Appointment.Java
List_Order.java
Add_Order.Java
List_Product.java Edit_Product.Java
List_Category.java Edit_Category.Java
List_Group.java Edit_Group.Java
List_Service.java Edit_Service.Java
Print_Order.Java
1 Communication view
Thể hiện các giao tiếp giữa các module với nhau trong một hệ thống
GLAMOUR CLINIC SHOP
Service
EMPLOYEE
APPOINTMENT
1.0:Find_Service()
2.0:Get_Service()
2.1:Check_Status()
2.2:Make_Appointment() 2.3:Make_Order()
Trang 10Sơ đồ mô tả tiến trình tìm một dịch vụ của nhân viên Thứ tự các bước diễn ra được mô tả thành các bước 1.0, 1.1,2,0…
2 Class diagram
<<Enumeration >>
AppointmentStatus
Waiting
Pending
Finished
Stopped
<<Enumeration >>
EmployeeStatus Active Pending Trial Quitted
Group + GroupID : Int + GroupName: String Employee
+ EmployeeID : Long + FirstName : String + LastName : String + Gender : Boolean + UserName : String + Password : String + BirthDay : Datetime + Address : String + Phone : Long + Description : String + Status : EmployeeStatus + GetEmployeeInfo(Long): Employee + CheckEmployeeStatus(Schedule):
EmployeeStatus
Category + CategoryID : Int + CategoryName : String
Product + ProductID : Long + ProductName : String + Price : Real + Stock : Int + Descroption : String
Service + ServiceID : Long + ServiceName : String + Price : Real + Time : Real
Apointment + AppointementID : Long + AppointmentDate : Datetime + Schedule : Datetime + Description : String + Status : AppointmentStatus
Order + OrderID: Long + Total : Real + Discount : Real + Amount : Real
GiftCertificate
+ GiftCertificateID : Long
+ CreateDate : Datetime
+ EndDate : Datetime
+ Discount : Real
Customer
+ FirstName : String
+ LastName : String
+ Gender : Boolean
+ BirthDay : Datetime
+ CustomerID: Long
+ Email : String
+ Phone1 : Long
+ Phone2 : Long
+ Address : String
0 *
0 *
0 *
0 *
0 1
0 *
0 *
0 *
0 *
0 *
0 *
+ GetServiceInfo(): Service + AddAppointment(Schedule):
Appointment + SetStatusAppointment():
AppointmentStatus
+ GetCustomerInfo():
Customer
+ GetGift(CusomerID,
Schedule): GiftCertificate
+ GetGiftInfo ():
GiftCertificate
+GetAppointmentInfo (Schedule, CusomerID):
Appointment +SetEmployeeStatus(Schedul e): EmployeeStatus +PrintOrder() +GetGift(Customer):
GiftCertificate
0 *
0 *
Các class trên mô tả tương đối rõ nhiệm vụ của các class đó
Class GiftCertificate dùng để quản lý các thông tin khuyến mại
3 Sequence diagram
Do các hàm trong hệ thống nhiều, tài liệu chỉ chọn mô tả một chức năng là đặt Order của khách hàng
Trang 11Customer Service
loop
Search_Serive()
opt
Get_Result()
View_ServiceDetail()
Employee
Check_Avaiable(Schedule)
IsAvaiable()
IsActive () IsCanSever()
Appointment Order
alt
Make_Appointment(Schedule)
Set_IsWaiting (Schedule) IsWaiting ()
Make_Order()
Set_IsPending() Make Order
IsServing()
IsComplete()
Set_IsClosed() Print_Order()
4 Relationship diagram
Customer
+ FirstName : String
+ LastName : String
+ BirthDay : Datetime
+ CustomerID: Long
+ Email : String
+ Phone1 : Long
+ Address : String
Employee
+ EmployeeID : Long + FirstName : String + LastName : String + UserName : String + Password : String + BirthDay : Datetime + GroupID : Int
+ Address : String + Phone : Long + Description : String
Group
+ GroupID : Int + GroupName: String
Product
+ ProductID : Long + CategoryID : Int + ProductName : String + Price : Real + Stock : Int + Descroption : String
Category
+ CategoryID : Int + CategoryName : String
Service
+ ServiceID : Long + ServiceName : String + Price : Real
Order
+ OrderID: Long + CustomerID : Long + Total : Real + Discount : Real + Amount : Real
OrderDetail
+ OrderDetailID : Long + OrderID : Long + ServiceID : Long + Quantity : Int + Price : Real + InculsionPrice : Real
GiftCertificate
+ GiftCertificateID : Long + CustomerID : Long + CreateDate : Datetime + EndDate : Datetime + Discount : Real
Gift
+ GiftID : Long
+ OrderId : Long
+ GiftCertificateID : Long
+ EmployeeID : Long
ServiceDetail
+ ServiceDetailId : Long + ServiceID : Long + ProductID : Long
Apointment
+ AppointementID : Long + CustomerID : Long + ServiceID : Long + EmployeeID : Long + AppointmentDate : Datetime + Schedule : Datetime + Description : String + Status : String
+ Status : String
Trang 12VII Deployment View
Hệ thống viết dưới mô hình N tier và phong các SOA Bussiness layer sẽ là một webservice có thể cung cấp các tính năng cho nhiều loại client khác nhau Ở đây có 2 client có thể access là Desktop và
WebAccess
Viết với phong cách SOA làm cho chương trình dễ mở rộng, không chỉ gắn với một ngôn ngữ lập trình hay môt nền tảng nhất định Điều này làm cho chương trình dễ thích nghi
VIII Một số prototype của chương trình
Đăng nhập
Trang 13Tạo cuộc hẹn
Quản lý thời gian
Trang 14Thêm khách hàng
Quản lý sản phẩm
Trang 15Hóa đơn chi tiết
In hóa đơn chi tiết