Tài liệu tham khảo công nghệ thông tin, chuyên ngành tin học Hệ thống quản lý công trình của công ty cổ phần xây dựng và thương mại nhật anh
Trang 1LỜI NÓI ĐẦU
Thế giới ngày nay đã có nhiều tiến bộ mạnh mẽ về công nghệ thôngtin (CNTT) từ một tiềm năng thông tin đã trở thành một tài nguyên thực
sự, trở thành sản phẩm hàng hoá trong xã hội tạo ra một sự thay đổi to lớntrong lực lượng sản xuất, cơ sở hạ tầng, cấu trúc kinh tế, tính chất lao động
và cả cách thức quản lý trong các lĩnh vực của xã hội
Trong những năm gần đây, nền CNTT nước ta cũng đã có phát triểntrên mọi lĩnh vực trong cuộc sống cũng như trong lĩnh vực quản lý xã hộikhác Một trong những lĩnh vực mà máy tính được sử dụng nhiều nhất làcác hệ thống thông tin quản lý nói chung Tuy các hệ thống này xét về mặtnào đó cũng đã đáp ứng được nhu cầu của người sử dụng trong nhữngphần mềm được lập trình chủ yếu trên môi trường foxpro, các hệ thống đó
có quy mô nhỏ, độc lập và tính thừa kế không cao
Nhưng hiện nay, do quy mô, tính phức tạp của công việc ngày càngcao nên việc xây dựng hệ thống thông tin quản lý không chỉ là việc lậptrình đơn giản mà phải xây dựng một cách có hệ thống Các giai đoạn phântích, thiết kế được tiến hành một cách tỷ mỷ và chính xác
Trong báo cáo này tôi sẽ trình bày quá trình phân tích, thiết kế cho hệthống quản lý công trình của “CÔNG TY CỔ PHẦN XÂY DỰNG VÀTHƯƠNG MẠI NHẬT ANH với hệ quản trị cơ sở dữ liệu MS Access
Trang 2của hãng Microsoft Và ngôn ngữ để xây dựng cho phần mềm này làVisual basic 6.0
Nội dung của báo cáo bao gồm:
- Chương I: Giói thiệu tóm tắt tổng quan về công ty
- Chương II: Cơ sở lý thuyết và công cụ phát triển
- Chương III: Phân tích hệ thống chương trình quản lý công trình
của “CÔNG TY CỔ PHẦN XÂY DỰNG VÀ THƯƠNG MẠI NHẬT ANH”
Do kiến thức và kinh nghiệm của bản thân còn hạn chế nên báo cáokhông tránh khỏi những thiếu xót Rất mong được sự đóng góp của quýthầy cô trong khoa Tin học kinh tế trường Đại Học Kinh Tế Quốc Dân vàcác bạn đồng nghiệp
Cuối cùng, tôi xin chân thành cảm ơn Th S :Trịnh Phú Cường cùngtoàn thể nhân viên trong cơ quan đã trực tiếp hướng dẫn tôi thực hiện báocáo này
Hà Nội Ngày 6 tháng 4 năm 2008 Sinh viên thực hiện :Nguyễn Hoành Hùng
Trang 3CHƯƠNG 1 TỔNG QUAN VỀ CÔNG TY CỔ PHẦN XÂY D Ự NG
THƯƠNG MẠI NHẬT ANH
1 GIỚI THIỆU CHUNG
Chủ tịch HĐQT-GIÁM ĐỐC :MAI TUYẾT HẠNH
Giấy phép đăng ký kinh doanh :số 0103011237
Địa chỉ :349 Hà Huy Tập ,Yên Viên ,Gia Lâm –Hà Nội
Điện Thoại :8780866-0913307783
Fax :04.8618027
Email :Nhatanhtc@yahoo.com
Mã số thuế :0101901681
2.1Hoạt động chính của cơ quan
2.1.1 Hoạt động thiết kế và thi công xây lắp công trình :
Tổ chức triển khai ,thi công xây lắp các công trình thuộc các lĩnh vực :
Nhà dân dụng và công nghiệp
Hạ tầng kỹ thuật và giao thông
Công trình thuỷ lợi và nhỏ
2.1.2-Thiết kế công trình
Nhà dân dụng và công nghiệp
Hạ tầng kỹ thuật và giao thong
Công trình thuỷ lợi vừa và nhỏ
Trang 42.1.3-Hoạt động kinh doanh khai thác vật liệu xây dựng :
Cung cấp vật liệu xây dựng cho các công trình xây dựng và dân dụng,công nghiệp
và giao thong
2.1.4- Hoạt động cung cấp nhân công và trang thiết bị máy móc cho các công trình xây dựng :
Cung cấp cho các công trình xây dựng ngồn nhân lực giàu kinh
nghiệm ,giỏi kỹ thuật và trang thiết bị máy móc hiện đại đạt tiêu chuẩn
3 SƠ ĐỒ TỔ CHỨC CÔNG TY
Trang 5HỘI ĐỒNG QUẢN TRỊ
SOÁT
PHÓ GIÁM ĐỐC
PHỤ TRÁCH KỸ THUẬT
PHÓ GIÁM ĐỐC PHỤ TRÁCH KINH DOANH DOODOANH
PHÒNG QUẢN
LÝ DỰ ÁN CÔNG TRÌNH
PHÒNG KẾ HOẠCH TỔNG HỢP
PHÒNG THI CÔNG CÔNG TRÌNH
PHÒNG TỔ CHỨC HÀNH CHÍNH
PHÒNG KẾ TOÁN TÀI CHÍCH
ĐỘI THI CÔNG 1
ĐỘI THI CÔNG
CƠ GIỚI
ĐỘI THI CÔNG 2
Trang 6Chức năng hoạt động của các khối trên là
H ỘI ĐỒNG QUẢN TRỊ
Là cơ quan quản lý Công ty, có toàn quyền nhân danh Công ty để quyết địnhmọi vấn đề liên quan đến mục đích, quyền lợi của Công ty, trừ những vấn đềthuộc thẩm quyền của Đại hội đồng cổ đông HĐQT có trách nhiệm giám sátGiám đốc điều hành và những người quản lý khác Quyền và nghĩa vụ củaHĐQT do Luật pháp và điều lệ Công ty, các quy chế nội bộ của Công ty vàNghị quyết ĐHĐCĐ quy định
BAN GIÁM ĐỐC
1- Giám đốc Công ty:
Giám đốc Công ty là người đại diện của Công ty trong việc điều hànhmọi hoạt động sản xuất kinh doanh theo Điều lệ về tổ chức và hoạt động;Quy chế quản lý nội bộ của Công ty CỔ PHẦN XÂY DỰNG VÀTHƯƠNG MẠI NHẬT ANH Giám đốc Công ty do Hội đồng quản trị
bổ nhiệm và miễn nhiệm Giám đốc Công ty chịu trách nhiệm trước Hộiđồng quản trị và pháp luật về kết quả hoạt động sản xuất kinh doanh củaCông ty
2- Phó Giám đốc công ty:
Các Phó Giám đốc Công ty giúp việc cho Giám đốc điều hành mọihoạt động của Công ty trong các lĩnh vực theo sự phân công và uỷ quyềncủa Giám đốc, chịu trách nhiệm trước Giám đốc Công ty và pháp luật vềnhiệm vụ được phân công và uỷ quyền
PHÒNG QUẢN LÝ DỰ ÁN CÔNG TRÌNH :quản lý tất cả các hợpđồng công trình đang thi công và đề suất hợp đồng mới
PHÒNG KẾ HOẠT TỔNG HỢP: tổ chức mọi hoạt động cho công ty
Trang 7PHÒNG THI CÔNG CÔNG TRINH : kiểm tra giám soát thực thi mọi hoạt động của công trình
PHÒNG KẾ TOÁN TÀI CHÍNH : : Có chức năng chính là kế toántổng hợp, tìm nguồn vốn, cân đối nguồn vốn phục vụ đầu tư và sản xuất kinhdoanh; quản lý và sử dụng hiệu quả vốn và các quỹ; phân tích tài chính,hoạch định kế hoạch tài chính; tham mưu về các hợp đồng vay vốn và theodõi triển khai các hợp đồng này; quản lý kho bãi; kiểm toán nội bộ
PHÒNG T Ổ CHỨC HÀNH CHÍNH:
Có chức năng theo dõi các vấn đề về hồ sơ người lao động; giải quyếtcác chế độ chính sách đối với người lao động; xây dựng quy hoạch cán bộ;theo dõi công tác tiền lương, công tác thi đua khen thưởng, thanh tra; thựchiện nghiệp vụ văn thư, lưu trữ, quản lý con dấu, quản lý tài sản trang thiết
bị khối văn phòng và các nhiệm vụ khác liên quan đến thủ tục hành chínhcủa Công ty.
CÁC Đ ỘI THI CÔNG
Là các đơn vị chức năng cơ sở, tổ chức quản lý, tổ chức sản xuất, sửdụng và khai thác các nguồn lực để thực hiện các công việc cụ thể tại côngtrường
Trang 84.NGUỒN NHÂN LỰC
BẢN KÊ KHAI NĂNG LỰC CỦA CÁN BỘ CHỦ CHỐT
THÂMNIÊNCÔNGTÁC
Đại học giao thông
Đại học xây dựng 10 năm
6 LÊ QUANG HUY Trưởng phòng thi
công
Đại học mỏ địa chất
8 HÀ TIẾN MẠNH Đội trưởng đội thi
công cơ giới
Đại học giao thông 3 năm
Trang 9QUÁ TRÌNH HÌNH THÀNH VÀ PHÁT TRIỂN CÔNG TY
Ngày 14/3/2006 công ty được chính thức được thành lập và đi vào hoạt động tại trụ sở của công ty 349 Hà Huy Tập –Yên Viên –Gia Lâm Hà Nội Tổng tài sản công ty khi mới thành lập chỉ có 3 tỷ đồng các máy móc và trang thiết bị phục vụ cho việc thi công phần lớn đi thuê ,công ty chỉ nhận thực hiện những hợp đồng thi công nhỏ lẻ như các công trình làm đường thôn xóm ở các khu vực lân cận Hà Nội như Đông Anh ,Sóc Sơn
Qua hơn 2 năm hoạt động công ty đã thu được những thành tựu đáng kể như:
Tổng tài sản công ty đã tăng lên 8 tỷ đồng cơ sở vật chất được nâng cấp một
số máy móc thiết bị đã tự mua sắm không phải đi thuê công ty hiện có 10 máy xúc , ủi…các loại
từ chỗ chỉ có một đội thi công đã phát triển thành 3 đội với đội ngũ cán bộ công nhân viên có trình độ chuyên môn cao các hợp đồng thi công nhận được ngày càng lớn về giá trị và quy mô
công ty đã thi công một số công trình tiêu biểu như “Đường vào nhà máy sản xuất ô tô ở Bỉm Sơn - Thanh Hoá; Công trình kè Hồ Tây- Hà Nội ; Đường vào Cục Hàng Không ở đường Nguyễn Sơn-Gia Lâm- Hà Nội … “ Hoạt động của công ty dần được mở rộng theo hướng đa ngành nghề như :Xây dựng các công trình ở mọi lĩnh vực ,thiết kế các công trình dân dụng và công nghiệp ,cung cấp nguyên vật liệu cho các công trình xây dựng
5.4Tình trạng ứng dụng tin học của bộ phận quản lý
Hiện nay, công ty đang sử dụng phần mềm Microsoft Excel để quản lý các giấy tờ liên quan đến nhân sự và các công trình
Trang 102.GIỚI THIỆU CHUNG VỀ ĐỀ TÀI LỰA CHỌN
2.1 Đề tài :”Phần mềm quản lý công trình của công ty cổ phần xây dựng
và thương mại nhật anh “
2.2 .Lý do lựa chọn đề tài :
Trong môi trường kinh doanh cạnh tranh ngày nay để đảm bảo một doanh nghiệp luôn đứng vững thì phải có 1 chiến lược quản lý phù hợp.trong
sự phát triển của xã hội nói chung và của ngành xây dựng nói riêng hiện nay
có rất nhiều dự án đòi hỏi sự chính xác ,tiết kiệm nhân lực ,tiết kiệm thời gian nhưng phải hoàn thành trong thời gian sớm nhất với sự phát triển của công nghệ thông tin đã góp phần rất lớn và việc đáp ứng được nhu cầu cần thiết nói trên
Đối với công ty cổ phân xây dựng và thương mại nhật anh đứng trước sự
phát triển mạnh mẽ của nền kinh tế, họ cũng lựa chọn công cụ tin học hoá các bộphận quản lý nhằm mục đích thúc đẩy việc kinh doanh của mình, đồng thời giảmchi phí và thời gian một cách tối ưu nhất trong quản lý Mục tiêu mà các nhà quản lý lựa chọn để tiến hành công tác tin học hoá đầu tiên đó là bộ phận quản lýyều cầu phải được lên một cách thường xuyên, liên tục nên phương pháp quản
lý bằng thủ công không còn phù hợp nữa
vì vậy em đã chọn đề tài :” phần mềm quản lý công trình của công ty cổ phần xây dựng và thương mại nhật anh “
cho báo cáo thực tập tốt nghiệp của mình
2.3 Mục tiêu của đề tài
- Chuyên nghiệp hoá các hoạt động liên quan đến thi công công trình
- Lưu trữ lịch thi công các công trình
- Cho biết thời gian bắt đầu và kết thúc một công trình
- Thêm một số hạng mục công trình đang thi công
- Đưa ra lịch thi công các hạng mục tối ưu nhất
3- Công cụ nghiên cứu và thực hiện đề tài
3.1 Hệ quản trị cơ sở dữ liệu Microsoft Access 2003
Đố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ị CSDL này thân thiện với
Trang 11người dùng, dễ sử dụng và nó có độ tương thích cao với ngôn ngữ lập trìnhVisual Basic
3.2 Ngôn ngữ lập trình Visual Basic 6.0
Chương trình này 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 hướng sự kiện và cho phép lập trình hướngđối tượng để xây dựng hoạt động trong môi trường Windows Hơn nữa,Visual Basic là ngôn ngữ hỗ trợ người lập trình với tính trực quan rất cao
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
Ngoài ra, ngôn ngữ lập trình này có chế độ bảo mật an toàn dữ liệukhá tốt, dễ sử dụng và được sử dụng rất phổ biến trong lập trình trong quảnlý
3.3 Công cụ làm báo cáo Crystal Report
Khi xây dựng một chương trình với mục đích ứng dụng thực tiễn thìkết quả cuối cùng là dữ liệu phải đựơc kết xuất và có thể xuất ra các thiết bịnhư máy in hay các trình hỗ trợ khác cho phép người dùng in hay trích dữliệu sang các trình ứng dụng tương thích khác
Crystal Report là một công cụ chuẩn, cho phép thiết kế các báo cáo trên ứngdụng Visual Basic
4- Các bước thực hiện đề tài
- Thiết kế cơ sở dữ liệu
- Thiết kế các form giao diện
Trang 12- Thiết kế chương trình.
- Thiết kế các mẫu báo cáo
NGHIÊN CỨU ĐỀ TÀI
Chúng ta có thể biểu diễn công nghệ phần mềm một cách trực quan bằnghình vẽ sau đây:
Trang 13Hình 2.1 Hình biểu diễn công nghệ phần mềm
1.1 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:
- Giai đoạn 1: Giai đoạn xác định (Trả lời cho câu hỏi “ Cái gì?”)
Tức là: Nhóm sản xuất phần mềm phải xác định cụ thể và chi tiết sảnphẩm phần mềm mà mình cần chế tạo ra Đây là công đoạn cực kỳ quantrọ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ếnhà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 ba 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ộtphần mềm là một bộ phận của hệ thống quản lý Phần mềm phải được đặttrong tổng thể hệ thống ấy và xem xét trong mối quan hệ ràng buộc với cácyế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ầnmềm nó được cụ thể hóa trong vai trò cán bộ có chức danh: Cán bộ phântí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 (Trả lời câu hỏi: “Thế nào?”)
Tức là: Định hướng phần mềm sẽ phát triển như thế nào Trong đó có 3công việc quan trọng cần làm: thiết kế, mã hoá, kiểm thử Cần chú ý kháiniệ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ã hoá là quá trình chuyển
Trang 14đổ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
- Giai đoạn 3: Giai đoạn bảo trì (Trả lời cho câu hỏi “Thay đổi?”)
Trong đó có 3 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áchhàng
Đánh giá hiệu quả hoạt động của các công ty phần mềm ở Việt Nam hiệnnay Người ta thấy vấn đề hậu mãi lại đóng vai trò quan trọng hơn là chấtlượ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
Trang 15phá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 chialàm 2 lần cho quy trình thiết kế và thử nghiệm.
2 Phần mềm
2.1 Khái niệm về phần mềm
Trong công nghệ phần mềm người ta sử dụng định nghĩa sau đây của mộtnhà tin học người Mỹ Roger Pressman: Phần mềm trong công nghệ phầnmềm được hiểu là tập hợp gồm 3 yếu tố: Các chương trình máy tính, Cáccấu trúc dữ liệu, tài liệu hệ thống hướng dẫn sử dụng
Định nghĩa này xác định được thành phần của phần mềm trong côngnghệ phần mềm
Phần mềm là sản phẩm của một nền công nghiệp mới nó gồm có hai tínhchất sau:
+ Phần mềm là hệ thống logíc chứ không phải kỹ thuật Do đó nó khôngđược lắp ráp theo nghĩa thông thường như sản phẩm công nghiệp khác Mộtphầ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ị hoa 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 sâu về nó
2.2 Các công đoạn phát triển của phần mềm
Phần mềm đã trải qua các công đoạn phát triển ở bảng sau:
- Hệ thống để bàn
- Hướng đối tượng
- Xử lý song song
Trang 16đơn chiếc được thương
mại hóa
Nhìn vào bảng trên ta nhận thấy tiến trình phát triển của phần mềmxuất phát từ năm 1950, khi lần đầu tiên trên thế giới xuất hiện 2 chiếc máytính đồng thời ở Liên Xô và Mỹ Như vậy, tiến trình phát triển của phầnmềm luôn luôn đi song song với quá trình phát triển của phần cứng theođịnh hướng hoàn toàn tương tự tức là: Quy mô thu nhỏ, tính năng nâng cao
Tính chất thương mại hóa của phần mềm trên thị trường ngày càngbộc lộ rõ và đỉnh cao là việc sản xuất phần mềm đã tiến hành ở quy mô đạitrà theo tác phong công nghiệp và xu thế tổng quát của thị trường
3 Vòng đời phát triển của phần mềm
Trong công nghệ phần mềm người ta đặc biệt quan tâm đến vòng đờiphát triển của phần mềm, nó được hiểu là một quy tình từ khi phần mềm rađời đến khi phần mềm được đưa vào sử dụng và quá trình nâng cấp, bảo trì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íchhợp để tác độ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:
Trang 17Hình 2.2 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ìnhtiế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ìntổ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ủaphần mềm, với 2 ý nghĩa Một là: để khẳng định đây là giai đoạn của mộtquy 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ớinhau Hai là: trong mô hình này các công đoạn ở phía dưới thì chịu tác động
Trang 18của toàn bộ các cô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.
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ệpnào đó trước khi đưa sản phẩm vào sản xuất hàng loạt tiến hành thử nghiệmlàm thử một số sản phẩm để đưa ra thăm dò ý kiến của khách hàng nếukhách hàng đồng ý mới tiến hành sản xuất hàng loạt
Ý tưởng này cũng được thực hiện tương tự như công nghiệp phần mềm.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 laimang 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ý dosau đây: Khi khách hàng đến công ty đặt hàng người ta mới bày tỏ nguyệnvọ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 chitiế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ôncao 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ảnmẫu chưa hẳn là chất lượng của phần mềm mà 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ẽ xemxét đánh giá và nếu bản mẫu đã được chấp nhận thì phần mềm sẽ được đưavào sản xuất
Các bước quy trình làm bản mẫu phần mềm như sau:
- Xác định yêu cầu của khách hàng Đây là bước có vai trò đặc biệt quantrọng vì việc xác định đúng yêu cầu của khách hàng là tiêu đề để ký kết xâydựng hợp đồng Yêu cầu với cán bộ xây dựng yêu cầu phần mềm là ngoài
Trang 19khả năng chuyên môn phải có năng lực biết lắng nghe khách hàng, phải biếttổng hợp về kinh tế xã hội Bản thân khách hàng chỉ đưa ra yêu cầu có tínhchất rất khái quát, bày tỏ nguyện vọng bản thân cán bộ yêu cầu phải hiểubiết rất sâu về vấn đề này, và phải chi tiết hoá thành các yêu cầu cụ thể.
- Sau khi xác định được yêu cầu của khách hàng thì kỹ sư phần mềmchuyển sang giai đoạn thiết kế nhanh tức là xác định các ý tưởng làm hạtnhân cho bản mẫu, mà mục đích cuối cùng là công ty phần mềm đưa ra các
ý tưởng làm cho khách hàng có thể cảm nhận được những nét độc đáo nhất
mà phần mềm mình định mua
- Tiến hành xây dựng bản mẫu phần mềm, bản mẫu có thể được thực hiệntheo ba hình thức:
+ Biểu diễn trên giấy
+ Biểu diễn bằng một phần cơ bản của phần mềm chỉ bao gồm những nétđặc trưng nhất của nó
+ Biểu diễn bằng một chương trình máy tính đã tương đối hoàn chỉnh, cókhả năng thực hiện những nhiệm vụ chính của phần mềm sau này
Trong thực tế của các công ty phần mềm, căn cứ vào trình độ và yêu cầucủa khách hàng mà người ta lựa chọn một trong ba hình thức trình bày ởtrên
Sau khi phác thảo bản mẫu công ty đưa cho khách hàng đánh giá bảnmẫu dưới góc độ của người sử dụng Nếu khách hàng có bổ sung hoặc điềuchỉnh, sau đó chuyển sang giai đoạn làm mịn bản mẫu
Sau khi làm mịn chúng ta có sản phẩm bản mẫu phần mềm ở góc độ nào
đó có thể coi là phiên bản đầu tiên của sản phẩm
Quy trình làm bản mẫu chỉ riêng có khi phần mềm đã trở thành mộtngành công nghiệp còn giai đoạn đầu vấn đề này vẫn chưa được đặt ra Quytrình này có vai trò đặc biệt quan trọng, khách hàng có ký hợp đồng phần
Trang 20mềm hay không 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
5 Nền tảng thiết kế phần mềm
5.1 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ầnmềm công nghiệp và được dùng để chỉ chung 3 quy trình là: Thiết kế, lậptrình và kiểm thử
Quy trình thiết kế chiếm lĩnh 75% chi phí để sản xuất một phần mềmcông nghiệp Quy trình này được biểu diễn một cách tổng quát trong sơ đồdưới đây:
Hình 2.3 Hình biểu diễn vai trò thiết kế phần mềmVai trò của khâu thiết kế trong sản xuất phần mềm công nghiệp thể hiện ởchỗ:
- Đối với các phần mềm được thiết kế đầy đủ thì không dẫn đến nhữngthay đổi lớn khi xảy ra một thay đổi lớn nào đó về dữ liệu
Trang 21- Đối với các phần mềm không được thiết kế một cách đầy đủ thì tính
ổn định của chúng rất thấp, chỉ cần một thay đổi nhỏ về dữ liệu hoặc tácđộng của môi trường cũng làm cho hoạt động của phần mềm bị biến dạngthậm chí không còn khả năng hoạt động được nữa
- 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ặcsửa chữa, bổ sung các chức năng của nó
5.2 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 ngiệp theo quan điểm quản lý dự ánviệ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 một cái nhìn sơ bộ vềphần mềm tương lai Còn thiết kế chi tiết đi sâu 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ềmcô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 22Hình 2.4 Biểu diễn mối quan hệ giữa 2 khía cạnh trong thiết kế phần mềmHình vẽ này cho thấy mối quan hệ chặt chẽ giữa 2 khía cạnh quản lý và
kỹ thuật trong sản xuất phần mềm công nghiệp
5.3 Cấp bậc kiến trúc máy tính
Cấp bậc kiến trúc của máy tính được hiểu là thứ bậc trình tự các khối vàmối liên kết giữa chúng với nhau Như vậy đúng trước một lĩnh vực thựctiễn một kỹ sư phần mềm có thể đưa ra nhiều giải pháp khác nhau Để giảiquyết vấn đề đó hoàn toàn phụ thuộc vào quan điểm và trình độ chuyên môncủa mỗi người
Yêu cầu chung đối với mỗi 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ổngtrong 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ươngtrình, quy mô của chương trình không qúa lớn khi thực hiện mỗi chức năng.Kiến trúc phần mềm được hiểu là một tập hợp gồm hai yếu tố:
- Cấu trúc thứ bậc của các module
- Cấu trúc dữ liệu của các module
Trang 23Bản chất 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 hoá
Bài toán này có rất nhiều lời giải, căn cứ vào quan điểm của kỹ sư phầnmềm và quan điểm ứng dụng phần mềm chúng ta trình bày ý tưởng chuyểnđổi từ P – S
6 Xác định quy mô phần mềm
Cũng như các ngành công nghiệp truyền thống Trong công nghệ phầnmề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ở có 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ớisả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ở 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/ ngườ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 thứ nhất chỉ xét đến góc độ quy mô mà chưa đề cập đến hiệu quả của phần mềm Bổ sung phương pháp hai để đánh giá phần mềm theo quan điểm chức năng.
Trang 24Đây là phương pháp thực nghiệm do nhà tin học ngườ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ỗi phần mềm.
Tham số đo Số lượng Đơn giản Trung bình Phức tạp Tổng
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ạngtổng quát 6 bước được gọi là 6 quy trình- đây có thể coi là bản hướng dẫncủa những người làm việc trong công ty sản xuất phần mềm Trong đó xácđịnh rõ nhiệm vụ của từng chức danh Để đảm bảo tính thiết thực, gần gũivới thực tiễn, chúng ta sẽ lấy các quy trình sau đây của công ty phần mềmFPT làm cơ sở:
7.1.Quy trình 1: Xác định yêu cầu người sử dụng (Khách hàng)
7.1.1 Mục đích của quy trình
Trang 25Mục đích của quy trình là xác định yêu cầu của của khách hàng baogồm: Xác định một cách đầy đủ, chính xác các yêu cầu của khách hàng về phầnmềm, phân tích hệ thống và các quy trình liên quan, phân tích yêu cầu củangười sử dụng tương lai có liên quan đến các phần mềm do công ty xây dựng.
- Phân tích yêu cầu
7.1.3 Lưu đồ của quy trình
7.1.4 Các thông số của quy trình
Thông số Mô tả công việc Yêu cầu công việc
Lập kế hoạch xác định yêu cầu
Phân tích nghiệp vụ Khảo sát hệ thống
Tổng hợp bàn giao kết quả
Mô tả hoạt động hệ thống Phân tích yêu cầu người sử dụng
Mở đầu
Kết thúc
Trang 261 Thông số chung Chức danh, cán bộ xác định yêu cầu Theo tiêu chuẩn của
công ty
Điều kiện bắt đầu - Yêu cầu của khách hàng
- Quy định của công ty về dự án đó
Theo tiêu chuẩn của Công ty phần mềm
2 Input
- Văn bản chính thức yêu cầu của
khách hàng
- Tiêu chuẩn sản xuất phần mềm
Theo tiêu chuẩn của Công ty phần mềm
- Tỷ lệ tài liệu hoàn thành đúng hạn
- Độ chênh lệch giữa dự kiến và
7.1.5 Phân đoạn các hoạt động
STT Tên hoạt động Điều kiện bắt đầu Điều kiện kết thúc
1 Lập kế hoạch Bắt đầu quy
trình 1 Kế hoạch được QTVDA phê duyệt
2 Khảo sát hệ thống Kết thúc bước 1 Báo cáo khảo sát được QTVDA
phê duyệt
3 Phân tích nghiệp vụ Kết thúc bước 2 QTVDA và khách hàng chấp nhận
4 Phân tích yêu cầu
Trang 27Trên cơ sở 6 hoạt động tổng quát này, cán bộ xác định yêu cầu chi tiết hoáthành các hoạt động cụ thể có thể liệt kê theo từng đầu công việc Ví dụ, hoạtđộng phân tích nghiệp vụ được cụ thể hoá thành 3 hoạt động nhỏ sau đây:
- Phát biểu tổng quát bài toán đặt ra các đặc điểm của các cơ sở sảnxuất kinh doanh, đặc biệt là môi trường pháp lý
- Mô hình hoá các quy trình nghiệp vụ bằng sơ đồ luồng thông tin, môhình thông tin dữ liệu, mô hình luồng dữ liệu, ma trận,…
- Bàn bạc và thông qua tài liệu phân tích nghiệp vụ khách hàng
Tóm lại: Yêu cầu quan trọng nhất của quy trình xác định yêu cầu người sử
dụng là phải mô hình hoá và cấu trúc hoá 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ềulĩnh vực
7.2 Quy trình 2: Xây dựng và quản lý hợp đồng phần mềm
7.2.1 Mục đích của quy trình
Quy trình xây dựng và quản lý hợp đồng phần mềm nhằm các mục tiêusau đây: Xem xét các giải pháp, soạn thảo ký kết, theo dõi quá trình thực hiệnhợp đồng, thanh toán, thanh lý, nghiệm thu các hợp đồng phần mềm
Lập báo cáo về tiến trình lập và quản lý hợp đồng phần mềm
Thanh toán, thanh lý hợp đồng
phần mềm
Theo dõi việc thực hiện hợp đồng
phần mềm
Mở đầu
Trang 287.2.4 Các thông số của quy trình
1 Thông số chung Chức danh cán bộ lập và quản lý
hợp đồng phần mềm
Theo tiêu chuẩn công ty
Điều kiện ban đầu - Đề xuất hợp đồng phần mềm
- Hồ sơ xác định yêu cầu
Theo tiêu chuẩn công ty
Điều kiện kết thúc - Hợp đồng phần mềm được quản trị viên
dự án và khách hàng chấp nhận
Theo tiêu chuẩn công ty
2 Input - Yêu cầu của khách hàng
- Hồ sơ của cán bộ xác định yêu cầu
Theo tiêu chuẩn công ty
3 Sản phẩm - Quyết định về lựa chọn giải pháp kỹ thuật
Trang 297.2.5 Phân đoạn các hoạt động
STT Tên hoạt động Điều kiện
ban đầu Điều kiện kết thúc
3. Xây dựng hợp đồng phần mềm Sau bước 2 Ký kết hợp đồng phần mềm
4. Khởi động dự án Kết thúc bước 3 Có quyết định của quản trịviên dự án
5. Theo dõi thực hiện hợpđồng phần mềm Kết thúc bước 4 Hợp đồng được thực hiệntheo đúng trình tự
6. Tổ chức nghiệm thu, thanhlý hợp đồng Kết thúc bước 5 Có biên bản thanh toán,thanh lý hợp đồng
7. Lập báo cáo về toàn bộ quátrình quản lý hợp đồng Kết thúc bước 6 Quản trị viên dự án chấpnhậnCán bộ quản lý và phân tích hợp đồng phần mềm tiếp tục chi tiết hoá
7 hoạt động trên thành các đầu việc cụ thể
Ví dụ: Hợp đồng đưa ra các giải pháp kỹ thuật gồm các đầu việc sau đây:
- Đưa ra giải pháp kỹ thuật tổng quát và trình tự ưu tiên lựa chọn công nghệ
- Xem xét và thông qua giải pháp kỹ thuật một cách chính thức
- Thực hiện các thủ tục liên quan đến các hồ sơ kỹ thuật: thư mời thầu, tiềnđặt cọc, các thủ tục bảo lãnh ngân hàng
- Tổ chức bảo vệ giải pháp kỹ thuật sau đó chuyển sang cho khách hàng.
Cuối cùng thu nhận các kết quả đánh giá giải pháp kỹ thuật
7.3 Quy trình 3: Thiết kế phần mềm
Trang 307.3.1 Mục đích
Quy trình thiết kế phần mềm nhằm mục đích xây dựng, đặc tả yêu cầuphần mềm, xây dựng kiến trúc hệ thống, thiết kế dữ liệu, thiết kế chươngtrình, thiết kế giao diện và thiết kế công cụ cài đặt
7.3.2 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 hệ thống: chuyển từ bài toán P -> S
- Thiết kế kỹ thuật
+ Thiết kế dữ liệu (data)
+ Thiết kế chương trình (program)
+ Thiết kế giao diện (Form)
+ Thiết kế công cụ cài đặt
Trang 31
Không
Có
7.3.3 Các thông số
Thông số Mô tả công việc Yêu cầu công việc
1 Thông số chung Chức danh ( cán bộ thiết kế ) Tiêu chuẩn FPT
2 Input
- Hồ sơ thiết kế cũ của khách hàng
- Hồ sơ phân tích nghiệp vụ
- Mô tả hoạt động của hệ thống
Quản trị viên dự án phê
Trang 327.3.4. Phân đoạn các hoạt động
STT Tên 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ê Bắt đầu quy trình 3 Kế hoạch được quản trị viêndự án phê duyệt
2. Xây dựng đặc tả yêu cầu Kết thúc bước 1 Quản trị viên dự án
3. Thiết kế kiến trúc
hệ thống Kết thúc bước 2 QTVDA phê duyệt
4. Thiết kế dữ liệu Kết thúc bước 3 QTVDA phê duyệt
5. Thiết kế chương trình Kết thúc bước 4 QTVDA phê duyệt
6. Thiết kế giao diện Kết thúc bước 5 QTVDA phê duyệt
7. Thiết kế công cụ cài đặt Kết thúc bước 6 Quản trị viên dự án phê duyệt
8. Tập hợp kết quả thiết kế Kết thúc bước 7 Quản trị viên dự án phê duyệt
Cũng tương tự như quy trình trước mỗi hoạt động sẽ được chi tiếtthành các đầu việc cụ thể
Ví dụ phần thiết kế dữ liệu sẽ được chi tiết thành các đầu việc cụ thể sauđây:
- Lựa chọn các thực thể (tên các bảng điểm)
- Lựa chọn các trường của bảng điểm (mô tả độ rộng của các trường đó)
- Tiến hành chuẩn hoá theo các tiêu chuẩn 1NF, 2NF, 3NF
- Lựa chọn trường khoá và biểu diễn mối quan hệ
7.4 Quy trình 4: Lập trình trong công nghệ phần mềm