Phương pháp luận phân tích và thiết kế phần mềm quản lý bán hàng tại Công ty cổ phần thương mại và dịch vụ HAVINA.
Trang 2LỜI MỞ ĐẦU
Sự ra đời của công nghệ thông tin là một trong những thành quả vĩ đại nhất của con người Nhịp độ phát triển của công nghệ thông tin đang là một vấn đề rất được các ngành khoa học, giáo dục, kinh tế, … quan tâm Nó hiện hữu với một tầm vóc hết sức mạnh mẽ, to lớn và ngày càng lớn mạnh thêm
Tin học giữ vai trò đặc biệt trong hoạt động của con người, trong đời sống
xã hội, trong khoa học kĩ thuật, trong sản xuất kinh doanh, trong quản lý khách hàng, trong các hoạt động mua bán hàng hoá, … Ứng dụng tin học trong việc quản lý dường như không còn xa lạ với các doanh nghiệp, công ty hiện nay Lợi ích mà các chương trình phần mềm quản lý đem lại khiến ta không thể phủ nhận tính hiệu quả của nó
Ngày nay những thành tựu, những đổi mới trong công nghệ, trong quản lý kinh doanh, trong lĩnh vực giáo dục, … đều có sự góp phần quan trọng của tin học Vai trò của tin học rất to lớn, đa dạng, vô tận … Bởi vậy, khi loài người đang bước vào thời kì công nghiệp hoá, hiện đại hoá, tin học đã thực sự trở thành một ngành khoa học công nghệ mũi nhọn
Trong nền sản xuất hiện đại cùng với các công nghệ khoa học khác, tin học
đã trở thành lực lượng sản xuất trực tiếp, công cụ khám phá, khai thác và phục
vụ rất hiệu quả trong các lĩnh vực sản xuất, đời sống xã hội …
Trên thực tế đã có rất nhiều tổ chức kinh tế sử dụng các phần mềm để quản
lý việc kinh doanh của mình với nhiều mô hình ứng dụng khác nhau như: quản
lý bán hàng, quản lý nhân sự, quản lý lương, quản lý kho hàng, … và nó đã đem lại những hiệu quả kinh tế, xã hội to lớn cho tổ chức đó
Với xu thế tất yếu đó, việc ứng dụng tin học trong hoạt động bán hàng tại các cơ sở kinh doanh là rất cần thiết Ngoài mục đích nâng cao hiệu quả hoạt động sản xuất, nó còn đảm bảo sự tồn tại vững chắc trong môi trường kinh doanh hiện nay đồng thời đáp ứng được những mong muốn và đòi hỏi khắt khe nhất của khách hàng một cách nhanh chóng và hiệu quả nhất
Trang 3Từ những lý do trên, trong quá trình thực tập, em đã tìm hiểu thực tế của Công ty cổ phần thương mại và dịch vụ HAVINA Với sự giúp đỡ của cán bộ nhân viên trong công ty, em đã nắm bắt được những thông tin về công ty, đánh giá sơ bộ được thực trạng tin học hóa tại công ty Cùng với những kiến thức em
đã được học trong suốt 7 học kì tại trường Đại học Kinh tế quốc dân, em muốn xây dựng một phần mềm để hỗ trợ cho công tác quản lý của công ty
Chuyên đề thực tập bao gồm các phần:
1 Tổng quan về Công ty cổ phần thương mại và dịch vụ HAVINA
2 Phương pháp luận phân tích và thiết kế phần mềm quản lý bán hàng tại Công ty cổ phần thương mại và dịch vụ HAVINA
3 Phân tích và thiết kế phần mềm quản lý bán hàng tại Công ty cổ phần thương mại và dịch vụ HAVINA
Trang 4CHƯƠNG I: TỔNG QUAN VỀ CÔNG TY CỔ PHẦN
THƯƠNG MẠI VÀ DỊCH VỤ HAVINA
1 Tổng quan về Công ty cổ phần thương mại và dịch vụ HAVINA
1.1 Quá trình thành lập và phát triển
Công ty cổ phần thương mại và dịch vụ HAVINA là doanh nghiệp được thành lập bởi các cổ đông sáng lập viên là những người được đào tạo chính quy trong nước và ngoài nước, am hiểu ngành nghề kinh doanh và có khả năng tổ chức quản lý lãnh đạo tốt Hoạt động của Công ty được Nhà nước đảm bảo bởi
sự cấp phép của Sở Kế hoạch và Đầu tư thành phố Hà Nội- giấy phép số
1013009326
1.2 Ngành nghề được phép hoạt động và đăng ký kinh doanh
- Chuyên đấu thầu dự án, sản xuất, buôn bán thiết bị điện, điện tử, điện lạnh, thiết bị đo lường điều khiển, thiết bị y tế, các sản phẩm tự động hoá, thiết bị báo cháy, báo trộm, sản phẩm cơ kim khí, thiết bị viễn thông, thiết bị trường học, máy tính và các thiết bị văn phòng
- Dịch vụ tư vấn, đào tạo, dạy nghề và chuyển giao công nghệ trong lĩnh vực điện tử, viễn thông, công nghệ thông tin
Trang 5BAN GIÁM ĐỐC CÔNG TY
Phòng Nghiên cứu phát triển
Phòng
Kế toán
Phòng Bảo hành
Phòng Hành chính
Trang 61.4 Khả năng cung cấp
Công ty thường xuyên tham gia tư vấn, thiết kế, cung cấp, thiết bị và lắp đặt chuyển giao công nghệ các thiết bị trong lĩnh vực công nghệ thông tin, điện tử viễn thông
- Xây dựng hệ thống công nghệ thông tin cho các cơ quan Đảng nhà nước, trường đại học, cao đẳng trung học chuyên nghiệp, cơ quan quân đội, ngân hàng
- Cung cấp hệ thống báo trộm, báo cháy các cơ quan công an, trại giam, ngân hàng, khách sạn …
- Cung cấp hệ thống thiết bị đào tạo các trường đại học, các viện, các trung tâm đào tạo
- Cung cấp hệ thống thiết bị đo lường điều khiển, vật tư trang thiết bị phục
vụ nghiên cứu khoa học kỹ thuật cho nhà máy xi măng
- Cung cấp hệ thống thiết bị phòng thí nghiệm, thiết bị y tế cho bệnh viện, phòng khám đa khoa, phòng khám tư nhân
- Cung cấp hệ thống điều hòa cục bộ và điều hòa trung tâm
1.5 Năng lực lắp đặt, vận hành, bảo trì và đào tạo
* Nhân lực phục vụ thiết kế, thi công và đào tạo kỹ thuật
Công ty cổ phần Havina là tổ chức chuyên ngành có đội ngũ chuyên gia, kỹ thuật đáp ứng được nhu cầu lắp đặt, hướng dẫn, sử dụng và bảo hành các thiết bị cho khách hàng
Về nhân lực kỹ thuật:
Trình độ Đại học, Cao đẳng, TH chuyên nghiệp: 28 người
Ngoài các chương trình đào tạo cơ bản, mỗi năm các bộ kỹ thuật của Công
ty còn được đào tạo nâng cao nghiệp vụ ở nước ngoài thông qua tài trợ của các tập đoàn và các hãng mà công ty phân phối sản phẩm Qua các chương trình này, cán bộ của Công ty cổ phần Havina được các nhà sản xuất chứng nhận về trình độ và khả năng chuyển giao công nghệ, lắp đặt, hướng dẫn sử dụng và bảo hành thiết bị công nghệ tại Việt Nam
Trang 7Bên cạnh đó, Công ty cổ phần Havina còn có nhiều cộng tác viên chuyên môn trong nhiều ngành và các Hiệp hội kỹ thuật khác nhau Các hoạt động dịch
vụ kỹ thuật của công ty được hỗ trợ kỹ thuật bởi các cộng tác viên trong nước
và nhiều chuyên gia nước ngoài Mục tiêu của Công ty trong việc đào tạo cán
bộ, hợp tác với các hãng lớn trong lĩnh vực công nghệ, đo lường, thử nghiệm và thiết bị công nghệ cao
- Bảo hành: Công ty cổ phần Havina bảo hành, sửa chữa, hiệu chỉnh thiết bị được cung cấp tại Hãng sản xuất hoặc bảo hành tại công ty theo hướng dẫn, kiểm soát của chuyên gia do Hãng cử đến Thay thế các phụ tùng, phụ kiện bị
hư hỏng
- Cung cấp phụ tùng thay thế hao mòn: Trong quá trình sử dụng (kể cả sau thời hạn bảo hành), người sử dụng có thể mua thêm các phụ tùng thay thế hao mòn của thiết bị Những yêu cầu này cần được lên kế hoạch và gửi tới người cung cấp hàng trong thời gian 03 tháng trước khi phụ tùng cũ hết hạn sử dụng
- Dịch vụ hỗ trợ kỹ thuật: Hội thảo chuyên đề, đào tạo, triển lãm giới thiệu thiết bị và tích hợp hệ thống Hàng năm, Công ty tham gia giới thiệu công nghệ
và sản phẩm ở các hội thảo chuyên đề của công ty được tổ chúc với sự phối hợp của các Hãng nổi tiếng: CISCO, HP Compaq, Dell, PHILIP, Panasonic, NEC, Siemens …
- Trung tâm bảo hành, bảo trì: Khi thiết bị gặp phải sự cố, khách hàng thông báo trực tiếp cho Công ty cổ phần Havina theo phiếu bảo hành hoặc liên hệ qua địa chỉ sau:
Công ty cổ phần Thương mại và Dịch vụ Havina
Trang 8Địa chỉ liên lạc: P202 nhà D222D Ngõ 260 Đội Cấn – Ba Đình – Hà Nội Điện thoại: 04 5.62.62.62
Fax: 04 7 62 90 23
Email: havinajsc@vnn.vn
Website: www.havina.com.vn
1.6 Năng lực tài chính của công ty
Với số vốn điều lệ: 2.680.000.000 đồng ( hai tỉ sáu trăm tám mươi triệu đồng), cộng với uy tín các tổ chức tín dụng, liên doanh liên kết với Công ty Điện Tử Công Nghiệp (CDC) thuộc Bộ Công Nghiệp, Công ty cổ phần thương mại và dịch vụ HAVINA luôn đáp ứng nhu cầu tài chính trong tất cả các hợp đồng nhập khẩu thiết bị, cũng như thực hiện các dự án lớn tại Việt Nam
1.7 Các sản phẩm chủ yếu của công ty
* Công nghệ thông tin
Phân phối các sản phẩm: Máy tính nguyên bộ, linh kiện máy tính, thiết bị mạng, máy photocopy, máy Fax, máy chiếu đa năng, máy chiếu vật thể, của các hãng nổi tiếng trên thế giới như: IBM, HP Compaq, Cisco, APC, Acer, Dell, Ricoh, Xerox, … Bên cạnh đó, Công ty cổ phần Havina còn là đại lý bán hàng của các hãng máy tính thương hiệu Việt Nam như: CMS, VTB, Elead FPT, SingPC, …
Sản xuất các phần mềm chuyên dụng như: Phần mềm kế toán, phần mềm quản lý bán hàng, phần mềm điều khiển, lưu giữ các thông số của hệ thống công nghệ hoặc vận hành, quản lý
* Sản phẩm viễn thông
- Tổng đài thông tin, điều độ sản xuất, tổng đài Viba
- Thiết bị thu tiến hiệu vệ tinh (hệ thống mạng truyền hình cáp SMATV, CATV, TVRO), hệ thống mạng truyền thanh nội bộ (PA)
- Thiết bị truyền hình số VTC
* Sản phẩm điện lạnh
- Cung cấp thiết bị máy điều hòa cục bộ và điều hòa trung tâm
Trang 9- Bảo trì bảo dưỡng điều hòa không khí
- Tư vấn thiết kế
2 Thực trạng tin học hóa tại công ty và phương án giải quyết
2.1 Thực trạng tin học hóa tại công ty
2.1.1 Hệ thống mạng sử dụng trong công ty
Hiện nay hệ thống máy tính trong công ty đã được kết nối mạng Internet để phục vụ cho hoạt động kinh doanh của công ty mình Mỗi phòng ban đều có thể liên hệ với nhau thông qua hệ thống máy tính nối mạng LAN, ngoài ra các nhân viên trong cơ quan có thể sử dụng đường truyền ADSL để truyền dữ liệu khi có yêu cầu của các cán bộ quản lý
Tại công ty mỗi nhân viên đều được trang bị một máy tính có nối mạng LAN
và kết nối internet ADSL Ngoài ra còn có một máy in mạng phục vụ nhu cầu in
ấn của các nhân viên trong công ty, 01 máy photocopy, 01 máy fax, 1 tổng đài
điện thoại
2.1.4 Trình độ của nhân viên
Hầu hết các nhân viên của công ty đều có khả năng sử dụng máy tính thành thạo và có nghiệp vụ văn phòng tốt
Các nhân viên của phòng kỹ thuật, phòng bảo hành có hiểu biết về phần cứng của máy tính và các dịch vụ mạng có liên quan
2.1.5 Thực trạng ứng dụng tin học của bộ phận quản lý bán hàng
Hiện nay, Công ty đang sử dụng các phần mềm như Microsoft Excel, Microsoft word để quản lý các giấy tờ liên quan đến các quy trình nghiệp vụ kinh doanh của mình Với tính năng xử lý tính toán cao, Excel đã đảm nhận khá tốt vai trò quản lý dữ liệu
Trang 10Tuy nhiên do khối lượng kinh doanh và đơn đặt hàng ngày càng nhiều, do đó nhầm lẫn, sai sót rất dễ xảy ra Hơn nữa, doanh nghiệp cũng đang có nhu cầu
mở rộng kinh doanh, vì vậy đặt ra nhu cầu là phải có một phần mềm quản lý hiệu quả
có trong tay những kiến thức về kinh tế, xây dựng phần mềm và lập trình Cùng với sự giúp đỡ của các cán bộ tại Công ty, sự hướng dẫn và đồng ý của của giáo viên hướng dẫn TS Trần Thị Thu Hà, em đã lựa chọn đề tài :
“Phân tích và thiết kế phần mềm quản lý bán hàng tại Công ty cổ phần
thương mại và dịch vụ HAVINA”
2.3 Công cụ nghiên cứu và thực hiện đề tài
2.3.1 Hệ quản trị cơ sở dữ liệu
Đối với việc tạo lập cơ sở dữ liệu, ta sẽ sử dụng hệ quản trị cơ sở dữ liệu Microsoft Office Access 2003, hệ quản trị cơ sở dữ liệu này rất thân thiện và dễ
sử dụng
2.3.2 Ngôn ngữ lập trình
Chương trình sẽ sử dụng ngôn ngữ Visual Basic 6.0 để lập trình Đây là một ngôn ngữ lập trình sự kiện và cho phép lập trình hướng đối tượng để xây dựng họat động trong môi trường Windowns
Visual Basic cung cấp nhiều công cụ để cho phép kết nối và khai thác dữ liệu ở nhiều hệ quản trị cơ sở dữ liệu khác nhau
Trang 112.3.3 Công cụ làm báo cáo Crystal Repost
Crystal Repost là một công cụ chuẩn, cho phép thiết kế các báo cáo trên ứng dụng Visual Basic Ngoài ra, có thể tạo báo cáo trên ứng dụng và Web, tập tin dạng Crystal Repost có tên mở rộng là “.rpt”
Trang 12CHƯƠNG 2: PHƯƠNG PHÁP LUẬN PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM QUẢN LÝ BÁN HÀNG TẠI CÔNG TY CỔ PHẦN THƯƠNG MẠI VÀ DỊCH VỤ
Định nghĩa này xác định được thành phần của phần mềm trong công nghệ phần mềm
Phần mềm là sản phẩm của một nền công nghệ mới nó gồm có hai tính chất sau:
+ Phần mềm là hệ thống logic chứ không phải kỹ thuật Do đó nó không được ráp theo nghĩa thông thường như sản phẩm công nghiệp khác Một phần mềm cần có sự đầu tư nhiều trí tuệ của những người chế tác phần mềm
+ Sản phẩm của các nền công nghiệp truyền thống sẽ bị hao mòn trong quá trình sử dụng Giá trị của phần mềm càng tăng lên khi nó được người sử dụng càng hiểu sau về nó
Trang 13b Các giai đoạn phát triển của phần mềm
- Thời gian thực
- Bắt đầu có phần mềm thương mại
- Hệ phân tán
- Hiệu quả thương mại hoá
- Hệ thống để bàn
Tính chất thương mại hóa của phần mềm trên thị trường ngày càng bộc lộ rõ
và đỉnh cao là việc sản xuất phần mềm đã tiến hành ở quy mô đại trà theo tác phong công nghiệp và xu thế tổng quát của thị trường
2.1.2 Công nghệ phần mềm
a khái niệm
Công nghệ phần mềm là môn khoa học nghiên cứu các phương pháp, các thủ tục và các công cụ đi từ phân tích thiết kế đến quản lý một dự án phần mềm nhằm đạt được các mục tiêu của dự án
Hay nói cách khác: Công nghệ phần mềm là tổ hợp các công cụ, phương pháp và thủ tục làm cho người quản trị viên dự án nắm được xu thế tổng quát của công nghệ phần mềm Đồng thời giúp cho kỹ sư lập trình có nền tảng để khai thác định hướng phần mềm
b Các giai đoạn phát triển của 1 dự án phần mềm
Quy trình phát triển 1 dự án phần mềm không phụ thuộc vào quy mô, độ phức tạp và miền ứng dụng, nó đều trải qua 3 giai đoạn sau:
Trang 14- Giai đoạn 1: Giai đoạn xác định
Nhóm sản xuất phần mềm phải xác định cụ thể và chi tiết sản phẩm phần mềm mà mình cần chế tạo ra Đây là công đoạn cực kỳ quan trọng khi sản xuất phần mềm với quy mô công nghiệp vì chỉ có xác định rõ ràng phạm vi của sản phẩm và các rằng buộc liên quan chúng ta mới tiến hành được kết quả các công đoạn sau
Trong giai đoạn này phải xác định và giải quyết ban vấn đề mấu chốt sau: + Tiến hành phân tích hệ thống một cách toàn diện theo quan điểm: một phần mềm là một bộ phận của hệ thống quản lý Phần mềm phải được đặt trong tổng thể hệ thống ấy và xem xét trong mối quan hệ ràng buộc với các yếu tố quản lý khác
+ Tiến hành lập kế hoạch sản xuất phần mềm trước khi đi vào yêu cầu cụ thể
+ Tiến hành phân tích yêu cầu một cách cụ thể, chi tiết theo từng đối tượng Đây là giai đoạn định danh phần mềm trong thực tế của các công ty phần mềm nó được cụ thể hóa trong vai trò cán bộ có chức danh: Cán bộ phân tích yêu cầu phần mềm, Cán bộ lập và quản lý yêu cầu phần mềm
- Giai đoạn 2: Giai đoạn phát triển
Trong giai đoạn này phải định hướng phần mềm sẽ phát triển như thế nào Trong đó có 3 công việc quan trọng cần làm: thiết kế, mã hóa, kiểm thử Cần chú ý khái niệm mã hóa trong công nghệ phần mềm khác với khái niệm mã hóa trong hệ thống thông tin Trong công nghệ phần mềm, mã hóa là quá trình chuyển đổi, dịch từ một thiết kế ban đầu thành một ngôn ngữ lập trình mà máy tính có thể hiểu được
Trong thực tiễn của công nghệ phần mềm giai đoạn này được thực hiện bởi các chức danh: Cán bộ thiết kế, Cán bộ quản lý cấu hình phần mềm, Lập trình viên, Cán bộ test phần mềm
Trang 15- Giai đoạn 3: Giai đoạn bảo trì
Trong đó có loại hình: bảo trì sửa chữa, bảo trì thích nghi và bảo trì hoàn thiện (còn gọi là bảo trì nâng cao)
+ Bảo trì sửa chữa: tức là sửa lỗi phần mềm, lỗi chi tiết đơn giản không phải
mà công ty mua phần mềm yêu cầu
Trong thực tiễn hoạt động hiện nay của các công ty phần mềm nhiệm vụ này thường được giao cho cán bộ triển khai phần mềm và ban hỗ trợ khách hàng Đánh giá hiệu quả hoạt động của các công ty phần mềm ở việt nam hiện nay Người ta thấy vấn đề hậu mãi lại đóng vai trò quan trọng hơn là chất lượng phần mềm
Trong công nghệ phần mềm, người ta thường áp dụng quy tắc 40 – 20 – 40
về sự phân bổ các nỗ lực trong tiến trình phát triển một phần mềm Tức là toàn
bộ tiến trình được chia thành ba khối lớn Có nghĩa là trong giai đoạn phát triển thì phẫn mã hóa công ty phần mềm cần tập trung các tiềm năng về vật chất và con người ở mức độ 20% còn lại các tiềm năng này được chia làm 2 lần cho quy trình thiết kế và thử nghiệm
2.1.3 Vòng đời phát triển của phần mềm
Mỗi phần mềm từ khi ra đời phát triển đều trải qua 1 chu kì trong công nghệ phần mềm gọi là vòng đời phát triển của phần mềm
Mục đích của việc nghiên cứu vòng đời phát triển của phần mềm là phân ra thành giai đoạn trên cơ sở đó tìm hiểu giải pháp và công cụ thích hợp để tác
Trang 16động vào các giai đoạn Vòng đời phát triển của một phần mềm được biểu diễn bằng mô hình thác nước theo hình vẽ sau đây:
Hình 2.1 Mô hình biểu diễn vòng đời phát triển của phần mềm
- Công đoạn đầu tiên là công nghệ hệ thống bao trùm toàn bộ các quá trình tiếp theo trong công nghệ phần mềm Vì phần mềm là một thành phần của hệ thống quản lý do đó nó phải được xem xét trong mối liên quan tổng thể về kinh
tế, kỹ thuật, tài chính của toàn bộ bộ máy quản lý
- Công đoạn tiếp theo là phân tích Với mục đích xác định rõ ràng và cụ thể các yêu cầu của phần mềm
- Phần thiết kế trong công nghệ phần mềm hướng tới các vấn đề sau đây: + thiết kế kiến trúc hệ thống: là phần quan trọng nhất vì nó cho ta cái nhìn tổng thể về phần mềm cần xây dựng
+ Thiết kế kỹ thuật là đi vào các vấn đề cụ thể gồm: thiết kế dữ liệu, thiết kế thủ tục, thiết kế chương trình, thiết kế giao diện màn hình và cuối cùng là thiết
kế công cụ cài đặt
Người ta dùng mô hình thác nước để biểu diễn vòng đời phát triển của phần mềm với 2 ý nghĩa Một là: để khẳng định đây là giai đoạn của một quy trình thống nhất, nó không tách rời mà có mối liên quan mật thiết với nhau Hai là: trong mô hình này các công đoạn ở phía dưới thì chịu tác động của toàn bộ các
Trang 17công đoạn ở phía bên trên Chỉ có công đoạn công nghệ hệ thống là không chịu ảnh hưởng hay tác động của bất cứ công đoạn nào
2.1.4 Làm bản mẫu phần mềm
Đây là một công đoạn rất đặc trưng khi sản xuất phần mềm ở quy mô công nghiệp Cũng tương tụ như trong sản xuất của một ngành công nghiệp nào đó, trước khi đưa sản phẩm vào sản xuất hàng loạt thì phải tiến hành thử nghiệm làm thử một số sản phẩm để đưa ra thăm dò ý kiến của khách hàng, nếu khách hàng đồng ý thì mới tiến hành sản xuất hàng loạt
Bản mẫu phần mềm được hiểu là một mô hình của phần mềm tương lai mang những đặc trưng cơ bản nhất nhưng chưa phải là phần mềm hoàn toàn đã hoàn thiện
Trong quy trình làm phần mềm nhất thiết phải làm bản mẫu vì hai lý do sau đây: Khi khách hàng đến công ty đặt hàng người ta chỉ bày tỏ nguyện vọng sản phẩm phần mềm mới được thiết kế Các kỹ sư phần mềm ngay từ đầu khi nhận đơn đặt hàng thì cũng không hình dung hết các chức năng chỉ tiết của phần mềm
Quy trình làm bản mẫu phần mềm đòi hỏi những cán bộ có chuyên môm cao không chỉ thuần tuý về mặt tin học Vì mục đích của công đoạn làm bản mẫu chưa hẳn là chất lượng của phần mềm mà còn là khả năng thu hút khách hàng
để sản xuất phần mềm Sau khi có bản mẫu phần mềm, khách hàng sẽ xem xét đánh giá và nếu bản mẫu đã được chấp nhận thì phần mềm sẽ được đưa vào sản xuất
Trang 18Quy trình làm bản mẫu phần mềm gồm các bước như sau:
Hình 2.2 Mô hình mình hoạ các bước làm bản mẫu phần mềm
- Bước 1: Xác định yêu cầu của khách hàng Trong bước này đại diện của công ty phần mềm gặp gỡ khách hàng để xác định các yêu cầu của họ về phần mềm Thông thường khách hàng chỉ bày tỏ nguyện vọng là chính, bản thân cán
bộ công ty phần mềm phải lượng hóa và mô hình hóa các nguyện vọng đó
- Bước 2: Thiết kế nhanh Mục đích của bước này ở dạng phác thảo chỉ bao gồm 1 vài đặc trưng cơ bản của phần mềm
- Bước 3: Làm bản mẫu Nhằm mục đích công ty phần mềm cho ra đời nhanh 1 bản mẫu dạng phác thảo chỉ gồm 1 vài đặc trưng cơ bản của phần mềm
- Bước 4: Khách hàng đánh giá bản mẫu
Trang 19- Bước 5: Làm mịn bản mẫu, hay là chi tiết hóa các chức năng phần mềm
- Bước 6: Kết thúc ta được 1 sản phẩm chưa được thương mại hóa thị trường
mà là bản mẫu phần mềm
Quy trình này có vai trò đặc biệt quan trọng, là yếu tố quyết định xem khách hàng có ký hợp đồng phần mềm hay không Ngoài ra cán bộ làm phần bản mẫu ngoài kiến thức chuyên môn phải có kiến thức tổng hợp về tình hình kinh tế xã hội
2.1.5 Nền tảng thiết kế phần mềm
a Vai trò của thiết kế phần mềm
Thiết kế phần mềm là khâu trung tâm trong quy trình sản xuất một phần mềm công nghiệp và được dùng để chỉ chung 3 quy trình là: Thiết kế, lập trình
- Nền tảng thiết kế cũng là cơ sở để tiếp tục phát triển phần mềm hoặc sửa chữa, bổ sung các chức năng của nó
Trang 20b Tiến trình thiết kế trong công nghệ phần mềm
Khi sản xuất một phần mềm công nghiệp theo quan điểm quản lý dự án việc thiết kế phần mềm được tiến hành theo 2 bước: thiết kế sơ bộ và thiết kế chi tiết
Xét từ góc độ quản lý thì thiết kế sơ bộ đưa ra cái nhìn sơ bộ về phần mềm tương lai Còn thiết kế chi tiết đi sau vào các lĩnh vực thiết kế cụ thể: thiết kế dữ liệu, thiết kế chương trình, thiết kế thủ tục
Nếu xét từ phương diện kỹ thuật thì quy trình phát triển một phần mềm công nghiệp được phân chia thành 4 công đoạn: thiết kế kiến trúc, thiết kế dữ liệu, thiết kế thủ tục và thiết kế giao diện
Hai góc độ quản lý và kỹ thuật trong tiến trình phát triển phần mềm có mỗi quan hệ rất chặt chẽ với nhau và được biểu diễn tổng quan trong hình vẽ sau đây:
Trang 21Yêu cầu chung đối với một kỹ sư phần mềm là phải đạt được 2 yêu cầu sau:
- Đảm bảo tính chặt chẽ trong kiến trúc để không xảy ra những lỗ hổng trong phần mềm
- Kiến trúc phải đảm bảo không quá phức tạp để khi dịch thành chương trình, quy mô của chương trình không quá lớn khi thực hiện mỗi chức năng Bản chất của của kiến trúc phần mềm là bài toán chuyển từ P – S ( Tử vấn
đề thực tế sang giải pháp phần mềm) P là một vấn để phi cấu trúc và S đã được cấu trúc hóa
Hình 2.5 Mô hình biểu diễn kiến trúc phần mềm Với 1 vấn đề P, ta có thể đưa ra rất nhiều giải pháp S khác nhau, từ đó đưa đến nhiều kiến trúc hệ thống khác nhau Tiêu chuẩn cơ bản ở đây là đảm bảo được mức độ càng đơn giản càng tốt mà vẫn thực hiện được các chức năng Việc giải quyết vấn đề từ P sang S không những chỉ là kĩ thuật mà còn là nghệ
Trang 22thuật của kỹ sư phần mềm, hoàn toàn tương tự như kến trúc sư với mỗi công trình xây dựng Vì thế trước mỗi vấn đề thực tế đặt ra, kỹ sư phần mềm phải lựa chọn 1 giải pháp phần mềm gọn nhẹ không quá phức tạp
2.1.6 Xác định quy mô phần mềm
Cũng như các nghành công nghiệp truyền thống Trong công nghệ phần mềm, vấn đề xác định quy mô của sản phẩm là một công đoạn bắt buộc và hướng tới hai mục đích sau:
- Để xác định kế hoạch thiết kế phần mềm phù hợp
- Đưa ra một giấy báo giá dựa trên cơ sở tình toán cụ thể
Tuy nhiên, sản phẩm phần mềm có những nét đặc thù riêng biệt so với sản phẩm của các ngành công nghiệp truyền thống Do đó, việc xác định quy mô của chúng cũng phức tạp hơn nhiều Người ta sử dụng hai phương pháp để xác định quy mô phần mềm
+ Phương pháp trực tiếp (KLOG)
Đây là phương pháp xét quy mô phần mềm trên cơ sở dòng lệnh Như vây, một phần mềm được đánh giá là quy mô lớn nếu nó có nhiều dòng lệnh Ở đây, người ta chưa đề cập đến phần chất lượng, chức năng mà phần mềm có thể thực hiện được
Hiệu năng = KLOG /nguời /tháng
Chất lượng = (100 – sai sót /KLOG) /100%
Chi phí = Tổng số tiền /KLOG
+ Phương pháp gián tiếp (FP)
Phương pháp KLOG chỉ xét đến góc độ quy mô mà chưa đề cập đến hiệu quả của phần mềm Bổ xung phương pháp hai để đánh giá phần mềm theo quan điểm chức năng Đây là phương pháp thực nghiệm do nhà tin học nguời Mỹ đưa ra trên cơ sở xem xét rất nhiều phần mềm và dựa vào ý kiến đánh giá của các chuyên gia, và đưa ra 5 chỉ tiêu đánh giá chức năng của một phần mềm
Trang 23Tham số đo Số lượng Đơn giản Trung bình Phức tạp Tổng
2.1.7 Các quy trình thiết kế trong công nghệ phần mềm
Trong sản xuất phần mềm công nghiệp, người ta chuẩn hoá dưới dạng tổng quát 6 bước được gọi là 6 quy trình - đây có thể coi là bản hướng dẫn của những người làm việc trong công ty sản xuất phần mềm :
+ Xác định yêu cầu người sử dụng
+ Xây dựng và quản lý hợp đồng phần mềm
+ Thiết kế phần mềm
+ Lập trình trong công nghệp phần mềm
+ Quy trình test trong công nghệ phần mềm
+ Quy trình triển khai trong công nghệ phần mềm
Trang 24Tuy nhiên áp dụng vào đề tài, do còn nhiều hạn chế về điều kiện và năng lực bản thân nên sẽ chỉ đi sâu vào những khâu quan trọng để xây dựng lên phần mềm Đó là các quy trình :
+ Xác định yêu cầu người sử dụng
+ Thiết kế phần mềm
+ Lập trình trong công nghệ phần mềm
Khi thực hiện đề tài “ Phân tích và thiết kế phần mềm quản lý bán hàng tại Công ty cổ phần thương mại và dịch vụ HAVINA”, thì 3 quy trình trên là các quy trình quan trọng nhất Việc thực hiện tốt 3 quy trình này đóng vai trò chủ chốt tạo lên phần mềm
1) Quy trình xác định yêu cầu người sử dụng (Khách hàng)
* Mục đích của quy trình
Mục đính của quy trình bao gồm tìm hiểu yêu cầu của khách hàng, tiến hành phân tích hệ thống một cách sơ bộ và các quy trình liên quan và lượng hoá nhu cầu của khách hàng về sản xuất phần mềm
Trang 25* Lưu đồ của quy trình
Trang 26* Các thông số của quy trình
Thông số Mô Tả Yêu cầu
- Phân tích nghiệp vụ
- Mô tả hoạt động của hệ thống
Theo tiêu chuẩn
- Các giải pháp kỹ thuật thực hiện hợp đồng
Theo tiêu chuẩn
+ - 20%
5 Các quá trình liên
quan - Hợp đồng phần mềm
Theo tiêu chuẩn
công ty
* Phân đoạn các hoạt động
STT Các bước thực hiện Điều kiện bắt đầu Điều kiện kết thúc
2 Khảo sát hệ thống Kết thúc bước 1 Quản trị viên dự án và
khách hàng chuẩn y
3 Phân tích nghiệp vụ Kết thúc bước 2 Khách hàng chấp nhận
4 Phân tích yêu cầu
Trang 27Trong quy trình này, khi áp dụng vào đề tài, phải nắm bắt được hệ thống quản lý bán hàng tại công ty cổ phần thương mại và dịch vụ HAVINA Từ đó đi sâu tìm hiểu và phân tích từng nghiệp vụ quản lý
Yêu cầu quan trọng của quy trình xác định yêu cầu người sử dụng là phải
mô hình hóa và cấu trúc hóa các vấn đề phi cấu trúc Do đó, đây là khâu quan trọng nhất cần phải có một kiến thức tổng hợp từ rất nhiều lĩnh vực
2) Quy trình thiết kế phần mềm
* Mục đích của quy trình
Trên cơ sở của hồ sơ phân tích nghiệp vụ và mô hình hoạt động của hệ thống tiến hành thiết kế kiến trúc và thiết kế kĩ thuật để xây dựng hồ sơ thiết kế phần mềm
* Các dấu hiệu
Quy trình thiết kế phần mềm được đặc trưng bởi các dấu hiệu sau:
- Thiết kế kiến trúc phần mềm ( Chuyển từ P -> S)
Trang 28* Lưu đồ của quy trình
Trang 29* Các thông số của quy trình
Thông số Mô tả Yêu cầu
Quản trị viên dự án phê duyệt
3 Sản phẩm Kiến trúc hồ sơ hệ thống
Hồ sơ thiết kế kỹ thuật
Quản trị viên dự án phê duyệt
* Phân đoạn các hoạt động
Stt Hoạt động Điều kiện bắt đầu Điều kiện kết thúc
1 Lập kế hoạch thiết
kế
Sau khi nhận hợp đồng Kinh tế, Hồ sơ phân tích nghiệp vụ
Quản trị viên dự án duyệt
2 Thiết kế kiến trúc Sau khi kết thúc bước
1
Quản trị viên dự án duyệt
3 Thiết kế dữ liệu Sau khi kết thúc bước
2
Quản trị viên dự án duyệt
4 Thiết kế thủ tục Sau khi kết thúc bước
Quản trị viên dự án duyệt
6 Thiết kế giao diện Sau khi kết thúc bước
2
Quản trị viên dự án duyệt
7 Tổng hợp Sau khi kết thúc bước
6
Quản trị viên dự án duyệt
Cũng tương tự như quy trình trước mỗi hoạt động sẽ được chi tiết thành các đầu việc cụ thể
Trang 303) Quy trình lập trình trong công nghệ phần mềm
Quy trình lập trình được đặc trưng bởi các dấu hiệu sau:
- Lập trình các thư viện chung
- Lập trình các module
- Lập trình tích hợp
* Lưu đồ của quy trình
Trang 31* Các thông số của quy trình
Thông số Mô Tả yêu cầu
1 Thông Số chung:
Chức Danh Lập trình Viên Tiêu Chuẩn FPT
2 Input Thiết kế kiến trúc tổng quát
QTVDA phê duyệt
4 Đánh giá chất lượng Tỷ lệ các SP hoàn thành đúng
hạn
Dự kiến hoàn thành
>= 90%
+ - 20%
5 Các quá trình liên
quan
thiết kế HĐPM Test
Kết thúc bước 1 QTVDA phê duyệt
3 Thiết kế module kết thúc bước 2 QTVDA phê duyệt
4 tích hợp kết thúc bước 3 QTVDA phê duyệt
5 Test chương Trình kết thúc bước 4 QTVDA phê duyệt
6 báo cáo QT Lập trình kết thúc bước 5 QTVDA phê duyệt
Dựa vào các hoạt động này, sẽ sử dụng ngôn ngữ Visual Basic 6.0 để lập trình phần mềm
Trên đây là 3 quy trình quan trọng nhất khi áp dụng vào đề tài “ Phân tích và thiết kế phần mềm quản lý bán hàng tại Công ty cổ phần thương mại và dich vụ HAVINA” Ngoài ra, sau khi kết thúc 3 quy trình này, có thể thực hiện thêm 2 quy trình: quy trình test, và quy trình triển khai Việc thực hiện 2 quy trình này
Trang 32sẽ diễn ra ở quy mô nhỏ, phù hợp với năng lực bản thân và quy mô của phần mềm, nhằm tìm ra các lỗi của phần mềm và chạy thử phần mềm trên 1 số máy trạm của Công ty cổ phần thương mại và dịch vụ HAVINA
2.2 Một số nguyên tắc khi thiết kế phần mềm
2.2.1 Nguyên tắc thiết kế màn hình nhập liệu
Mục đích của thiết kế màn hình nhập liệu là thiết kế các thủ tục nhập liệu có hiệu quả và giảm thiểu tối đa các sai sót Sau đây là một số nguyên tắc hữu ích cho việc thiết kế màn hình nhập liệu:
- Khi nhập dữ liệu từ một tài liệu gốc, khuôn dạng màn hình phải giống như tài liệu gốc
- Nên nhóm các trường trên màn hình theo một trật tự có ý nghĩa, theo trật tự
tự nhiên, theo tần số sử dụng, theo chức năng hoặc theo tầm quan trọng
- Không bắt người dùng cập nhật các thông tin thứ sinh tức là thông tin có thể tính toán được hoặc có thể truy tìm được từ cơ sở dữ liệu hoặc có thể suy luận được từ những thông tin đã có
- Đặt tên cho các ô nhập liệu ở phía trên hoặc bên trái của ô nhập liệu
- Tự động cập nhật các giá trị ngầm định nếu có thể
- Sử dụng phím Tab hoặc phím Enter để chuyển tới trường tiếp theo
- Sử dụng tối đa ba màu trên Forn chức năng, chỉ tô màu hoặc nhấn mạnh những trường thông tin quan trọng
2.2.2 Nguyên tắc cơ bản của việc trình bày thông tin trên màn hình
Theo Dumas và Galit thì có những nguyên tắc cơ bản cho việc trình bày thông tin trên màn hình như sau:
- Đặt mọi thông tin gắn liền với một nhiệm vụ trên cùng một màn hình Người sử dụng không phải nhớ thông tin từ màn hình này sang màn hình khác
- Chỉ dẫn rõ ràng cách thoát khỏi màn hình Đặt giữa các tiêu đề và xếp đặt thông tin theo trục trung tâm