GIỚI THIỆU CÔNG TY PHẦN MỀM QUẢN LÝ DOANH NGHIỆP FAST VÀ ĐỀ TÀI NGHIÊN CỨU
GIỚI THIỆU CÔNG TY PHẦN MỀM QUẢN LÝ DOANH NGHIỆP FAST
1 Giới thiệu chung về công ty
- Tên tiếng việt: Công ty phần mềm quản lý doanh nghiệp FAST
- Tên tiếng Anh: Fast Software Company
Trước năm 2003 công ty có tên là “Công ty phần mềm tài chính kế toán FAST” Từ 2003 công ty đổi tên thành “Công ty phần mềm quản lý doanh nghiệp FAST”.
- Chi nhánh tại TP Hồ Chí Minh: năm 1998
- Văn phòng đại diện tại Đà Nẵng: năm 1999
Vốn đăng ký và hình thức sở hữu:
- Vốn đăng ký: 1.000.000.000 đồng ( Một tỷ đồng Việt Nam )
- Hình thức sở hữu: cổ phần
Chức năng đăng ký kinh doanh:
- Sản xuất và kinh doanh các phần mềm máy tính;
- Buôn bán hàng tư liệu tiêu dùng (thiết bị máy tính, tin học, ….)
- Dịch vụ thông tin khoa học và công nghệ;
- Dich vụ tư vấn chuyển giao công nghệ.
Lĩnh vực kinh doanh chủ yếu: sản xuất và kinh doanh các phần mềm quản lý doanh nghiệp.
- Chủ tịch hội đồng quản trị: Ông nguyễn Thành Nam
- Giám đốc công ty: Ông Phan Quốc Khánh
- Giám đốc điều hành: Lê Khắc Bình
- Giám đốc kỹ thuật: Ông Phạm Ngọc Hùng
- Giám đốc chi nhánh tại TP.Hồ Chí Minh: Bà Ninh Thị Tổ Uyên
- Phó giám đốc chi nhánh công tý FAST tại TP.Hồ Chí Minh: Ông Nguyễn Đông Phong
- Trường VPDD tại Đà Nẵng: Ông Lê Văn Quán Địa chỉ liên hệ:
Văn phòng tại TP Hà Nội: Ðịa chỉ: 18 Nguyễn Chí Thanh, Quận Ba đình Điện thoại: (04) 771-5590
E-Mail: fast@hn.vnn.vn, fhn@fastsoftware.biz
Văn phòng tại TP Hồ Chí Minh: Ðịa chỉ: 391A Nam Kỳ Khởi Nghĩa, Q 3 Ðiện thoại: (08) 848-1001
E-Mail: fastsg@hcm.vnn.vn, fsg@fastsoftware.biz
Văn phòng tại TP Ðà Nẵng Ðịa chỉ: Toà nhà Softech, 15 Quang Trung, Q Hải Châu Ðiện thoại: (0511) 81-0532
E-Mail: mailto:fast@hn.vnn.vn, fdn@fastsoftware.biz
Web site: http://www.fast.com.vn/
Công ty Phần mềm Quản lý Doanh nghiệp FAST (Fast Software Company) được thành lập ngày 11 tháng 6 năm 1997 và là công ty đầu tiên ở Việt Nam có định hướng chuyên sâu trong lĩnh vực cung cấp giải pháp phần mềm quản trị doanh nghiệp.
FAST được thành lập bởi các chuyên gia đã có kinh nghiệm nhiều năm trong lĩnh vực phần mềm tài chính kế toán, ngân hàng và quản trị doanh nghiệp với mục tiêu kết hợp sự hiểu biết về nghiệp vụ, công nghệ, phương thức hỗ trợ khách hàng và kinh nghiệm thực tế để tạo các sản phẩm và dịch vụ chất lượng cao cho thị trường
3 Mục tiêu, nhiệm vụ và chức năng
Mục tiêu của FAST: “Đạt được và giữ vững vị trí số 1 trên thị trường Việt Nam trong lĩnh vực cung cấp các giải pháp phần mềm tài chính kế toán và quản trị doanh nghiệp”.
“Cùng khách hàng đi đến thành công!” là phương châm hành động của FAST nhằm đạt được mục tiêu đề ra Bằng lỗ lực và lòng tận tuỵ của từng cá nhân và của toàn công ty, dựa trên cơ sở hiểu biết sâu sắc nhu cầu của khách hàng và năng lực không ngừng được nâng cao FAST sẽ triển khai các ứng dụng thành công, mang lại hiệu quả cho khách hàng.
Nhiệm vụ của FAST đó là phát triển và cung cấp các công cụ và phần mềm hiện đại trong quản lý tài chính kế toán và quản trị sản xuất kinh doanh nhằm nâng cao hiệu quả hoạt động của các doanh nghiệp vừa và nhỏ ở ViệtNam.
4 Cơ cấu tổ chức của công ty
Sơ đồ tổ chức công ty:
Sơ đồ tổ chức chi nhánh:
4.2 Chức năng của các phòng ban
Hội đồng quản trị: đề ra các chiến lược phát triển dài hạn của công ty Ban giám đốc : có chức năng sau:
- Điều hành các chiến lược đã được phòng hội đồng đề ra
- Đưa ra các quyết định về chiến lược, chính sách chung của công ty về tổ chức công ty, nhân sự, …
- Tham gia vào việc xây dựng chiến lược của công ty
Phòng tổng hợp: bao gồm các trợ lý giám đốc có nhiệm vụ trợ giúp cho giám đốc công ty về nhân sự, tổ chức kinh doanh, làm việc với đối tác, xây dựng các dự án phát triển kinh doanh.
Phòng nghiên cứu và phát triển sản phẩm: nghiên cứu và phát triển sản phẩm mới, cùng tham gia hỗ trợ với bộ phận kinh doanh sửa đổi và nâng cấp sản phẩm theo yêu cầu của khách hàng
Các văn phòng tại Hà Nội, Đã Nẵng, Thành phố Hồ Chí Minh: có nhiệm vụ bảo hành và làm các dịch vụ chăm sóc và tìm kiếm khách hàng ở các miền trong nước.
Tổ chức của các chi nhánh :
Giám đốc chi nhánh: có chức năng sau:
- Điều hành, tổ chức thực hiện kinh doanh tại các chi nhánh phụ trách theo yêu cầu công ty đã đề ra.
- Xây dựng các quy định, chính sách, kế hoạch năm cho các chi nhánh.
- Tham gia vào xây dựng chiến lược công ty
Phòng nghiên cứu và phát triển sản phẩm: phòng chịu trách nhiệm nghiên cứu các vấn đề về thị trường như sự ảnh hưởng của thị trường đến sự phát triển các sản phẩm phần mềm, xu hướng phát triển,…Hàng ngày (tháng , kỳ kinh doanh) trưởng phòng thông báo những biến động và đưa ra những gợi ý phát triển, biện pháp khắc phục,…
Trợ lý giám đốc: trợ lý giám đốc về các vấn đề thị trường, tiếp thị, tuyển dụng, đào tạo nhân sự.
Giám đốc chi nhánh: phụ trách chung theo dõi bám sát các phòng trong chi nhánh trong thực hiện công việc, tổ chức thực hiện các kế hoạch ngắn hạn và dài mà công ty đã đưa ra Hàng tháng (kỳ) phải báo cáo tình hình hoạt động của chi nhánh lên hội đồng quản trị của công ty.
Phòng kinh doanh: bao gồm các nhân viên bán hàng chuyên thực hiện các công việc quảng cáo sản phẩm phần mềm công ty đã có, tìm kiếm khách hàng, khách hàng tiềm năng và tham gia công việc bảo hành sản phẩm của công ty.
Phòng tư vấn thiết kế: tham gia vào các dự án mới của công ty và công việc bảo hành sản phẩm như khảo sát yêu cầu khách hàng, xây dựng các bài toán, khối lượng công việc để xác định giá bán của sản phẩm, nguồn nhân lực và thời gian thực hiện và đề ra phương án thiết kế sơ bộ bài, hỗ trợ phòng triển khai hợp đồng và phòng lập trình thực hiện nhiệm vụ của bài toán đã được đặt ra.
Phòng triển khai hợp đồng: các cán bộ trong phòng chịu trách nhiệm khảo sát chi tiết yêu cầu của khách hàng, tư vấn cho khách hàng về xây dựng sản phẩm, phối hợp với phòng lập trình sửa đổi, thử nghiệm, cài đặt, đào tạo sử dụng chương trình phần mềm và tham gia công việc bảo hành khi cần thiết.
Phòng lập trình ứng dụng: là phòng triển khai, thực hiện bản thiết kế do phòng thiết kế đưa ra Mặt khác, tham gia vào quá trình thiết kế sản phẩm phần mềm mới hoặc hỗ trợ phòng triển khai thực hiện hợp đồng trong việc bảo hành, sửa đổi, bảo trì khi có yêu cầu của khách
PHƯƠNG PHÁP LUẬN VỀ XÂY DỰNG PHẦN MỀM 17 I PHƯƠNG PHÁP LUẬN CHUNG VỀ PHẦN MỀM
Khái niệm về phần mềm
TS Roger Presman, một chuyên gia công nghệ phần mềm của Mỹ định nghĩa phần mềm như sau:
“ Phần mềm (software) là một tổng thể bao gồm ba yếu tố:
- Các câu lệnh (chương trình máy) khi được thực hiện thì tạo ra các dịch vụ và cho những kết quả như mong muốn.
- Các cấu trúc dữ liệu làm cho chương trình thao tác được với các thông tin thích hợp.
- Các tài liệu mô tả thao tác, cách sử dụng và bảo trì chương trình.”
1.2 Sự tiến hoá của phần mềm
Phần mềm được viết ra bởi các chuyên gia phân tích, thiết kế, lập trình và xây dựng phần mềm dựa trên các ngôn ngữ lập trình Phần mềm và các ngôn ngữ lập trình từ khi ra đời đến nay đã phát triển qua bốn thế hệ Người ta dự kiến sự ra đời của phần mềm và ngôn ngữ lập trình thế hệ thứ năm.
Thế hệ 1 Thế hệ 2 Thế hệ 3 Thế hệ 4 Thế hệ 5
* Chương trình một người dùng
Viết * Viết bằng ngôn ngôn ngữ máy
*Các gói chương trình ứng dụng thương mại nhiều người dùng.
*Viết bằng ngôn ngữ ký từ
*Viết bằng ngôn ngữ bậc cao.
*Hệ quản trị cơ sở dữ liệu.
* Viết bằng ngôn ngữ bậc cao thế hệ 4
*Ngôn ngữ tự nhiên, các hệ chuyên gia và cơ sở tri thức.
* Viết bằng ngôn ngữ bậc cao vạn năng kết hợp với hướng đối tượng.
Thế hệ 1: ra đời và phát triển vào những năm 1950 – 1960 Trong thời gian này chủ yếu là phần mềm xử lý theo lô, đơn chiếc và làm theo đơn đặt hàng, được các chuyên gia viết bằng ngôn ngữ máy.
Thế hệ 2: phát triển vào những năm 1960 – 1970 Gồm các phần mềm thương mại dành cho nhiều người dùng, xử lý thời gian thực và các ứng dụng cơ sở dữ liệu đơn giản.
Thế hệ 3: phát triển từ năm 1970 – 1990 Gồm các hệ điều hành cho các hệ thống phân tán Một số phần mềm thông minh được viết bằng ngôn ngữ bậc cao.
Thế hệ 4: phát triển từ năm 1990 – 2000: gồm các hệ quản trị cơ sở dữ liệu cao cấp hỗ trợ mạng, nhiều người dùng truy cập đồng thời tại một thời điểm Chúng được viết bằng ngôn ngữ bậc cao thế hệ 4 theo kiến trúc xử lý song song.
Thế hệ 5: phát triển từ năm 2000 trở đi Gồm các ngôn ngữ tự nhiên, các hệ chuyên gia cao cấp và cơ sở tri thức Chúng được viết từ ngôn ngữ bậc cao vạn năng và các ngôn ngữ hướng sự vật (OOL).
1.3 Các đặc trưng của phần mềm
Phần mềm là phần tử hệ thống logic chứ không phải là hệ thống vật lý.
Do đó, phần mềm có các đặc trưng khác biệt đáng kể với các đặc trưng của phần cứng.
Phần mềm được phát triển hay được kỹ nghệ hoá, nó không được chế tạo theo nghĩa cổ điển
Phần mềm cũng được thiết kế chế tạo như phần cứng nhưng không được định hình trước Quá trình thiết kế và sản xuất phần mềm phụ thuộc vào con người, điều kiện môi trường cụ thể ở tại đó nó phát triển Người ta không thể nói trước được giá thành và hiệu quả của phần mềm, chính quá trình phát triển phần mềm quyết định giá thành và chất lượng của phần mềm.
Phần mềm không “hỏng đi” trong quá trình sử dụng
Phần mềm không cảm ứng với những thay đổi của môi trường Phần mềm trải qua thời gian cần phải thay đổi để đáp ứng nhu cầu của tổ chức Mỗi khi thay đổi sẽ có một yêu cầu mới cần mở rộng hoặc một khuyết điểm mới đưa vào, trước khi trở lại sự ổn định như ban đầu thì một thay đổi khác được yêu cầu quá trình này lặp đi lặp lại dần dần mức tỷ lệ hỏng hóc tối thiểu bắt đầu nâng lên – phần mềm bị thoái hoá do sự thay đổi.
Mặt khác khi một yếu tố phần cứng bị mòn cũ đi, nó liền thay thế bởi một “vật tư thay thế” Nhưng không có phần thay thế cho phần mềm Mọi hỏng hóc phần mềm đều chỉ ra lỗi trong thiết kế hay tiến trình chuyển thiết kế thành mã máy thực hiện được.
Phần lớn phần mềm được xây dựng theo đơn đặt hàng chứ ít khi được nắp ráp từ các thành phần có sẵn
Phần mềm không có các danh mục các thành phần cố định như phần cứng Nó thường được đặt hàng theo một đơn vị hoàn chỉnh, theo yêu cầu riêng của mỗi tổ chức ít khi được nắp ráp theo một khuôn mẫu có sẵn Mặt khác yêu cầu đối với phần mềm phụ thuộc vào môi trường cụ thể mà nó phát triển và sử dụng Môi trường gồm (phần cứng, phần mềm, con người, tổ chức) không thể định dạng từ trước và thường xuyên thay đổi theo thời gian khi những yếu tố trên thay đổi.
1.4 Các thành phần của phần mềm
Phần mềm tồn tại dưới hai dạng cơ sở: các thành phần máy không thực hiện được và các thành phần máy thực hiện được
Các hoạt động phần mềm được tạo ra thông qua một loạt những hoạt động chuyển hoá từ yêu cầu của người sử dụng thành mã máy thực hiện được:
- Yêu cầu người dùng được mô tả thành yêu cầu hệ thống
- Mô hình yêu cầu được chuyển đổi thành mô hình thiết kế
- Mô hình thiết kế dữ liệu được dịch sang ngôn ngữ xác định cấu trúc dữ liệu
- Mô hình thiết kế cấu trúc, thủ tục được dịch sang mã nguồn máy thực hiện được
Các thành phần phần mềm được xây dựng bằng cách dùng một ngôn ngữ lập trình để chuyển hoá một tập hợp các bước thủ tục đã được xác định từ trước (trừ phần mềm hệ chuyên gia và phần mềm mạng nơron) và cấu trúc dữ liệu thành chương trình.
Các thành phần không thực hiện được bao gồm các thành phần giải thích trong các chương trình phần mềm và các tài liệu hướng dẫn sử dụng và khai thác nó.
Có hai cách phân loại phần mềm: phân loại theo chức năng phần mềm thực hiện, phân loại theo đặc trưng lĩnh vực được ứng dụng phần mềm
1.5.1 Phân loại theo chức năng ứng dụng
* Phần mềm hệ thống: là một tập hợp các chương trình thực hiện chức năng quản lý và điều khiển các nguồn lực của máy tính và các chương trình khác nhau chạy trên máy bao gồm: hệ điều hành, các tiện ích hệ thống, phần mềm quản trị mạng máy tính và truyền thông, phần mềm quản trị cơ sở dũ liệu.
* Phần mềm phát triển: là phần mềm trợ giúp để tạo ra các phần mềm cho máy tính Bao gồm các ngôn ngữ lập trình (soạn thảo, chương trình dịch, chương trình liên kết,…).
Vòng đời phát triển của phần mềm
Vòng đời phát triển của phần mềm bắt đầu từ khi hình thành ý tưởng về sản phẩm phần mềm và kết thúc khi sản phẩm đó không còn sử dụng được nữa Các giai đoanh phát triển của phần mềm được biểu diễn bằng mô hình thác nước (waterfall), thể hiện tính tuần tự và chặt chẽ (vì đầu ra của giai đoạn trước là đầu vào của giai đoạn tiếp theo) đối với việc phát triển phần mềm.
Mô hình thác nước – vòng đời phát triển của phần mềm
Phần mền là một bộ phận của một hệ thống quản lý nói chung Do đó công việc nghiên cứu phần mềm phải được đặt trong mối liên hệ chặt chẽ với các thành phần khác của hệ thống quản lý như phần cứng, con người và cơ sở dữ liệu.
2.2 Phân tích yêu cầu phần mềm
Trước hết các kỹ sư phần mềm tiến hành thu thập và phân tích các thông tin cần thiết cho phần mềm, các chức năng cần thực hiện, các hiệu năng cần có, các giao diện cần có Sau đó lập tài liệu các yêu cầu cho hệ thống và phần mềm để khách hàng duyệt lại.
Thiết kế phần mềm là một tiến trình gồm nhiều bước tập trung vào bốn thuộc tính phân biệt của chương trình là:
Các đặc trưng của giao diện
Thiết kế phải được viết bằng các mã lệnh, sau đó dịch thành ngôn ngữ máy mà máy tính có thể đọc được, hiểu được và bước mã hoá thực hiện công việc này.
Giai đoạn kiểm thử tập trung vào phần logic bên trong của phần mềm, đảm bảo rằng tất cả các câu lệnh đều được kiểm thử nhằm phát hiện ra những lỗi và kết quả phù hợp với dữ liệu đầu vào.
Sau khi bàn giao phần mềm cho khách hàng, chắc chắn phần mềm có những thay đổi để hoàn toàn tương thích với các điều kiện quản lý của cơ sở thực tế (sự thay đổi của hệ điều hành hoặc thiết bị ngoại vi) Mặt khác, quá trình bảo trì còn xảy ra khi khách hàng yêu cầu nâng cao chức năng hoặc hiệu năng của phần mềm.
Ta thấy, trong mô hình thác nước ta thấy các công đoạn phía trên có tác động tổng hoà với các công đoạn phía dưới mà đầu của vòng đời phát triển là công đoạn “công nghệ hệ thống” phân tích toàn diện và chi phối toàn bộ năm quy trình còn lại Mặt khác, mô hình thác nước thể hiện các giai đoạn trong vòng đời phát triển của phần mềm ở phía dưới càng bị chi phối bởi các công đoạn ở phía trên.
Việc phân chia toàn bộ quy trình sản xuất (vòng đời phát triển) của phần mềm thành các công đoạn giúp cho các cán bộ trong buồng máy nắm được yêu cầu từng giai đoạn phát triển của phần mềm Từ các yêu cầu đó đưa ra các giải pháp nhằm tác động đến quy trình này một cách hiệu quả nhất.
Quy trình thiết kế phần mềm ứng dụng
3.1 Giai đoạn phân tích và xác định yêu cầu
Mục đích của giai đoạn này là tập trung trả lời câu hỏi: Thông tin nào cần được xử lý, chức năng nào cần phải có, ràng buộc thiết kế nào cần phải có, yêu cầu chủ chốt của phần mềm là gì, giao diện nào cần phải có,
Lưu đồ thể hiện quá trình xác định yêu cầu:
Nguồn: Bài giảng công nghệ phần mềm – Hàn Viết Thuận Sản phẩm của giai đoạn phân tích xác định yêu cầu bao gồm:
- Tài liệu xác định yêu cầu
- Tài liệu mô tả hoạt động hệ thống
- Các giải pháp kỹ thuật thực hiện yêu cầu.
3.2 Giai đoạn xây dựng và quản lý hợp đồng phần mềm
- Xây dựng giải pháp phần mềm
- Soạn thảo ký kết, theo dõi ký kết hợp đồng
- Thực hiện các công việc thanh toán, thanh lý và nghiệm thu phần mềm
Lưu đồ của giai đoạn xây dựng và quản lý hợp đồng phần mềm
Nguồn: Bài giảng công nghệ phần mềm – Hàn Viết Thuận Sản phẩm của giai đoạn xây dựng và quản lý hợp đồng bao gồm:
- Hồ sơ về giải pháp kỹ thuật
Quá trình phát triển một ứng dụng phần mềm là một chuỗi các biến đổi.Nếu quá trình phân tích đảm bảo trả lời câu hỏi ứng dụng phần mềm sẽ giải quyết yêu cầu gì thì trong giai đoạn thiết kế sẽ trả lời câu hỏi: phần mềm sẽ thực hiện các yêu cầu trên như thế nào
Quy trình của giai đoạn thiết kế
Nguồn: Bài giảng công nghệ phần mềm – Hàn Viết Thuận
Giai đoạn thiết kế có mục đích:
- Xây dựng kiến trúc hệ thống: xác định hệ tổng thể phần mềm bao gồm các hệ con và quan hệ giữa các hệ con.
- Xây dựng đặc tả yêu cầu phần mềm: các đặc tả trìu tượng cho mỗi hệ con trong hệ tổng thể phần mềm và các ràng buộc phải tuân thủ.
- Thiết kế cấu trúc dữ liệu: các cấu trúc dữ liệu được dùng trong hệ thống được thiết kế chi tiết và đặc tả.
- Thiết kế giao diện: thiết kế giao diện cho các hệ con.
- Thiết kế các thành phần: các dịch vụ mà một hệ con cung cấp được phân chia cho các thành phần hợp thành của phần mềm.
Có 2 phương pháp thiết kế:
Phương pháp thiết kế từ trên xuống (Top Down Design): dựa trên nguyên lý “chia để trị” Ý tưởng của phương pháp này là trước hết xác định những vấn đề chủ yếu nhất của phần mềm sau đó phân chia thành các nhiệm vụ cần giải quyết cụ thể hơn Phương pháp này thường được sử dụng khi có yêu cầu thiết kế một sản phẩm phần mềm hoàn toàn mới.
Phương pháp thiết kế từ dưới lên (Bottom Up Design): trước hết tiến hành giải quyết những vấn đề cụ thể sau đó trên cơ sở đánh giá mức độ tương tự về chức năng giải quyết các vấn đề bài toán đặt ra người ta gộp chúng lại thành từng nhóm chức năng Phương pháp Bottom Up Design thường được áp dụng khi thiết kế những chương trình phần mềm đã tồn tại, trên cơ sở những chức năng của phần mềm đã có, thiết kế thêm một số chức năng làm phong phú hơn, đầy đủ hơn tạo thành một phần mềm hoàn chỉnh
Sản phẩm của giai đoạn thiết kế
- Tài liệu kiến trúc hệ thống
- Tài liệu thiết kế mức cao
- Tài liệu thiết kế kỹ thuật
Giai đoạn lập trình là giai đoạn thực hiện chức năng như trong thiết kế. có mục đích sau:
- Lập trình theo sơ đồ thiết kế
- Thực hiện việc Test chương trình
- Xây dựng tài liệu mô tả hoạt động qua hệ thống
Trong giai đoạn lập trình công việc quan trọng là nhà lập trình phải lựa chọn ngôn ngữ lập trình phù hợp với yêu cầu phần mềm đặt ra Để phân biệt được các ngôn ngữ lập trình, trước hết nhà lập trình đánh giá cách thức mà ngôn ngữ định nghĩa dữ liệu, xử lý thuật toán và logic, điều khiển, điều kiện đầu ra và đầu vào, cách xử lý chương trình con và các tiêu chuẩn khác như:tính dễ sử dụng, dễ triển khai, dễ chuyển đổi, dễ bảo dưỡng, bảo trì.
Các tiêu thức cần chú ý khi chọn ngôn ngữ lập trình:
Thứ nhất, khi chọn ngôn ngữ lập trình cần chú ý đến các kiểu dữ liệu.
Mỗi ngôn ngữ được hỗ trợ trước một số kiểu dữ liệu Kiểu dữ liệu là loại dữ liệu được định nghĩa từ trước của mỗi ngôn ngữ Kiểu dữ liệu được hỗ trợ chung trong các ngôn ngữ là kiểu số nguyên, số thực, chuỗi ký tự Còn các kiểu dữ liệu khác thì tuỳ thuộc vào từng ngôn ngữ có sự hỗ trợ khác nhau.
Thứ hai, mức độ kiểm tra dữ liệu Việc ngôn ngữ kiểm tra tính hợp lệ của dữ liệu đã được định nghĩa với các dữ liệu khác sử dụng trong các module chương trình Có bốn mức kiểm tra dữ liệu được sắp xếp tăng dần theo mức độ chặt chẽ: không kiểm tra kiểu, quy định kiểu tự động, kiểm tra kiểu giả chặt, kiểm tra chặt Mức độ chặt chẽ của việc kiểm tra phụ thuộc vào dạng của ứng dụng Nếu các tiến trình càng cần sự chính xác, nhất quán, ổn định thì càng đòi hỏi mức độ kiểm tra chặt chẽ hơn Đặc biệt trong lập trình hướng đối tượng thì kiểm tra kiểu càng quan trọng vì tính đa dạng cho phép nhiều module cùng thực hiện một chức năng trên nhiều kiểu dữ liệu khác nhau Do đó càng kiểm tra chặt chẽ thì chương trình càng ít gặp lỗi.
Thứ ba, cấu trúc ngôn ngữ là yếu tố quyết định thao tác gì và như thế nào trên dữ liệu Chúng hỗ trợ các kiểu xử lý tuần tự, lặp, cách thức lựa chọn cấu trúc dữ liệu. Điều nổi bật là đặc trưng của ngôn ngữ lập trình là mức độ hỗ trợ module hoá và quản lý bộ nhớ Module hoá là cách thức tạo ra chương trình con và dạng hàm Quản lý bộ nhớ là khả năng chương trình con có thể phân bố được bộ nhớ của máy tính khi cần Các ngôn ngữ có khả năng thấp thường sử dụng bộ nhớ nhiều hơn so với lượng cấp phát thì chương trình sẽ bị treo Ngược lại, các ngôn ngữ có khả năng mạnh hơn sử dụng khả năng cấp phát bộ nhớ động tức chỉ cấp phát bộ nhớ khi cần thiết.
Thứ tư, tiêu thức quan trọng nữa là khả năng quản lý lỗi Khả năng quản lý lỗi là mức chương trình được giao nhiệm vụ quản lý các lỗi mà không phải dừng chương trình Khả năng này làm tăng độ phức tạp của ngôn ngữ nhưng nó mở rộng tính hữu dụng của ngôn ngữ lập trình.
Thứ năm, ngôn ngữ lập trình có khả năng tạo ứng dụng cho nhiều người sử dụng hay không Điều này rất quan trọng vì xu hướng phát triển phần mềm hiện tại và tương lai là khả năng hỗ trợ nhiều người dùng.
Sản phẩm của giai đoạn này bao gồm:
- Bộ chương trình hoàn chỉnh thực hiện tất cả các chức năng của bản thiết kế.
- Tài liệu mô tả hoạt động của chương trình phần mềm.
- Tài liệu hướng dẫn cài đặt và bộ công cụ cài đặt.
3.5 Giai đoạn kiểm thử phần mềm (Test)
Test là quá trình phát hiện lỗi Đây là bước đánh giá cuối cùng cho các đặc tả, thiết kế, viết mã chương trình Mục đích của giai đoạn Test là:
- Test hệ thống ứng dụng theo đặc tả yêu cầu phần mềm.
- Test nghiệm thu hệ thống theo tiêu chuẩn nghiệm thu
- Test kiểm tra theo tiêu chuẩn của khách hàng
- Test quy trình cài đặt hệ thống.
Sản phẩm thu được sau khi kết thúc quá trình Test:
- Bộ chương trình và bộ công cụ cài đặt đã được Test.
- Các biên bản ghi nhận các lỗi và những hiệu chỉnh đã được đưa ra trong quá trình Test.
Lưu đồ của giai đoạn Test phần mềm
Nguồn: Bài giảng công nghệ phần mềm – Hàn Viết Thuận
Chiến lược kiểm tra BlackBox và WhiteBox:
Chiến lược kiểm tra Black Box: đầu vào được tạo theo thiết kế để sinh ra các đầu ra mà không cần chú ý tới các chức năng logic của ứng dụng Lấy kết quả dự đoán so sánh với kết quả thực tế để xác định mức độ chất lượng của phần mềm ứng dụng.
Chiến lược kiểm tra WhiteBox: phân tích các đăc tả Logic để kiểm tra xem nội dung các đặc tả có phù hợp và đúng như thiết kế hay không
Chiến lược kiểm tra Top – Down và Bottom – Up
Chiến lược kiểm tra Top – Down: kiểm tra các chức năng phát triển trước sau đó kiểm tra các chức năng thứ cấp và các hàm chức năng Càng nhiều module được kiểm tra thì phần mềm càng ổn định khi thực hiện.
PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM QUẢN LÝ GIÁ TRONG KINH DOANH DU LỊCH LỮ HÀNH
MÔ TẢ PHẦN MỀM QUẢN LÝ GIÁ TRONG KINH DOANH DU LỊCH LỮ HÀNH
1 Mục đích của phần mềm
Phần mềm quản lý giá trong kinh doanh du lịch lữ hành được viết bằng Visual Basic 6.0 và dựa trên hệ quản trị cơ sở dữ liệu Microsoft Access có mục đích sau:
- Quản lý các hợp đồng cung cấp dịch vụ của tất cả các nhà cung cấp dịch vụ tại các địa điểm du lịch khác nhau.
- Theo dõi tình hình giá của các dịch vụ.
- Quản lý giá của các chương trình du lịch đã thực hiện hoặc có dự định thực hiện trong thời gian tới.
- Đưa ra các thông tin về giá dịch vụ và tính giá của các chương trình du lịch một cách nhanh nhất và chính xác nhất.
- Dễ dàng cập nhật giá các dịch vụ và có khả năng kiểm tra dữ liệu nhập vào hàng kỳ, giảm thiểu sự sai sót khi nhập liệu.
- Tìm kiếm, sửa chữa dễ dàng và nhanh chóng.
- Thuận tiện việc theo dõi và tính giá các chương trình du lịch nhanh, kịp thời và chính xác.
- Cung cấp các thông tin giá của các nhà cung cấp dịch vụ đã ký hợp đồng với công ty du lịch.
- In các báo cáo chi phí chi tiết, tổng hợp đối với các chương trình đã thực hiện hoặc có dự định thực hiện trong thời gian sắp tới.
- In các báo cáo khác theo yêu cầu của ban lãnh đạo và các bộ phận liên quan.
- Giao diện thân thiện với người sử dụng như màu sắc, dễ hiểu, dễ sử dụng.
THIẾT KẾ
1 Thiết kế sơ đồ luồng thông tin (IFD) và sơ đồ luồng dữ liệu (DFD)
1.1 Thiết kế sơ đồ luồng thông tin
Sơ đồ luồng thông tin (IFD) được dùng để mô tả sự di chuyển của dữ liệu, việc xử lý, việc lưu trữ trong thế giới vật lý bằng các sơ đồ.
Các ký pháp của sơ đồ luồng thông tin
Sơ đồ luồng thông tin của phần mềm quản lý giá trong kinh doanh du lịch lữ hành (IFD):
1.2 Sơ đồ luồng dữ liệu (DFD)
Sơ đồ luồng dữ liệu (DFD) mô tả hệ thống (chương trình) làm gì và để làm gì Các luồng dữ liệu, các xử lý, các lưu dữ liệu, nguồn và đích nhưng không hề quan tâm tới thời điểm và đối tượng chịu trách nhiệm.
Ngôn ngữ sơ đồ luồng dữ liệu sử dụng bốn ký pháp cơ bản: thực thể, tiến trình, kho dữ liệu và dòng dữ liệu được minh họa dưới bảng sau:
Ký pháp dùng cho sơ đồ luồng dữ liệu (DFD)
1.2.3 Sơ đồ phân giã chức năng
1.2.3.1 Sơ đồ phân giã mức 0
1.2.3.2 Sơ đồ phân giã của xử lý 1
Trong xử này, người sử dụng phần mềm tiến hành cập nhật các dữ liệu cần thiết để tiến hành công việc tính giá thành cho một chương trình du lịch và quản lý giá của các dịch vụ và các chương trình du lịch đã được tính giá.
1.2.3.3 Sơ đồ phân giã của xử lý 2
Từ các kho dữ liệu được tạo ra ở xử lý 1, ở xử lý 2 lấy dữ liệu từ đó để thực hiện tính giá thành của một chương trình du lịch khi có hợp đồng du lịch của khách hàng hoặc các chương trình dự định thực hiện Kết quả của xử lý này là giá bảng giá chi tiết của một chương trình du lịch.
1.2.3.4 Sơ đồ phân giã của xử lý 3
Kết quả của xử lý 1 và xử lý 2 được lưu trong các kho dữ liệu Hàng ngày, khi có yêu cầu của ban lãnh đạo và các bộ phận liên quan hoặc hàng kỳ sẽ lấy các dữ liệu trong các kho in ra báo cáo chi tiết về chi phí của các chương trình du lịch, bảng giá chương trình, dịch vụ của các nhà cung cấp,…
2 Thiết kế cơ sở dữ liệu
2.1 Khái niệm cơ bản liên quan đến cơ sở dữ liệu
Cơ sở dữ liệu (database): là một nhóm gồm một hay nhiều bảng có liên quan đến nhau.
Thiết kế cơ sở dữ liệu là xác định nhu cầu của người sử dụng đối với phần mềm Công việc này đôi khi rất phức tạp, đó không chỉ là việc phân tích viên gặp gỡ những người sử dụng và hỏi họ những dữ liệu họ cần để hoàn thành hiệu quả công việc đang làm.
Mỗi bảng ghi chép dữ liệu về một nhóm phần tử nào đốgị là thực thể (Entity) Mỗi thực thể đều có những đặc điểm và tính chất gọi là những thuộc tính (attribute) Mỗi thuộc tính là một yếu tố dữ liệu tách biệt, thường không chia nhỏ được nữa Các thuộc tính góp phần mô tả thực thể và là những dữ liệu về thực thể mà ta muốn lưu trữ
Mỗi bảng có những dòng (Row) hay goi là bản ghi (record) vì nó ghi chép dữ liệu về một cá thể (instance) tức là biểu hiện riêng biệt của thực thể
Mỗi bảng có những cột (column), mỗi cột còn được gọi là trường (field) Giao giữa một dòng và một cột là một ô chứa dữ liệu ghi chép một thuộc tính của một cá thể trên dòng đó
Có hai phương pháp thiết kế cơ sở dữ liệu:
- Thiết kế cơ sở dữ liệu bằng từ các thông tin đầu ra.
- Thiết kế cơ sở dữ liệu bằng phương pháp mô hình hoá.
Do cơ sở dữ liệu trong phần mềm quản lý giá trong kinh doanh du lịch lữ hành rất phức tạp và rộng nên để đáp ứng nhu cầu lưu trữ và tiện thiết kế phần mềm hiện tại và nâng cấp sau này em chọn phương pháp thiết kế cơ sở dữ liệu bằng mô hình hoá
2.2 Thiết kế sơ đồ quan hệ thực thể khái quát và sơ đồ cấu trúc dữ liệu (DSD)
Thực thể (Entity) trong mô hình logic dữ liệu được dùng để biểu diễn những đối tượng cụ thể hoặc trìu tượng trong thế giới thực mà ta muốn lưu trữ thông tin về chúng.
Liên kết (association): một thực thể trong thực tế không tồn tại độc lập với các thực thể khác mà có sự quan hệ qua lại giữa các thực thể khác nhau Khái niệm liên kết hay quan hệ được dùng để trình bày, thể hiện những mối liên hệ tồn tại giữa các thực thể.
Thuộc tính dùng để mô tả các đặc trưng của một thực thể hoặc một quan hệ Có ba loại thuộc tính:
Thuộc tính định danh (Identifier) là thuộc tính dùng để xác định một cách duy nhất mỗi lần xuất của một thực thể Ví dụ, “mã chương trình” là duy nhất cho mỗi chương trình du lịch
Thuộc tính mô tả (Description) dùng để mô tả về thực thể Ví dụ như
Tên chương trình, lịch trình,…
Thuộc tính quan hệ dùng để chỉ đến một lần xuất nào đó trong thực thể có quan hệ.
Sơ đồ thực thể của phần mềm quản lý giá trong kinh doanh du lịch du lịch bao gồm các thực thể chính sau:
- Nhà cung cấp dịch vụ
- Mức chi phí giá bán
Sơ đồ quan hệ thực thể:
Chuyển sơ đồ thực thể khái quát sang sơ đồ cấu trúc dữ liệu
* Chuyển mối quan hệ giữa hai thực thể: Hợp đồng và nhà cung cấp
Quan hệ giữa thực thể: Nhà cung cấp và Hợp đồng là quan hệ một - nhiều (1 – n) Quan hệ thể hiện mỗi nhà cung cấp dịch vụ ký nhiều hợp đồng cung cấp dịch vụ với công ty lữ hành., mỗi hợp đồng chỉ thuộc về một nhà cung cấp duy nhất
Sau khi chuyển đổi ta được hai tệp:
CÀI ĐẶT VÀ ĐÀO TẠO NGƯỜI SỬ DỤNG
Mục tiêu của giai đoạn này là tích hợp chương trình phần mềm mới vào các hoạt động tổ chức của công ty một cách ít va vấp nhất và ứng những thay đổi xảy ra trong suốt quá trình sử dụng phần mềm
Chương trình phần mềm quản lý trong kinh doanh du lịch lữ hành được xây dựng bằng ngôn ngữ Visual Basic 6.0 và hệ quản trị cơ sở dữ liệu Microsoft Access Nên để cài đặt phần mềm này thì phải có các yêu cầu tối thiểu sau:
Về cấu hính máy: bộ vi xử lý 486 DX/66 Hz trở lên hoặc bộ vi xử lý
Alpha hoạt động với Microsoft Window NT Workstation, 64 MB RAM.
Về phần mềm hỗ trợ: máy cài đặt hệ điều hành Window 98 trở lên, sử dụng Microsoft Office 98 trở lên.
Một số điểm cần lưu ý khi cài đặt hệ thống
Khi sử dụng phần mềm các dữ liệu nhập vào các kho phải được chuyển đổi cho phù hợp với cấu trúc dữ liệu đã quy định trong máy Mặt khác, nếu các kho dữ liệu chưa có thì phải nhập vào
Kiểm tra toàn bộ dữ liệu nhập vào.
Về vấn đề đào tạo người sử dụng, đào tạo người sử dụng phải có những kiến thức cơ bản sau:
cài đặt phần mềm thông thạo phần mềm.
Có kiến thức căn bản về cấu trúc dữ liệu trong chương trình để người sử dụng nhập đúng dữ liệu,
Sử dụng thông thạo phần mềm và phối hợp với các phím tắt được hướng dẫn đúng trên màn hình để sử dụng nhanh nhất và hiệu quả nhất.