Tuy vậy, phổ biến trên thị trường phần mềm ứng dụng hiện naymới chỉ là các phần mềm áp dụng cho các hệ thống kế toán, quản lý công văn haygiấy tờ, ít xuất hiện những hệ thống có khả năng
Trang 1MỤC LỤC
MỤC LỤC………
DANH MỤC VIẾT TẮT………
MỞ ĐẦU………
CHƯƠNG 1 TỔNG QUAN VỀ Mễ HèNH HểA PHẦN MỀM VÀ HỆ THỐNG QUẢN TRỊ NGUỒN LỰC DOANH NGHIỆP……….
1.1 Tổng quan về mụ hỡnh húa ……….
1.1.1 Khỏi niệm trừu tượng hoỏ………
1.1.2 Khỏi niệm mụ hỡnh và mụ hỡnh hoỏ ………
1.1.2.1 Khỏi niệm về mụ hỡnh hoỏ
1.1.2.2 Mục đớch của mụ hỡnh hoỏ………
1.1.3 Phơng pháp mô hình hoá ………
1.1.4 Ngụn ngữ mụ hỡnh hoỏ………
1.1.5 Nguyờn tắc mụ hỡnh hoỏ……….
1.2 Mụ hỡnh hoỏ tiến trỡnh phỏt triển phần mềm………
1.2.1 Tiến trỡnh phỏt triển phần mềm……….
1.2.2 Các mô hình phát triển HTTT cơ bản nhất
I.2.2.1 Mô hình Vòng đời cổ điển
I.2.2.2 Mô hình làm bản mẫu
I.2.2.3 Mô hình xoắn ốc
1.2.3 Cỏc mụ hỡnh phỏt triển phần mềm theo kỹ nghệ hướng cấu trỳc
1.2.3.1 Mụ hỡnh của khụng gian phỏt triển một hệ thống
1.2.3.2 Mụ hỡnh đặc tả cỏc giai đoạn phỏt triển một hệ thống
1.2.3.3 Sơ đồ quỏ trỡnh phỏt triển hệ thống
1.2.4 Cỏc mụ hỡnh phỏt triển phần mềm theo kỹ nghệ hướng đối tượng
1 4 5
7 7 7 8 8 8 8 10 10 11 11 12 12 13 14 14 14 15 16
17
17
17 18
Trang 21.2.4.1 Ngôn ngữ mô hình hoá hợp nhất (Unified Modeling
Language-UML)………
1.2.4.2 Quy trình phát triển phần mềm hợp nhất (Unified Software Development Procces) ………
1.2.4.3 Mô hình hóa kiến trúc hệ thống trong UML………
1.2.5 Mô hình phát triển phần mềm theo kỹ nghệ hướng thành phần……
1.2.5.1 Mô hình thành phần………
1.2.5.2 Thực thi mô hình thành phần………
1.2.5.3 Vòng đời phần mềm………
1.2.5.4 Sơ đồ tổng thể phát triển phần mềm
1.2.5.5 Mô hình phát triển phần mềm hướng thành phần
1.2.6 Mô hình phát triển phần mềm theo kỹ nghệ hướng dịch vụ (SOA)
1.2.6.1 Một số đặc trưng phân biệt của SOA
1.2.6.2 Mô hình kiến trúc của SOA
1.3 Tổng quan về hệ thống quản trị nguồn lực doanh nghiệp………
1.3.1 Khái niệm
1.3.2 Chức năng của ERP
1.3.3 Sự khác biệt giữa ERP với kế toán truyền thống………
1.3.4.Thực trạng sử dụng ERP ở Việt Nam……….
1.3.5 Khái quát về CRM………
1.3.5.1 Khái niệm về CRM……….
1.3.5.2 Các chức năng của CRM………
CHƯƠNG 2 ỨNG DỤNG MÔ HÌNH HÓA HƯỚNG CẤU TRÚC TRONG QUÁ TRÌNH PHÁT TRIỂN HỆ THỐNG QUẢN TRỊ MUA BÁN HÀNG VÀ BẢO HÀNH SẢN PHẨM………
2.1 Hệ thống quản trị mua bán hàng và bảo hành sản phẩm ………
2.1.1 Quy trình mua hàng……….
2.1.2 Quy trình bán hàng………
2.1.2.1 Bản chất của bán hàng……… ….
19 19 22 23 24 25 25 26 28 28 28 29 29 30 30 30 31
33 33 33 36 36 37 39 39 40 40 41 42
Trang 32.1.2.2 Phân loại bán hàng
2.1.2.3 Quản trị bán hàng………
2.1.2.4 Quy trình bảo hành sản phẩm
2.2 Các mô hình quản lý
2.2.1 Mô hình quản lý khách hàng tiềm năng
2.2.2 Mô hình quản lý tổ chức
2.2.3 Mô hình quản lý hợp đồng
2.2.4 Mô hình quản lý bán hàng
2.2.5 Mô hình quản lý cơ hội
2.2.6 Mô hình quản lý chiến dịch
2.3 Các mô hình nghiệp vụ………
2.3.1 Mô hình ngữ cảnh ………
2.3.2 Mô hình phân cấp chức năng ……….
2.3.2.1 Phân tích xác định chức năng………
2.3.2.2 Sơ đồ phân cấp chức năng ………
2.3.3 Ma trận cân đối E_F
2.4.Các mô hình phân tích
2.4.1.Các mô hình phân tích xử lý
2.4.2 Các mô hình phân tích dữ liệu
2.4.2.1 Danh sách các thực thể ………
2.4.2.2 Các mối quan hệ ………
2.5 Các mô hình thiết kế………
2.5.1 Mô hình thiết kế CSDL vật lý………
2.5.2 Mô hình tổ chức dữ liệu và hệ thống………
2.5.2.1 Mô hình tổ chức dữ liệu………
2.5.2.2 Mô hình hệ thống………
42 43 43 44 44 44 44 45 46 47 47 50 50 51 52 52 68 68 68 69 69 69 70 70 71 72 73 74 76 77 79
Trang 4CHƯƠNG 3 CHƯƠNG TRÌNH THỬ NGHIỆM………
3.1 Môi trường thử nghiệm………
3.2 Một số giao diện chương trình
3.2.1 Giao diện đăng nhập………
3.2.2 Giao diện trang chủ………
3.2.3 Giao diện quản lý mua bán hàng………
3.2.4.Giao diện quản lý chiến dịch………
3.2.5 Giao diện quản lý khách hàng………
3.2.6 Giao diện quản lý các hoạt động khác………
3.3 Đánh giá kết quả thử nghiệm………
KẾT LUẬN………
TÀI LIỆU THAM KHẢO………
DANH MỤC CÁC CHỮ VIẾT TẮT
CRM Customer Relationship Management - Quản lý Quan Hệ Khách Hàng
CSDL Cơ sở dữ liệu
ERP Entepries Resoure Planning – Hoạch định nguồn lực doanh nghiệp
HTTT Hệ Thống thông tin
KSNB Kiểm soát nội bộ
NCC Nhà cung cấp
NTD Người tiêu dùng
OOP Object Oriented Programming - Lập trình hướng đối tượng
PKH Phòng kế hoạch
PTTK Phân Tích Thiết kế
QAQC Quality Assurance Quality control – Kiểm tra đảm bảo chất lượng
TGĐ Tổng giám đốc
TPKH Trưởng phòng kế hoạch
UML Unified Modeling Language- UML-Ngôn ngữ mô hình hoá hợp nhất
Trang 5MỞ ĐẦU
Trong vài năm trở lại đây, với sự phát triển như vũ bão của công nghệ thôngtin đã mang lại cho các doanh nghiệp những phương thức kinh doanh mới, hiện đạihơn, hiệu quả hơn Tuy vậy, phổ biến trên thị trường phần mềm ứng dụng hiện naymới chỉ là các phần mềm áp dụng cho các hệ thống kế toán, quản lý công văn haygiấy tờ, ít xuất hiện những hệ thống có khả năng bao quát toàn bộ quá trình kinhdoanh của doanh nghiệp
Cùng với sự phát triển của công nghệ phần cứng và mạng máy tính thì giờ đây
ERP (Entepries Resoure Planning) được dịch là hoạch định nguồn lực doanh nghiệp,
đã nhanh chóng nhận được sự quan tâm và đầu tư của các doanh nghiệp, do nhữnglợi ích to lớn mà nó mang lại ERP không chỉ giới hạn trong quản lý sản xuất, mà nóbao trùm lên toàn bộ chức năng chính của doanh nghiệp
Kế tiếp ERP thuật ngữ CRM (Customer Relationship Management) được
dịch là quản trị quan hệ khách hàng Áp dụng CRM có nghĩa là mọi hoạt động của
doanh nghiệp luôn được xoay quanh khách hàng, hướng tới việc tăng cường mốiquan hệ khách hàng và làm hài lòng khách hàng Về cơ sở lý thuyết CRM đưa rađược những kiến thức cơ bản về quản lý quan hệ khách hàng, bao gồm các quátrình từ tiếp thị bán hàng đến chăm sóc sau bán hàng để có được những khách hàngthường xuyên
Từ những tình trạng đang gặp phải của các doanh nghiệp trong nước cùng xuthế phát triển của các doanh nghiệp nước ngoài và những nhu cầu thiết yếu phải sửdụng công nghệ thông tin để làm công cụ hỗ trợ đắc lực cho các doanh nghiệp, xóa
bỏ những phương thức kinh doanh cổ hủ, lạc hậu Tôi mạnh dạn lựa chọn đề tài:
“Phát triển hệ quản trị mua bán hàng và bảo hành sản phẩm trong hệ thống hoạch định nguồn lực doanh nghiệp”.
Trang 6Cấu trúc của luận văn gồm những nội dung chính sau đây:
MỞ ĐẦU
Phần này trình bày ý nghĩa và lý do chọn đề tài “Phát triển hệ quản trị mua bán hàng và bảo hành sản phẩm trong hệ thống hoạch định nguồn lực doanh nghiệp” để nghiên cứu trong luận văn của mình.Cũng trong phần này tôi sẽ giới
thiệu nội dung và cấu trúc của luận văn
Chương này trình bày và tập trung mô tả về các mô hình nghiệp vụ của quytrình mua bán hàng và bảo hành sản phẩm sau bán hàng
Chương III : CHƯƠNG TRÌNH THỬ NGHIỆM
Chương này trình bày cách thức xây dựng,sử chương trình thử nghiệm vàmột số kết quả thu được từ chương trình thử nghiệm
Trang 7CHƯƠNG 1 TỔNG QUAN VỀ Mễ HèNH HểA PHẦN MỀM VÀ HỆ THỐNG
QUẢN TRỊ NGUỒN LỰC DOANH NGHIỆP 1.1 Tổng quan về mụ hỡnh húa
1.1.1 Khỏi niệm trừu tượng hoỏ
Để tỡm hiểu về một thế giới phức tạp, mọi khoa học thực nghiệm đều phải vận dụng một
nguyờn lý cơ bản, đú là sự trừu tượng hoỏ (Abstraction) Trừu tượng hoỏ là một nguyờn lý của nhận thức, đũi hỏi phải bỏ qua những sắc thỏi (chi tiết của chủ điểm) khụng liờn quan tới chủ định hiện thời, để tập trung hoàn toàn vào cỏc sắc thỏi chớnh liờn quan tới chủ định đú (từ điển Oxford) Theo Liberty J.,1998, trừu tợng là nguyên lý bỏ qua những khía cạnh của chủ thể không liên quan đến mục đích hiện tại để tập trung đầy đủ hơn vào các khía cạnh còn lại Trừu tợng hoá là đơn giản hoá thế giới thực một cách thông minh Nó cho khả năng tổng quát hoá và ý tởng hoá vấn đề đang xem xét Chúng loại bỏ đi các chi tiết d thừa mà chỉ tập trung vào các điểm chính, cơ bản.
Trừu tợng là sự mô tả một cách khái quát một đối tợng thực và bỏ qua nhiều yếu
tố, nhiều mặt không quan trọng của nó Sử dụng nguyên lý trừu tợng hoá có nghĩa làthừa nhận thế giới thực là phức tạp, thay vì cố gắng hiểu biết toàn bộ bằng lựa chọnmột phần của vấn đề
Theo Wasserman, “Ký pháp trừu tợng mang tính tâm lý cho phép ta tập trung vào một vấn đề ở một mức nào đó của sự khái quát, bỏ qua các chi tiết ở mức thấp ít liên quan Việc sử dụng sự trừu tợng cũng cho phép ta làm việc với các khái niệm và thuật ngữ gần gũi trong môi trờng của vấn đề đặt ra mà không phải chuyển chúng thành một cấu trúc không quen thuộc”.
Trừu tượng húa là một khả năng cơ bản của con người trong việc giải quyết cỏcvấn đề phức tạp Nú là một cơ chế được dựng để biểu diễn một sự vật phức tạp để trởnờn đơn giản hơn bằng cỏch dựng một số loại mụ hỡnh Nếu sự trừu tượng được biểudiễn ở mức vật lý, chẳng hạn như một sơ đồ trờn giấy hoặc một đối tượng vật lý, người
ta thường dựng thuật ngữ mụ hỡnh
1.1.2 Khỏi niệm mụ hỡnh và mụ hỡnh hoỏ
1.1.2.1 Khỏi niệm về mụ hỡnh hoỏ
Trang 8Việc dùng mô hình để nhận thức và diễn tả một hệ thống đợc gọi là mô hình hoá.
Trong khoa học máy tính, mô hình hoá bắt đầu từ việc mô tả vấn đề, sau đó là mô tả giải
pháp vấn đề Các hoạt động này còn đợc gọi là phân tích và thiết kế Khi khảo sát hệ
thống, ngời ta su tập yêu cầu cho hệ thống, ánh xạ chúng thành yêu cầu phần mềm , từ
đó phát sinh mã trình, đảm bảo yêu cầu phù hợp với mã trình và khả năng chuyển đổi mãtrình ngợc lại thành yêu cầu Tiến trình đó chính là thực hiện mô hình hoá
1.1.2.2 Mục đớch của mụ hỡnh hoỏ
Mục đích của mô hình hoá là để hiểu, để làm phơng tiện trao đổi, để hoàn chỉnh
hệ thống, hay nói rõ hơn:
a) Mụ hỡnh hoỏá giỳp ta hiểu và thực hiện được sự trừu tượng, tổng quỏt hoỏ cỏc khỏi niệm cơ sở để giảm thiểu độ phức tạp của hệ thống Qua mụ hỡnh chỳng ta biết
được hệ thống gồm những gỡ? và chỳng hoạt động như thế nào?
b) Mụ hỡnh hoỏ giỳp chỳng ta quan sỏt được hệ thống như nú vốn cú trong thực tế hoặc
nú phải cú như ta mong muốn.
c) Mụ hỡnh hoỏ cho phộp chúng ta đặc tả được cấu trỳc và hành vi của hệ thống: + Đảm bảo hệ thống đạt được mục đớch đó xỏc định trước
+ Kiểm tra được cỏc quy định về cỳ phỏp, ngữ nghĩa về tớnh chặt chẽ và đầy đủ của mụ hỡnh, khẳng định được tớnh đỳng đắn của thiết kế, phự hợp với yờu cầu của khỏch hàng.
d) Mụ hỡnh hoỏ là nhằm tạo ra khuụn mẫu (template) và hướng dẫn cỏch xõy dựng hệ thống; cho phộp thử nghiệm, mụ phỏng và thực hiện, hoàn thiện theo mụ hỡnh
1.1.3 Phơng pháp mô hình hoá
Phơng pháp mô hình hoá là một trong những phơng pháp quan trọng nhất để
nghiên cứu hệ thống ý tởng của phơng pháp mô hình hoá là không nghiên cứu trựctiếp đối tợng mà thông qua việc nghiên cứu một đối tợng khác “tơng tự” hay là “hình
ảnh” của nó mà có thể sử dụng đợc các công cụ khoa học Kết quả nghiên cứu trên môhình đợc áp dụng vào cho đối tợng thực tế.Hệ thống thực Mô hình
Kiểm nghiệm
đánh giá
Kết quả nghiêncứu mô hình
áp dụng khi không cần
phải điều chỉnh
điều chỉnh1
4Kiểm tra mức độ phù hợp
Trang 9Hình 1.1 Sơ đồ nguyên tắc hoạt động của phơng pháp mô hình hoá
Việc mô hình hoá thể hiện một tiến độ triển khai, bao gồm các bớc đi lần lợt, cáchoạt động cần làm Mô hình hoá giữ một vai trò đặc biệt quan trọng khi nó trở thànhmột công cụ trợ giúp Đó là cơ sở tạo phần mềm giúp cho việc triển khai hệ thống thựchiện đúng và nhanh
Phương phỏp mụ hỡnh húa là phương phỏp tiờn tiến Nú giỳp chỳng ta hiểu rừ hơn về
hệ thống mà chỳng ta đang xõy dựng, tạo ra cơ hội để cú thể đơn giản húa và tỏi sử dụng.Theo Booch G., Rumbaugh J and Jacobson I., mụ hỡnh hoỏ một hệ thống phảithực hiện theo cả bốn hướng:
Hình 1.2 Các hướng mô hình hoá
Hướng của điểm xuất phỏt sẽ kộo theo phương phỏp cần lựa chọn để phỏt triểnphần mềm Nếu ta bắt đầu từ bờn trỏi, nghĩa là tập trung vào chức năng để phõn tớchthỡ chỳng ta thực hiện, phỏt triển phần mềm theo cỏch tiếp cận hướng chức năng.Ngược lại, nếu bắt đầu từ bờn phải, nghĩa là dựa vào dữ liệu là chớnh thỡ chỳng ta sửdụng phương phỏp hướng đối tượng
Kiến trỳc
Cấu trỳc tĩnh (dữ liệu, thụng tin được lưu trữ, xử lý và cỏc yếu tố tạo nờn hệ thống)
Cỏch ứng xử
Cỏc chức năng, nhiệm vụ
hoặc quỏ trỡnh xử lý cỏc
nhiệm vụ của hệ thống
Trang 101.1.4 Ngôn ngữ mô hình hoá
Mô hình được biểu diễn theo một ngôn ngữ mô hình hoá Ngôn ngữ mô hình hoá bao gồm các ký hiệu (những biểu tượng được dùng trong mô hình) và một tập các quy tắc chỉ cách sử dụng chúng Các quy tắc này bao gồm:
- Cú pháp (Syntactic): cho biết hình dạng các biểu tượng và cách kết hợp chúng
trong ngôn ngữ
- Ngữ nghĩa (Semantic): cho biết ý nghĩa của mỗi biểu tượng, chúng được hiểu
thế nào khi nằm trong hoặc không nằm trong ngữ cảnh của các biểu tượng khác
- Mục đích (Pragmatic): định nghĩa ý nghĩa của biểu tượng để sao cho mục đích
của mô hình được thể hiện và mọi người có thể hiểu được
1.1.5 Nguyên tắc mô hình hoá
Thông qua mô hình hoá, chúng ta sẽ giới hạn vấn đề nghiên cứu bằng cách chỉ tậptrung vào một khía cạnh của vấn đề vào một thời điểm Mô hình hoá sẽ làm tăng độ dễhiểu của con người Booch G., Rumbaugh J., Jacobson I., 1999, đã đưa ra 4 nguyên tắc
cơ bản về mô hình hoá:
1 Việc chọn mô hình nào để tạo lập có ảnh hưởng sâu sắc đến cách giải quyếtvấn đề và cách hình thành các giải pháp
2 Mỗi mô hình biểu diễn hệ thống với mức độ chính xác khác nhau
3 Mô hình tốt nhất phải là mô hình phù hợp với thế giới thực
4 Không mô hình nào là đầy đủ Mỗi hệ thống thường được tiếp cận thôngqua tập mô hình gần như độc lập nhau
Trang 111.2 Mụ hỡnh hoỏ tiến trỡnh phỏt triển phần mềm
1.2.1 Tiến trỡnh phỏt triển phần mềm
Một tiến trỡnh phỏt triển phần mềm là một tập của cỏc hoạt động cần thiết đểchuyển cỏc yờu cầu người dựng thành một hệ thống phần mềm đỏp ứng được cỏc yờucầu đặt ra
Hỡnh 1.3 Quỏ trỡnh phỏt triển phần mềm
Vũng đời phỏt triển phần mềm được chia thành 4 pha: sơ bộ, soạn thảo, xõy dựng
và chuyển giao Trong mỗi pha lại chia thành nhiều bước lặp nhỏ Mỗi bước lặp đều
gồm một số cụng việc thực hiện trọn vẹn một sản phẩm phần mềm: lập cỏc mụ hỡnh đặc tả nghiệp vụ, xỏc định yờu cầu, lập cỏc mụ hỡnh phõn tớch dữ liệu , xử lý và hành
vi, lập cỏc mụ hỡnh thiết kế, triển khai và kiểm thử
Năm 1996, Huff lần đầu tiên hệ thống hóa một số mô hình tiến trình phần mềm.Sommerville, 2001, nhắc tới một số loại mô hình tiêu biểu:
- Mô hình thác nớc (waterfall model)
- Mô hình phát triển tiến hóa (evolutionary models): là mô hình trình phát triển
với quá trình lặp để xây dựng dần phần phềm Mô hình loại này bao gồm mô hình làmbản mẫu, mô hình xoắn ốc, mô hình tiến trỡnh hợp nhất Rational-RUP, mô hình pháttriển tăng dần, phát triển ứng dụng nhanh-RAD
- Phát triển hệ thống hình thức (formal system development): Một cách tiếp cận
dựa trên đặc tả hệ thống bằng toán học để chứng minh hay chuyển đổi nó thành chơngtrình nhờ các công cụ toán học chuyên dụng
- Phát triển phần mềm theo hớng sử dụng lại (reuse oriented software development): Quá trình phát triển tập trung vào việc tích hợp các thành phần đã có để
nhận đợc hệ thống, đáp ứng đợc các yêu cầu đặt ra
Để phỏt triển HTTT, người ta cú nhiều hướng phỏt triển Cỏc hướng chớnh đangthịnh hành cú thể kể ra là:
1 Cỏc mụ hỡnh phỏt triển phần mềm theo kỹ nghệ hướng cấu trỳc
2 Cỏc mụ hỡnh phỏt triển phần mềm theo kỹ nghệ hướng đối tượng
Yờu cầu
người dựng
Tiến trỡnh phỏt triển phần mềm
Hệ thống phần mềm
Trang 123 Cỏc mụ hỡnh phỏt triển phần mềm theo kỹ nghệ hướng thành phần
4 Cỏc mụ hỡnh phỏt triển phần mềm theo kỹ nghệ hướng dịch vụ
5 Cỏc mụ hỡnh phỏt triển phần mềm theo kỹ nghệ hướng điện toỏn đỏm mõy.Mỗi kỹ nghệ theo một hướng nào đú đều cú những thế trội nhất định và nhữnghạn chế nào đú Trong luận văn này, chỳng ta sẽ đi sõu vào nghiờn cứu kỹ nghệ hướngcấu trỳc Chỳng ta bắt đầu từ những kiến thức tổng quan nhất về hướng cấu trỳc Tiếp
đú giới thiệu từng mụ hỡnh cụ thể trong đú để tiến hành mụ hỡnh húa từng khõu khảosỏt, phõn tớch nghiệp vụ và logic Cuối cựng, chỳng ta sẽ vận dụng nú để diễn tả cỏc
mụ hỡnh thiết kế và cài đặt đỏp ứng yờu cầu của bài toỏn cụ thể
1.2.2 Các mô hình phát triển HTTT cơ bản nhất
I.2.2.1 Mô hình Vòng đời cổ điển
Kỹ nghệ phần mềm đợc minh hoạ theo khuôn cảnh vòng đời cổ điển Mô hình
vòng đời cổ điển đôi khi còn đợc gọi là mô hình thác nớc Khuôn cảnh vòng đời yêu cầu tiếp cận một cách hệ thống, tuần tự tới việc phát triển phần mềm, bắt đầu ở mức hệ
thống và tiến dần xuống phân tích, thiết kế, mã hoá, kiểm thử và bảo trì Nh vậy khuôncảnh vòng đời bao gồm các hoạt động trong mô hình thác nớc sau:
Hình 1.4 Mô hình Vòng đời cổ điển I.2.2.2 Mô hình làm bản mẫu
Cách tiếp cận làm bản mẫu cho kỹ nghệ phần mềm là cách tiếp cận tốt nhất khi:
-Khách hàng xác định đợc mục tiêu tổng quát cho phần mềm, nhng cha xác
định đợc input và output
Phân tích & định
rõ yêu cầu
Thiết kế hệ thống & phần mềm
Mã hoá
Kiểm thử đơn vị, tích hợp & hệ thống
Vận hành và Bảo trì
Phân tích Kỹ
nghệ- Hệ
thống- Môi tr
ờng
Trang 13-Ngời phát triển không chắc về hiệu quả của thuật toán, về thích nghi hệ điều hành
Mô hình có thể lấy một trong 3 dạng:
1 Bản mẫu trên giấy hay trên máy mô tả giao diện ngời-máy dới dạng làm chongời dùng hiểu đợc cách các tơng tác xuất hiện
2 Bản mẫu làm việc: cài đặt một tập con chức năng phần mềm mong muốn
3 Một chơng trình mà chỉ thực hiện nét cơ bản của tất cả chức năng mongmuốn nhng cần cải tiến thêm các tính năng khác tuỳ theo khả năng phát triển
Dãy các sự kiện của khuôn cảnh làm bản mẫu đợc minh hoạ trong hình bên
Hình 1.5 Mô hình bản mẫu
Ngời phát triển và khách hàng gặp nhau và xác định mục tiêu tổng thể cho phầnmềm, xác định các yêu cầu nào đã biết, miền nào cần khảo sát thêm Rồi đến việcthiết kế nhanh Thiết kế nhanh tập trung vào việc biểu diễn các khía cạnh của phầnmềm thấy đợc đối với ngời dùng (cách đa vào và định dạng đa ra) Thiết kế nhanh xây dựng một bản mẫu ngời dùng đánh giá làm mịn các yêu cầu cho phần mềm.Tiến trình lặp đi lặp lại xảy ra để cho bản mẫu đợc “vi chỉnh” thoả mãn yêu cầu củakhách, đồng thời giúp ngời phát triển hiểu kỹ hơn cần phải thực hiện nhu cầu nào
I.2.2.3 Mô hình xoắn ốc
- Mô hình xác định 4 hoạt động chính:
Lập kế hoạch: xác định mục tiêu, giải pháp và ràng buộc
Phân tích rủi ro: phân tích các phơng án và xác định/ giải quyết rủi ro
Kỹ nghệ: phát triển sản phẩm “mức tiếp theo”
Đánh giá của khách hàng: khẳng định kết quả của kỹ nghệ
Phân tích rủi ro dựa trên phản ứng của khách hàng
Quyết định có tiếp tục hay không ?
(cao điểm của việc phân
tích rủi ro)
Hướngưtớiưhệưthốngưhoànư chỉnhư(quá trình làm mịn)
kế hoạch
phân tích rủi ro
kỹ nghệ
Đánh giá của khách
Bản mẫu ban đầuBản mẫu tiếp theo
Tập hợp yêu cầu
và làm mịn xác định mục tiêu tổng thể, khảo sát thêm để
định rõ yêu cầu
thiết kế nhanh(input, output)
Xây dựng bản mẫu
Đánh giá của khách hàng
về bản mãu
Làm mịn bản mãu
Sản phẩm
(vi chỉnh yêu cầu)
Kếtưthúc
ưưưưBắtưđầuư
Trang 14Hình 1.6 C¸ch tiÕp cËn thùc tÕ nhÊt cho viÖc ph¸t triÓn c¸c hÖ thèng vµ phÇn mÒm cã
quy m« lín
1.2.3 Các mô hình phát triển phần mềm theo kỹ nghệ hướng cấu trúc
1.2.3.1 Mô hình của không gian phát triển một hệ thống
Cã thÓ coi mçi bíc trong qu¸ tr×nh PT_TK lµ mét ®iÓm trong kh«ng gian 3 chiÒu:chiÒu thµnh phÇn cña HTTT, chiÒu møc bÊt biÕn vµ chiÒu c¸c giai ®o¹n ph¸t triÓn ViÖcnghiªn cøu PT-TK HTTT cÇn ph¶i tiÕn hµnh theo mçi chiÒu cña kh«ng gian
Trang 15Hỡnh 1.7 Sơ đồ cỏc chiều của khụng gian phỏt triển hệ thống
(chữ đậm chỉ lĩnh vực nghiờn cứu của người PTTK)Z- liờn quan đến cỏch tiếp cận, phương phỏp luận, xỏc định cỏc giai đoạn, cỏcđiểm chuyển bắt buộc dẫn đến một lời giải cú thể hoàn hảo hoặc chưa nhưng khả thi
X-cho phộp xỏc định thành phần cơ bản của một HTTT: dữ liệu, xử lý,
- Thụng tin: thể hiện mặt tĩnh của HTTT
1.2.3.2 Mụ hỡnh đặc tả cỏc giai đoạn phỏt triển một hệ thống
Các giai đoạn phát triển một hệ thống đợc đặc tả bởi đồ hoạ sau theo trình tựthực tế I, II, III, IV trên cơ sở hai mức mô hình:
Mức vật lý Mức logic Mức tổ chức
Mức quan niệm
Lập kế hoạch phõn tớch thiết kế thực hiện chuyển giao Bảo trỡ
Trang 16Hình 1.8 Các giai đoạn phát triển hệ thống 1.2.3.3 Sơ đồ quá trình phát triển hệ thống
1.2.4 Các mô hình phát triển phần mềm theo kỹ nghệ hướng đối tượng
1.2.4.1 Ngôn ngữ mô hình hoá hợp nhất (Unified Modeling Language- UML)
Người sử dụng mong muốn
Người thiết kế mong muốn
Mô tả hoạt động của hệ thống hiện tạiLàm việc như thế nào(How to do)I
Mô tả hoạt động hệ thống mớiLàm việc như thế nào(How to do)IV
Mô tả
hệ thống mới làm gì(what to do)III
Mô tả
hệ thống hiện tại làm gì(what to do)II
Người sử dụng muốn xử lý trực tiếp
Bổ sung những yêu cầu cho hệ thống míi
Cân đối nhu cầu và những khả năng (các nguồn lực)
1 Lập kế hoạch
dự án
2 Phân tích hệ thống
3 Thiết kế hệ thống
4 Xây dựng phần mềm thử nghiệm
5 Cài đặt chuyển đổi hệ thống
6 Vận hành và bảo trì
TỔ CHỨC
H×nh 1.9 Qu¸ tr×nh ph¸t triÓn mét HTTT
Trang 17UML là ngôn ngữ trực quan được dùng trong quy trình phát triển các hệ thống
phần mềm Nó là một ngôn ngữ đặc tả hình thức (formal specification language).
UML có một tập các phần tử và một tập các quy tắc riêng hầu hết các phần tử củaUML là các đối tượng đồ hoạ như đường thẳng, hình chữ nhật, hình oval,… vàthường có nhãn kèm theo để tăng thông tin Các quy tắc trong UML được mô tả trongđặc tả UML như cú pháp trừu tượng (được biểu diễn như các sơ đồ và ngôn ngữ tựnhiên), quy tắc hình thức (nằm trong ngôn ngữ ràng buộc đối tượng) và ngữ nghĩa.Quy tắc xác định cách kết hợp giữa các phần tử
Do UML là ngôn ngữ mô hình hoá chuẩn, ngôn ngữ mô hình đồ hoạ, trực quan, vừa đặc tả vừa có cấu trúc, đồng thời lại là ngôn ngữ làm tài liệu nên đối với việc phát
triển phần mềm hướng đối tượng
Mục đích chính của UML nhằm vào các hoạt động sau:
Mô hình hóa được các hệ thống và sử dụng được tất cả các khái niệm hướng đốitượng một cách thống nhất
Cho phép đặc tả, hỗ trợ để đặc tả tường minh mối quan hệ giữa các khái niệm
cơ bản trong hệ thống, đồng thời mô tả được mọi trạng thái hoạt động của hệ thống đốitượng Nghĩa là cho phép mô tả được cả mô hình tĩnh lẫn mô hình động một cách đầy
đủ và trực quan
Tận dụng được những khả năng sử dụng lại và kế thừa ở phạm vi diện rộng đểxây dựng được những hệ thống phức tạp và nhạy cảm như: các hệ thống động, hệthống thời gian thực, hệ thống nhúng thời gian thực
Tạo ra những ngôn ngữ mô hình hoá sử dụng được cho cả người lẫn máy tính
1.2.4.2 Quy trình phát triển phần mềm hợp nhất (Unified Software Development
Procces)
UML được phát triển để đặc tả trong quá trình phát triển phần mềm, nhằm môhình hoá hệ thống Quy trình phát triển phần mềm có sử dụng UML được gọi là quytrình phát triển phần mềm hợp nhất
Các đặc trưng của quy trình hợp nhất bao gồm:
Trang 18 Quy trình hợp nhất bao gồm con người, dự án, sản phẩm, quy trình và công cụ.Con người là những người tham gia dự án để tạo ra sản phẩm phần mềm theo một quytrình với sự hỗ trợ của công cụ được cung cấp.
Quy trình hợp nhất là quy trình phát triển phần mềm được hướng dẫn bởi các
ca sử dụng Nghĩa là các yêu cầu của người sử dụng được mô tả trong các ca sử dụng,
là chuỗi các hành động được thực hiện bởi hệ thống nhằm cung cấp các dịch vụ, cácthông tin cho khách hàng Các ca sử dụng bao gồm chuỗi các công việc được xem lànền tảng để tạo ra mô hình thiết kế và cài đặt hệ thống
Quy trình hợp nhất cũng là quy trình tập trung vào kiến trúc, được lặp và pháttriển tăng trưởng liên tục
Quy trình hợp nhất không chỉ tạo ra một hệ thống phần mềm hoàn chỉnh màcòn tạo ra một số sản phẩm trung gian như các mô hình ca sử dụng, mô hình kháiniệm, mô hình phân tích, mô hình thiết kế, mô hình triển khai, mô hình cài đặt và môhình kiểm thử
1.2.4.3 Mô hình hóa kiến trúc hệ thống trong UML
Trong UML, kiến trúc của hệ thống phần mềm chuyên sâu (cho ta một cách nhìnkhái quát nhất về hệ thống phần mềm ở các góc độ khác nhau) được mô tả theo 5 loại
khung nhìn (views) khác nhau Mỗi khung nhìn phản ánh về một khía cạnh của tổ chức
và cấu trúc của hệ thống, tập trung vào từng mặt cụ thể giúp cho ta hiểu và sử dụng hệthống tốt nhất Mỗi khung nhìn thường được thể hiện trong một số sơ đồ nhất định
Hình 1.10 Mô hình hoá kiến trúc hệ thống
Khung nhìn thiết kế/logic
Khung nhìn tiến trình/tương
Khung nhìn triển khai/bố trí
Khung nhìn
ca sử dụng
Trang 19 Khung nhìn ca sử dụng (Use case view): chứa các tác nhân, ca sử dụng, sơ
đồ ca sử dụng (khía cạnh tĩnh của khung nhìn) trong hệ thống Chúng cũng có thể baogồm vài sơ đồ trình tự, sơ đồ cộng tác (khía cạnh động của khung nhìn) và gói
Khung nhìn thiết kế (design view) Nó bao gồm các lớp, sơ đồ lớp, sơ đồ đối
tượng (khía cạnh tĩnh của khung nhìn), sơ đồ tương tác, sơ đồ hoạt động, sơ đồ biếnđổi trạng thái (khía cạnh động của khung nhìn) và các gói
Khung nhìn tiến trình/tương tranh (process view) biểu diễn sự phân chia các luồng thực hiện công việc, các lớp đối tượng cho các tiến trình và sự đồng bộ giữa các luồng (thread) trong hệ thống
Khung nhìn thành phần/cài đặt (component/implementation view) bao gồm
các thành phần (là mô-đun vật lý hay các file) để lắp ráp thành hệ thống vật lý Khungnhìn này hướng đến việc quản lý cấu hình của hệ thống
Khung nhìn bố trí/triển khai (Deployment view) bao gồm các nút tạo nên kết
cấu phần cứng mà trên đó hệ thống vận hành Khung nhìn này chủ yếu hướng đến sựphân tán và cài đặt cụ thể của hệ thống, tức là liên quan đến triển khai vật lý của hệ thống
1.2.5 Mô hình phát triển phần mềm theo kỹ nghệ hướng thành phần
1.2.5.1 Mô hình thành phần
Người ta thường dùng mô hình trừu tượng để mô tả các thành phần Mô hìnhnày đưa ra một số yếu tố cơ bản: cú pháp (syntax), ngữ nghĩa (semantics) và kết hợp(composition)
Một số thành phần phổ biến hiện nay như JavaBean, EJB, COM đều được mô
tả theo mô hình trừu tượng
Ngôn ngữ lập trình cấu tạo nên thành phần sẽ quyết định cấu trúc Trong cácthành phần hiện có, ngôn ngữ của thành phần là ngôn ngữ lập trình Ví dụ: EJB tạobằng ngôn ngữ lập trình Java và là một Java class
Hiện nay, thành phần có xu hướng chính là các đối tượng trong kiểu lập trìnhhướng đối tượng Các dịch vụ đầu ra là các phương thức (method) Các dịch vụ đầu
vào được quản lý và cung cấp bằng các bộ chứa (container)- nơi chứa các đối tượng
Ví dụ: JavaBean được quản lý bởi bộ chứa như BeanBox và nó kết nối cácJavaBean thông qua sự kiện (event) Trong khi đó, EJB được quản lý bởi chương trình
Trang 20máy chủ J2EE và EJB được tiếp cận thông qua 2 interface là “home” và “remote” hoặcđược gọi trực tiếp bởi máy chủ J2EE.
Trong phát triển phần mềm trên thành phần, sự kết hợp (composition) cácthành phần với nhau tạo thành hệ thống hoàn chỉnh là vấn đề cốt lõi (các thành phần
có thể kết hợp với nhau để tạo thành thành phần phức hợp) Vấn đề nảy sinh là hiệnnay chưa có một ngôn ngữ kết hợp đảm bảo tương thích về ngữ nghĩa và cú pháp chocác thành phần EJB, COM
Sự kết hợp thành phần có thể xảy ra ở hai giai đoạn chính trong vòng đời củathành phần là thiết kế (design) và triển khai (deployment)
Một mô hình thành phần là một tập định nghĩa về các chuẩn để thực thi, làm tàiliệu và triển khai thành phần Mô hình thành phần chỉ rõ làm thế nào xác định đượccác giao diện và các phần tử phải có trong một định nghĩa giao diện
Các mô hình thành phần là nền tảng cho phần mềm trung gian nhằm cung cấptrợ giúp để thực thi các thành phần
Một mô hình thành phần vận hành ở 2 mức khác nhau:
-Thứ nhất, một mô hình thành phần xác định cách cấu trúc một thành phần cá
thể như thế nào Chẳng hạn, mô hình đối tượng thành phần của microsoft (COM) yêucầu mỗi thành phần phải cung cấp một giao diện ẩn
-Thứ hai, một mô hình thành phần có thể quy định hành vi tổng thể trên một tập
các thành phần trong một hệ thống sẽ liên lạc và tương tác như thế nào với một tậpthành phần khác Một mô hình thành phần có thể hình thành bằng việc xác định mộtchuẩn tương tác nhằm xúc tiến các giao diện rõ, không mơ hồ Một thành phần có thểđược cấu trúc với thành phần khác hoặc với phần tử phần mềm khác bằng việc tạo ranhững kết nối lắp ráp hoặc tích hợp theo thứ tự định sẵn
Mô hình thành phần xác định các cơ chế cho phép để tạo lập các kết nối lắp ráp hoặc tích hợp thành phần D’Souza và Wills (1999) quan sát thấy “cắm là tương
thích” chỉ đúng nếu một thành phần đảm bảo kỳ vọng liên kết được với thành phầnkhác Quá trình lắp ráp có thể là khó khăn như nhu cầu đạt mục đích về tính rõ ràng,chính xác Chúng ta sử dụng thuật ngữ lắp ráp nhiều phần tử dạng khác nhau trong đócác thành phần được thảo ra giống như là một gói các mối liên kết động và tĩnh, “cắmvào là chạy”
Trang 21Mô hình thành phần có thể xác định các cơ chế cá nhân hoá Cơ chế đó mô tả
các thành phần có thể mở rộng như thế nào mà không cần sửa chữa Chúng ta xử lýviệc cá nhân hoá như một dạng tương tác tiên tiến Một mô hình thành phần cũng cóthể xác định các đặc tính thành phần bắt buộc chẳng hạn như dạng mã hoá, các chuẩntài liệu hoặc các giao diện bắt buộc sẽ phải làm
* Bảng các phần tử cơ sở của một mô hình thành phần
Các chuẩn của các
nhân tố
Mô tả trong chuẩn
Giao diện (Interface) Đặc tả tính chất và hành vi của thành phần, định nghĩa của
ngôn ngữ định nghĩa giao diện (Interface Decription Language-IDL)
Tên (Naming) Các giao diện và các thành phần có tên duy nhất
Trang 221.2.5.2 Thực thi mô hình thành phần
Thực thi mô hình thành phần là một tập chuyên dụng các phần tử phần mềm cókhả năng thực hiện Nó hỗ trợ các thành phần thực hiện trong cơ chế mô hình thànhphần Thực thi mô hình thành phần cung cấp:
- Các dịch vụ nền cho phép các thành phần gắn vào mô hình để giao tiếp.
- Các dịch vụ theo chiều ngang, là các dịch vụ độc lập ứng dụng, được sử dụng bởi các thành phần khác nhau.
Để sử dụng các dịch vụ do mô hình cung cấp, các thành phần cần được triển
khai trong một “bộ chứa” Đây là một tập của các giao diện được sử dụng để truy cập
các thực thi dịch vụ
Một hệ điều hành (OS) có chứa phần thực thi mô hình thành phần chỉ gây rắcrối cho hệ điều hành và làm hạn chế tính khả dụng của mô hình thành phần Phần thựcthi mô hình thành phần là tầng mỏng điển hình được thực hiện trên đỉnh của một hệđiều hành Các hệ điều hành đa nhiệm có thể có tầng cổng đảm bảo tính khả dụng môhình thành phần cao nhất
Chuẩn tương tác trong mô hình thành phần xác định vị trí của một giao diện và
sử dụng các giao diện này theo thứ tự ưu tiên trong thực thi mô hình thành phần Các
giao diện được xác định bởi một IDL và được đăng ký tại một nơi trung gian trợ giúp
cho thực thi đó Chuẩn thành phần đối với một mô hình thành phần xác định vị tríthành phần và thứ tự ưu tiên sử dụng Nhà cung cấp thực thi mô hình thành phần phảicung cấp các công cụ như bộ dịch IDL để hỗ trợ cho việc phát triển thành phần
Thực thi mô hình thành phần có khả năng thực hiện thành phần theo mô hìnhthành phần Có khả năng có nhiều thực thi ứng với một mô hình thành phần
Hệ điều hành là một trong những hệ thống thành phần thành công đầu tiên(Szypersky 1997) Hệ điều hành là một chương trình quản lý phần cứng máy tính Nócung cấp nền tảng cho các chương trình ứng dụng, cung cấp các dịch vụ cơ bản nhưquản lý bộ nhớ, quản lý file, giao tiếp giữa các quá trình, đồng bộ hóa quy trình và cóchế độ bảo mật
Trang 23Hệ điều hành là thực thi mô hình thành phần các ứng dụng và được xem làthành phần thô Mỗi thực thi mô hình thành phần được phát triển và được tài liệu hóa.Nhiều nhà cung cấp có thể phát triển các ứng dụng sử dụng các dịch vụ mức thấp đượccung cấp bởi thực thi mô hình thành phần Tại tâm của ứng dụng, có một thị trườngthành phần chức năng Chúng ta có thể mua những ứng dụng khác nhau từ các nhàcung cấp khác nhau và sử dụng chúng cùng nhau trên một máy tính Tất cả các ứngdụng đều phải gắn vào chuẩn được xác định bởi một hệ điều hành Những chuẩn này
là một phần thực thi một hệ điều hành cụ thể, ví dụ như chuẩn UNIX 98 của Linux
1.2.5.3 Vòng đời phần mềm
Vòng đời phần mềm xây dựng theo hướng thành phần là tiến trình vòng đời chomột thành phần phần mềm với việc nhấn mạnh các quy tắc nghiệp vụ, mô hình hoátiến trình nghiệp vụ, thiết kế, xây dựng, kiểm thử, triển khai, tiến hoá, sử dụng lạithường xuyên và bảo trì
Các pha phân tích và thiết kế đối với vòng đời phần mềm xây dựng theo hướngthành phần dài hơn đáng kể so với vòng đời truyền thống Ít nhất là một hoạt độngkiểm chứng được chỉ đạo ở cuối mỗi pha trong vòng đời Đã có nhiều hướng dẫn vàchuẩn được giới thiệu trong kỹ nghệ phần mềm, kiểm chứng là một cái cần thiết tuyệtđối suốt cả phân tích và thiết kế đảm bảo rằng việc xây dựng và pha kiểm thử đơn vị làthành công Trong khi kiểm thử đơn vị thường theo cách bổ sung và kiểm thử thì kiểmthử dựa trên thành phần lại được thực hiện tách biệt Các người kiểm thử phần mềmtham gia theo cách tích hợp tất cả các thành viên của nhóm Công việc bảo trì thườngđược tiến hành hàng năm
Việc xây dựng thực thi mô hình thành phần yêu cầu các kỹ sư phải có khả năngtạo lập tốt các cơ sở hạ tầng thành phần phần mềm, hiểu rõ được các mối tương tácgiữa các thành phần để thực hiện đúng các chức năng và hành vi của hệ thống trongsuốt vòng đời
Trang 24Vấn đề
cần giải
quyết
Kế hoạch tổng thể phát triển phần mềm
Cơ sở hạ tầng thành phần
Thực thi mô hình thành phần
Mô hình thành phần
Phân rã vấn đề thành dự án và các dự án con
Đặc tả thực hiện
Thiết kế cơ
sở hạ tầng thành phần logic Tăng chi tíêt, làm mịn thiết kế cho
cơ sở hạ tầng thành phần
Chọn mô hình thành phần thích hợp
Mô hình đ ợc phân phối bởi các hãng
hoặc nếu là một mô
hình thành phần riêng thì phải khả thi
Hình 1.11 Sơ đồ tổng thể phát triển phần mềm
Chú giải:
dự án
dự án con thành phần
t ơng tác quan điểm
Trang 251.2.5.5 M« h×nh ph¸t triÓn phÇn mÒm híng thµnh phÇn
Hình 1.12 Tiến trình kỹ nghệ phần mềm hướng thành phần
1.2.6 Mô hình phát triển phần mềm theo kỹ nghệ hướng dịch vụ (SOA)
Trong kỹ nghệ phần mềm hướng dịch vụ, việc tách riêng phần thực hiện dịch
vụ (mô-đun phần mềm) với giao tiếp gọi dịch vụ tạo nên một cách thức nhất quán chocác ứng dụng khai thác sử dụng dịch vụ mà không cần quan tâm tới công nghệ thựchiện dịch vụ
Ở mức độ chung nhất, SOA được nhiều người hiểu là một loại kiến trúc về hệ
thống trong đó mỗi ứng dụng được xem như một nguồn cung cấp dịch vụ Nói rõ hơn,SOA là một kiến trúc phần mềm dựa trên một tập các dịch vụ, mỗi dịch vụ đảm nhận
3.3.Kü nghÖ ho¸ thµnh phÇn
4.KÕt hîp thµnh phÇn5.KiÓm thö
6.§ãng gãi vµ triÓn khai
7.B¶o tr×
§Æc t¶ thµnh phÇn &
kiÕn tróc thµnh phÇn
Sö dông c¸c m« h×nh theo t×nh huèng
Trang 26một chức năng cơ bản dưới dạng mô-đun phần mềm có nhiệm vụ thực hiện một quitrình nghiệp vụ nào đó Các dịch vụ trong SOA được xác định rõ ràng, có thể thay đổi,cập nhật, nâng cấp, tích hợp mới Các dịch vụ có thể giao tiếp với nhau, độc lập vớiphần nền của hệ thống và có thể tái sử dụng Các giao tiếp có thể chỉ là việc chuyểngiao dữ liệu đơn giản hoặc là gồm ít nhất 2 dịch vụ hợp tác thực hiện một hoạt độngcần thiết nào đó
1.2.6.1 Một số đặc trưng phân biệt của SOA
Có ý kiến cho rằng SOA sẽ thay thế phương thức lập trình hướng đối OOP (Object Oriented Programming) SOA sử dụng cùng số nguyên lý như OOP, tuynhiên triết lý SOA có khác biệt đáng kể so với OOP SOA có thể một thực hiện với cả
tượng-chương trình theo hướng đối tượng (OO) và tượng-chương trình không hướng đối tượng
Hình 1.13 Kiến trúc 3 lớp tiêu biểu của mô hình đối tượng
Mô hình đối tượng có kiến trúc 3 tầng (three-ties): tầng thể hiện, tầng nghiệp
vụ và tầng cơ sở dữ liệu
Có sự ràng buộc giữa tầng thể hiện và các đối tượng nghiệp vụ của tầng nghiệp
vụ Chương trình người dùng phải tương tác với mô hình đối tượng của tầng nghiệp
vụ, điều này làm tăng sự ràng buộc và số lượng đáng kể các “gọi hàm” giữa 2 tầng Khi các đối tượng nghiệp vụ nằm ở máy tính xa thì đây sẽ là vấn đề
Tầng trình diễn
Giao diện người dùng 3
Trang 27Tương tự, số lượng đối tượng nghiệp vụ mà tầng thể hiện phải thao tác làm giảm sự độc lập giữa các tầng và gây khó khăn cho việc sử dụng tầng nghiệp vụ.
Hình 1.14 Mô hình SOA phát triển lên từ mô hình đối tượng: thêm lớp “các dịch vụ”
Khác biệt giữa SOA và mô hình đối tượng chính là có thêm lớp mới “Services”nằm giữa lớp thể hiện và lớp nghiêp vụ Lớp thể hiện giờ đây không còn thao tác trựctiếp lên các đối tượng nghiệp vụ nữa, mà sử dụng dịch vụ để truy cập chúng Các đốitượng nghiệp vụ được đặt trong thư viện và được dịch vụ nạp vào bộ nhớ - lớp dịch vụ
và lớp nghiệp vụ nằm trong cùng tiến trình, nhờ vậy lời gọi hàm đến đối tượng nghiệp
vụ sẽ không bị quá tải
Dịch vụ đóng vai trò như “hộp đen”, cung cấp một lớp trung gian cho mô hìnhđối tượng và đưa ra tập chức năng rút gọn, làm giảm nhu cầu trao đổi giữa các lớp
TÇng tr×nh diÔn
Giao diÖn ng êi dïng 3
Trang 28Hình 1.15 Các nguyên tắc mô hình hoá theo hướng dịch vụ 1.2.6.2 Mô hình kiến trúc của SOA
Mô hình kiến trúc của SOA được tổ chức thành hai tầng chính:
-Tầng tổ hợp dịch vụ,-Tầng các dịch vụ ứng dụng nghiệp vụ
Hình 7.14: Cấu tróc ph©n cấp của SOA
Hình 1.16 Cấu trúc phân cấp của SOA
1.3 Tổng quan về hệ thống quản trị nguồn lực doanh nghiệp
1.3.1 Khái niệm
ERP (Entepries Resoure Planning) được dịch là hoạch định nguồn lực doanh
nghiệp, một thuật ngữ được dùng liên quan đến mọi hoạt động của doanh nghiệp (nhânlực, tài chính, phương tiện và tư liệu sản xuất ), do phần mềm máy tính hỗ trợ và thựchiện các qui trình xử lý một cách tự động hoá, để giúp cho các doanh nghiệp quản lýcác hoạt động then chốt Ngoài chức năng quản lý, ERP còn đảm nhận luôn nhiệm vụphân tích, kiểm tra thực trạng sử dụng nguồn lực với mọi mức độ cập nhật phù hợptheo yêu cầu của nhà quản lý
1.3.2 Chức năng của ERP
C¸c nguyªn t¾c m« h×nh ho¸ h íng dÞch vô
TÝch hîp dÞch vô theo SOA
ThiÕt kÕ theo SOA
KiÕn tróc
vÒ mÆt quan niÖm
KiÕn tróc
vÒ mÆt logic
Trang 29 ERP tính toán và dự báo các khả năng sẽ phát sinh trong quá trình điều hành sảnxuất kinh doanh của doanh nghiệp Chẳng hạn, ERP giúp nhà máy tính chính xác kế hoạchcung ứng nguyên vật liệu cho mỗi đơn hàng dựa trên tổng nhu cầu nguyên vật liệu, tiến độ,năng suất, khả năng cung ứng
ERP hỗ trợ lên kế hoạch trước các nội dung công việc, nghiệp vụ cần trong sảnxuất kinh doanh Chẳng hạn, hoạch định chính sách giá, chiết khấu, các kiểu mua hànggiúp tính toán ra phương án mua nguyên liệu, tính được mô hình sản xuất tối ưu Cáchnày giảm thiểu sai sót trong xử lý nghiệp vụ
ERP tạo ra liên kết văn phòng công ty-đơn vị thành viên, phòng ban-phòng ban
và trong nội bộ các phòng ban, hình thành quy trình, trình tự xử lý nghiệp vụ để thànhviên trong công ty tuân theo
1.3.3 Sự khác biệt giữa ERP với kế toán truyền thống
o Ghi nhận bằng bút toán hạch toán
Mỗi thao tác nghiệp vụ trong quy trình sản xuất kinh doanh đều được ghi nhậnbằng một bút toán hạch toán trên hệ thống
o Thiết lập tài khoản trung gian
Để đảm bảo cho bảng cân đối kế toán của doanh nghiệp không phát sinh thêmnhiều so với cách hạch toán cũ, doanh nghiệp có thể sử dụng các tài khoản khôngthuộc hệ thống tài khoản chính thức của mình và xem đó là các tài khoản trung gian
o Hoạch toán tự động
Điểm khác biệt rất lớn giữa ERP và các phần mềm kế toán là bút toán được sinh
ra một cách tự động và được kiểm soát nhiều tầng thông qua quá trình phê duyệt, vìthế những sai sót về định khoản hầu như không xảy ra
o Cấu trúc hệ thống tài khoản linh hoạt
Ngoài hệ thống tài khoản mà Bộ Tài Chính Việt Nam ban hành, chúng ta có thểxây dựng một hệ thống tài khoản với nhiều chiều thông tin theo yêu cầu của đơn vịquản lý
o Hợp nhất báo cáo từ các đơn vị thành viên
Trang 30Cơ chế dữ liệu tập trung của hầu hết ERP cho phép hợp nhất số liệu của cácdoanh nghiệp có nhiều chi nhánh thuận tiện và dễ dàng.
o Hệ thống số liệu kế toán luôn phản ánh kịp thời và trung thực các hoạt động sản xuất kinh doanh ở từng khâu trên hệ thống.
Hệ thống số liệu kế toán luôn phản ánh kịp thời và trung thực các hoạt động sảnxuất kinh doanh ở từng khâu trên hệ thống Trên hệ thống ERP, kế toán giữ vai trò kiểmsoát hoạt động sản xuất kinh doanh thông qua các số liệu mà hệ thống phản ánh
1.3.4.Thực trạng sử dụng ERP ở Việt Nam
Hình 1.17 Tỷ lệ sử dụng ERP trong các dự án Biểu đồ này chỉ thể hiện số lượng các dự án ERP đã và đang được triển khai tại Việt Nam từ 2004 đến nay Biểu đồ chỉ tính các dự án triển khai ERP đầy đủ hoặc gần như đầy đủ các phân hệ Các dự án chỉ triển khai phần kế toán, nhân sự, hoặc các dự án ERP triển khai cho khối ngân hàng, bộ tài chính không nằm trong thống kê này.
1.3.5 Khái quát về CRM
1.3.5.1 Khái niệm về CRM
CRM (Customer Relationship Management) có nghĩa là Quản lý quan hệ kháchhàng, Đó là chiến lược của các công ty trong việc phát triển quan hệ gắn bó với kháchhàng qua nghiên cứu, tìm hiểu kỹ lưỡng nhu cầu và thói quen của họ Thiết lập mốiquan hệ tốt đẹp với với khách hàng có ý nghĩa đặc biệt quan trọng đối với sự thành côngcủa mỗi công ty nên đây là vấn đề hết sức được chú trọng Trên thế giới hiện nay có khánhiều khái niệm về CRM, sau đây là một số định nghĩa về CRM:
Trang 31Định nghĩa 1:
CRM là triết lý kinh doanh lấy khách hàng làm trung tâm, trong đó lấy cơ chế hợp tác với khách hàng bao trùm toàn bộ quy trình hoạt động kinh doanh củadoanh nghiệp
Định nghĩa 2:
CRM là một chiến lược kinh doanh được thiết kế để nâng cao lợi nhuận,doanh thu và sự hài lòng của khách hàng Nó bao gồm phần mềm, các dịch vụ và mộtphương thức kinh doanh mới nhằm gia tăng lợi nhuận, doanh thu, đồng thời làm hàilòng khách hàng hơn để giữ chân khách hàng lâu hơn
Định nghĩa 3:
CRM là một chiến lược kinh doanh quy mô toàn công ty được thiết kế nhằmlàm giảm chi phí và tăng lợi nhuận bằng cách củng cố lòng trung thành của kháchhàng CRM thực sự sẽ mang lại lợi ích từ tất cả các nguồn thông tin trong và ngoàidoanh nghiệp để đem đến cái nhìn toàn diện về từng khách hàng tại từng thời điểm cụthể Điều này cho phép các nhân viên làm việc với khách hàng trong các lĩnh vực nhưtiếp thị, bán hàng, và hỗ trợ khách hàng có thể đưa ra những quyết định nhanh chóng về mọi thứ nhằm đạt được hiệu quả cao trong kinh doanh
Định nghĩa 4:
Quản lý quan hệ khách hàng là một phương pháp giúp các doanh nghiệp tiếpcận và giao tiếp với khách hàng một cách có hệ thống và hiệu quả, quản lý các thôngtin của khách hàng như thông tin về tài khoản, nhu cầu, liên lạc… nhằm phục vụ kháchhàng tốt hơn
Như vậy, nhìn chung khái niệm về CRM được xác định theo ba quan điểm:Công nghệ, Quy trình bán hàng và Chiến lược kinh doanh
1.3.5.2 Các chức năng của CRM
CRM cho phép người sử dụng quản lý, theo dõi và phân tích các thông tin về:
o Tiềm năng: Thông tin về những khách hàng tiềm năng của doanh nghiệp
o Tổ chức: Thông tin về các công ty khách hàng của doanh nghiệp cũng như
những công ty đối tác hay đối thủ cạnh tranh
o Liên hệ: Thông tin về người liên hệ của công ty khách hàng
o Cơ hội: Những cơ hội bán hàng cần theo dõi
Trang 32o Hoạt động: Tất cả các công việc về cuộc hẹn, tiếp xúc khách hàng do người
dùng cài đặt nhằm quản lý, theo dõi thời gian và công việc của mình
o Lịch làm việc: Những công việc mà nhân viên phải làm trong thời gian gần.
o Chiến dịch: Thông tin về các chương trình tiếp thị
o Hợp đồng: Hợp đồng hay những thỏa thuận bằng văn bản với khách hàng
o Tính huống: Thông tin về phản hồi, thắc mắc của khách hàng và giải pháp cho
các vấn đề đó
o Tài liệu: Nơi lưu trữ thông tin dùng chung cho cả doanh nghiệp
o Báo cáo: Là những phân tích về dữ liệu của từng nhân viên, từng nhóm hay của
toàn thể công ty
o Email: Hộp thư điện tử cá nhân cho mỗi người sử dụng
o Sản phầm: Những mặt hàng doanh nghiệp cung cấp.
o Báo giá: Những báo giá của doanh nghiệp cho khách hàng
o Đơn hàng: Đơn đặt hàng của khách hàng với doanh nghiệp
o RSS: Lấy tin tức tự động giúp doanh nghiệp biết được nhiều thông tin về thị
trường kinh doanh…
o Dự án: Giúp quản lý những dự án và các công việc liên quan đến dự án
o Bảo mật: nơi quản lý các quy định về các thông tin bảo mật, vai trò và quyền
hạn người sử dụng trong hệ thống, nhật ký truy cập hệ thống…
Trang 33CHƯƠNG 2 ỨNG DỤNG MÔ HÌNH HÓA HƯỚNG CẤU TRÚC TRONG QUÁ TRÌNH PHÁT TRIỂN HỆ THỐNG QUẢN TRỊ MUA BÁN HÀNG VÀ BẢO
HÀNH SẢN PHẨM 2.1 Hệ thống quản trị mua bán hàng và bảo hành sản phẩm
a Yêu cầu mua hàng
Người yêu cầu mua hàng phải viết phiếu yêu cầu mua hàng theo biểu mẫu NQ/
Bảng tiêu chuẩn phải được Giám đốc điều hành duyệt trước khi thực hiện việcmua hàng
Với trường hợp mua hàng thực phẩm tươi sống hàng ngày với mua hàng củakho được quy định chi tiết riêng
- Tìm kiếm và lựa chọn nhà cung cấp:
NV mua hàng hoặc người được Giám đốc điều hành chỉ định chịu trách nhiệmtìm kiếm, đánh giá và làm các thủ tục ký hợp đồng với nhà cung cấp
Việc tìm kiếm, đánh giá, lựa chọn nhà cung cấp thực hiện theo quy trình tìmkiếm, đánh giá và lựa chọn nhà cung ứng
Nhân viên mua hàng hoặc người được chỉ định chỉ được mua hàng khi:
Trang 34+ Nhà cung cấp đó đã được Giám đốc duyệt.
+ Phải thực hiện việc mua hàng theo thứ tự các nhà cung cấp được ưu tiên
+ Đối với các nhà cung cấp chưa được duyệt thì phải báo cáo giám đốc xin ýkiến chỉ đạo, mọi trường hợp tự ý mua mà chưa được duyệt sẽ không có hiệu lực choviệc thanh toán
Trang 35b Quy trình mua hàng
Phòng KH cung ứng Lấy thông tin, KH,
PKH, Thủ kho Nhập kho biệt trữ
QAQC, KS nội bộ QAQC kiểm tra,
KS nội bộ giám sátQAQC, KS nội bộ
Phòng KH cung ứng Lập phiếu trả hàng
PKH, QAQC, KSNB Điều chỉnh đơn
Xét trả hàngPhiếu trả hàng
Xuất kho trả hàng
Điều chỉnh trả hàngNhập kho
Trang 36Hình 2.3.Mô hình hành vi mua của người tiêu dùng
- Văn hoá - Xã hội
- Tự nhiên - Môi trường
Quá trình mua hàng của NTD
- Ý thức nhu cầu
- Tìm kiếm thông tin
- Đánh giá, lựa chọn các phương án
- Quyết định mua
- Phản ứng sau khi mua
Biểu hiện quá trình mua của NTD
Trang 372.1.2.1 Bản chất của bán hàng
Bán hàng là một nghề xuất hiện từ rất lâu trong sự phát triển kinh tế- xã hội củaloài người Xã hội càng phát triển, nhu cầu mua- bán, trao đổi hàng hóa ngày càng giatăng, nghề bán hàng lại càng phát triển mạnh mẽ và công việc bán hàng cũng trở nên
đa dạng và phức tạp
Hiện nay có rất nhiều định nghĩa khác nhau về bán hàng:
- Bán hàng là hình thức giới thiệu bằng miệng về hàng hóa hay dịch vụ thông qua sựgiao tiếp của người bán với người mua, nhằm mục đích bán được hàng
- Bán hàng là hoạt động trao hàng và thu tiền của nhân viên
- Bán hàng là một quá trình trong đó người bán tìm hiểu, khám phá, gợi tạo và đápứng nhu cầu hay ước muốn của người mua để đáp ứng quyền lợi thỏa đáng, lâu dài của
Bán hàng là một hoạt động trung gian, thực hiện chức năng cầu nối giữa cung- cầu
về hàng hóa, giữa sản xuất và tiêu dùng Thông qua hoạt động bán hàng, hàng hóa sẽ vậnđộng di chuyển từ nhà sản xuất kinh doanh tới các đối tượng tiêu dùng, hoàn thiện mộtchu trình sản xuất kinh doanh và tái sản xuất xã hội
2.1.2.2 Phân loại bán hàng
Trong hoạt động bán hàng có rất nhiều mô hình tổ chức khác nhau Mỗi mô hình
tổ chức thích ứng với chiến lược quản trị bán hàng cụ thể Chúng ta có thể phân loạinghề bán hàng theo một số tiêu thức chủ yếu sau:
a) Phân theo quan hệ tổ chức quản lý nhân sự
Trang 38+ Lực lượng bán hàng thuộc công ty: Đây là lực lượng bán hàng nằm trong bộ
máy quản lý và tổ chức nhân sự của các công ty gồm: Lực lượng bán hàng bên trongcông ty và lực lượng bán hàng hoạt động ngoài công ty
+ Lực lượng bán hàng không thuộc công ty: Đây là lực lượng bán hàng không
thuộc bộ máy quản lý nhân sự của các công ty Họ có thể là các nhà bán buôn, các nhàbán lẻ, các đại lý, các đại diện nhà sản xuất
b) Phân loại theo thứ bậc trong quản trị bán hàng
Nếu phân loại theo tiêu thức này có thể chia thành:
+ Những nhân viên bán hàng trực tiếp: Đây là lực lượng đông đảo bao gồm những
người tạo đơn hàng, người bán lẻ, người cung cấp dịch vụ và chăm sóc khách hàng
+ Những nhà quản trị bán hàng: Họ là những người quản lý lực lượng bán
hàng của công ty
c) Phân loại theo công việc bán hàng
+ Những người bán lẻ: Bao gồm những người bán lẻ tại cửa hàng và những
người bán lẻ lưu động
+ Những người tiếp nhận đơn đặt hàng: Đó là những người chỉ phản ứng với khách
hàng đã có sẵn Lực lượng này bao gồm 3 nhóm: Những người tiếp nhận đơn đặt hàngtại công ty, những người đi giao hàng và những người tiếp nhận đơn đặt hàng bênngoài công ty
+ Những người tạo thêm đơn đặt hàng:
Trong một số ngành kinh doanh như dược phẩm, vật liệu xây dựng xuất hiệnnhững người bán hàng mà nhiệm vụ của họ là thuyết phục “khách hàng” xác định lựachọn những sản phẩm nhất định của người bán Hoạt động bán hàng của họ khôngphải kết thúc bằng một đơn đặt hàng cụ thể Ví dụ như: các trình dược viên tiếp xúcvới các bác sỹ không phải để bán hàng trực tiếp, hoặc những người chào hàng vật liệuxây dựng cho các kiến trúc sư Trong những trường hợp này, nhiệm vụ của người bán
Trang 39hàng là cung cấp thông tin, xây dựng thiện chí và thuyết phục “khách hàng” tư vấn,lựa chọn sản phẩm của mình cho các đối tượng có nhu cầu tiêu dùng.
+ Những người tìm kiếm và đáp ứng đơn đặt hàng:
Đây là lực lượng bán hàng mà nhiệm vụ chủ yếu của họ là thuyết phục khách hàngmua hàng và thỏa mãn các đơn hàng Họ bao gồm bốn nhóm: Những người bán hàng ở
tuyến đầu, Những người yểm trợ kĩ thuật, Những người tạo và cung ứng sản phẩm ra
thị trường và Những người thu tiền và chăm sóc khách hàng
Một cách tổng quát những nội dung chủ yếu của quá trình quản trị bán hàng bao gồm:
Tổ chức quá trình bán hàng và uản lý lực lượng bán hàng.