Tài liệu quản lý cấu hình phần mềm

104 2K 19
Tài liệu quản lý cấu hình phần mềm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đồ án tốt nghiệp Khoa công nghệ thông tin LỜI CẢM ƠN Trong quá trình học tập tại trường, em đã được quý thầy cô truyền đạt tất cả các kiến thức nền tảng, chuyên môn thiết thực và quý giá. Đó là những kiến thức cần thiết làm cơ sở nghiên cứu cho việc phát triển trong ngành công nghệ thông tin, cũng như trong công việc sau khi ra trường. Trong đó đồ án tốt nghiệp là cơ hội để em có thể áp dụng, tổng kết lại những kiến thức mà em đã học. Đồng thời, rút ra được những kinh nghiệm thực tế và quý giá trong suốt quá trình thực hiện đề tài. Nhờ sự chỉ bảo tận tình của thầy, các thầy cô trong khoa và bạn bè cũng như sự nỗ lực tìm tòi của bản thân, đã giúp em hoàn thành đề tài một cách thuận lợi. Tuy nhiên do thông tin cập nhật và kinh nghiệm thực tế còn có phần hạn chế nên kết quả của Đề tài cũng chỉ dừng lại ở chỗ học tập và trao đổi kinh nghiệm do đó tính khả thi của Đề tài còn chưa cao. Bởi vậy em mong là sẽ nhận được sự góp ý của các thầy cô cùng toàn thể các bạn để đề tài được hoàn thiện hơn. Một lần nữa em xin chân thành cảm ơn các thầy cô giáo trong khoa Công Nghệ Thông Tin đã dạy dỗ em trong những năm qua. Em xin chân thành cảm ơn thầy đã tận tình giúp đỡ, chỉ bảo và tạo điều kiện để em có thể hoàn thành Đồ án tốt nghiệp này. TPHCM, ngày …tháng…năm 2011 Sinh viên Mục lục 1 Đồ án tốt nghiệp Khoa công nghệ thông tin n LỜI CẢM ƠN 1 Mục lục hình vẽ Hình 1: Bản đồ của các công cụ và thủ tục để SCM hoạt động. Hình 2: Thu nhận của các mục Hình 3: Quy trình cung cấp các thủ tục chính thức để kiểm soát thay đổi. Hình 4: Check-in file Hình 5: Check-out file Hình 6: Change request tracking system model Hình 7: Change request lỗi Hình 8: New Change request Hình 9: Audit file Hình 10: Branch và child branch 2 Đồ án tốt nghiệp Khoa công nghệ thông tin Hình 1.1: Các xử lý cấu hình nhận dạng. Một số kí hiệu viết tắt CM - Configuration Management SCM – Software Configuration Management SEP – Software Engineering Process CI – Configuration Item CMP – Configuration Management Plan CCB – Configuration Control Board CSAR – Configuration Status Accounting Report PCA – Physical Configuration Audit FCA – Functional Configuration Audit SCMP – Software Configuration Management Plan SQA – Software Quality Assurance SCI – Software Configuration Item SCR – Software Change Request PM – Project Manager 3 Đồ án tốt nghiệp Khoa công nghệ thông tin SCSA – Software Configuration Status Accouting Chương I: Mở đầu 1. Mở đầu Những ai quan tâm tới quy trình sản xuất phần mềm, chắc hẳn không ít lần gặp khái niệm về quản lý cấu hình (Configuration Management). Ta dễ dàng tìm thấy các yêu cầu về quản lý cấu hình một cách trực tiếp hay gián tiếp trong các bộ tiêu chuẩn hoặc mô hình quy trình sản xuất phần mềm thông dụng hiện nay như CMM/CMMI, ISO 15504 hoặc ISO 9001:2000. Trong CMM và CMMI, quản lý cấu hình là yêu cầu bắt buộc ngay từ mức 2, là mức cơ bản của mô hình này. Thực tế, có khá nhiều định nghĩa hoặc khái niệm khác biệt về quản lý cấu hình, tuy rằng chúng vẫn có những điểm chung cơ bản. Chắc hẳn trong mỗi chúng ta khi làm các dự án về phần mềm đã ít nhất một lần gặp những tình huống như: • Một lỗi nào đó của phần mềm đang xây dựng đã tốn nhiều công sức sửa chữa, bỗng “thình lình” xuất hiện trở lại. 4 Đồ án tốt nghiệp Khoa công nghệ thông tin • Một chức năng (function) nào đó của phần mềm đã được phát triển và kiểm tra cẩn thận bỗng thất lạc hoặc biến mất một cách khó hiểu. • Một chương trình (program) đã được kiểm tra hết sức cẩn thận, bỗng nhiên không “chạy” được nữa. • Một chương trình gồm nhiều đơn thể (module), mỗi đơn thể gồm nhiều chức năng, các chức năng được chia ra cho nhiều lập trình viên, mỗi chức năng bao gồm nhiều tập tin mã nguồn (source code) với nhiều phên bản (version) khác nhau. Khi tích hợp hệ thống và biên dịch, trong hang chục tập tin source code với hàng trăm version, tập tin nào, version nào là đúng và cần thiết phải lấy để tiến hành tích hợp? Các vấn đề trên chắc hẳn không xảy ra nếu như trong dự án, việc quản lý cấu hình được thực hiện nghiêm túc và kiểm soát chặt chẽ với mục đích để thiết lập và bảo đảm tính toàn vẹn của các sản phẩm trung gian cũng như các sản phẩm sau cùng của một dự án phần mềm, xuyên suốt chu kỳ sống của dự án đó. 5 Đồ án tốt nghiệp Khoa công nghệ thông tin Chương II: Quản lý chất lượng phần mềm 2. Quản lý chất lượng phần mềm Quản lý chất lượng phần mềm Quản lý chất lượng phần mềm là vấn đề không mới nhưng theo một số đánh giá là còn yếu của các công ty phần mềm Việt Nam. Một số công ty trong nước hiện đã đạt các chuẩn quốc tế CMM/CMMI trong nâng cao năng lực và quản lý chất lượng phần mềm, song chỉ đếm được trên đầu ngón tay, và hiện cũng chỉ gói gọn trong vài công ty gia công cho thị trường nước ngoài. Lâu nay, nói đến chất lượng phần mềm, không ít người nghĩ ngay đến vấn đề là xác định xem phầm mềm đó có phát sinh lỗi hay không, có “chạy” đúng như yêu cầu hay không và cuối cùng thường quy về vai trò của hoạt động kiểm tra phần mềm (testing) như là hoạt động chịu trách nhiệm chính. Với quan điểm của khách hàng, điều này có thể đúng, họ không cần quan tâm nội tình của hoạt động phát triểm phần mềm, 6 Đồ án tốt nghiệp Khoa công nghệ thông tin điều họ quan tâm là liệu sản phẩm cuối cùng giao cho họ có đúng hạn hay không, làm việc có đúng như họ muốn hay không. Tuy nhiên trong thực tế thì việc kiểm tra hoạt động phần mềm là quan trọng nhưng không đủ đảm sản phẩm sẽ được hoàn thành đúng hạn và đúng yêu cầu. Kiểm tra sau cùng để phát hiện lỗi là điều tất nhiên phải làm, nhưng trong nhiều trường hợp, điều đó thường quá trễ và sẽ phải mất rất nhiều thời gian để sửa chữa. Để đảm bảo được hai tiêu chí đó của khách hang, đòi hỏi phải có một quy trình được thực thi xuyên suốt chu kỳ phát triển của dự án phần mềm, đó là hệ thống quản lý cấu hình phần mềm. Một hệ thống quản lý cấu hình phần mềm thường có hai mục tiêu: Thứ nhất: Xây dựng chất lượng cho phần mềm ngay từ giai đoạn bắt đầu. Điều này đồng nghĩa với việc bảo đảm các yêu cầu cho phần mềm từ mọi nguồn khác nhau phải được định nghĩa, diễn dạt và hiểu một cách đúng đắn, giữa người đưa ra yêu cầu và người thực hiện yêu cầu. Thứ hai: Bảo đảm chất lượng của phần mềm xuyên suốt quá trình phát triển. Một hệ thống quản lý chất lượng phần mềm hoàn chỉnh bao gồm rất nhiều hoạt động và bộ phận cấu thành, chúng khác nhau tùy theo từng tổ chức khi triển khai. Cơ bản có mười hoạt động và yếu tố cơ bản nhất thường gặp là: 1. Các tiêu chuẩn (Standards). 2. Lập kế hoạch (Planning) 3. Xem xét, xem lại (Reviewing) 4. Kiểm tra (Testing) 5. Phân tích lỗi (Defect Analysis) 6. Quản lý cấu hình (Configuration Management) 7. Bảo mật (Security) 7 Đồ án tốt nghiệp Khoa công nghệ thông tin 8. Đào tạo, huấn luyện (Education/Training) 9. Quản lý người cung cấp, thầu phụ (Vendor Management) 10. Quản lý rủi ro (Risk Management) Quản lý cấu hình phần mềm Quy trình xây dựng phần mềm Cũng như mọi ngành sản xuất khác, qui trình là một trong những yếu tố cực kỳ quan trọng đem lại sự thành công cho các nhà sản xuất phần mềm, nó giúp cho mọi thành viên trong dự án từ người cũ đến người mới, trong hay ngoài công ty đều có thể xử lý đồng bộ công việc tương ứng vị trí của mình thông qua cách thức chung của công ty, hay ít nhất ở cấp độ dự án. Có thể nói quy trình phát triển/xây dựng phần mềm (Software Development/Engineering Process - SEP) có tính chất quyết định để tạo ra sản phẩm chất lượng tốt với chi phí thấp và năng suất cao. Vậy quy trình là gì? Quy trình có thể hiểu là phương pháp thực hiện hoặc sản xuất ra sản phẩm. Tương tự như vậy quy trình xây dựng phần mềm chính là phương pháp phát triển hay sản xuất ra sản phẩm phần mềm. Thông thường một quy trình bao gồm các yếu tố cơ bản: • Thủ tục (Procedures) • Hướng dẫn công việc (Activity Guidelines) • Biểu mẫu (Forms/Templates) • Danh sách kiểm định (Checklists) • Công cụ hỗ trợ (Tools) Với các nhóm việc chính: 8 Đồ án tốt nghiệp Khoa công nghệ thông tin • Đặc tả yêu cầu (Requirements Specification): Chỉ ra những “đòi hỏi” cho cả các yêu cầu chức năng và phi chức năng. • Phát triển phần mềm (Development): Tạo ra phần mềm thỏa mãn các yêu cầu được chỉ ra trong “Đặc tả yêu cầu”. • Kiểm thử phần mềm (Validation/Testing): Để đảm bảo phần mềm sản xuất ra đáp ứng những “đòi hỏi” được chỉ ra trong “Đặc tả yêu cầu”. • Thay đổi phần mềm (Evolution): Đáp ứng nhu cầu thay đổi của khách hàng. Tùy theo mô hình phát triển phần mềm, các nhóm công việc được triển khai theo những cách khác nhau. Để sản xuất cùng một sản phẩm phầm mềm người ta có thể dùng các mô hình khác nhau. Tuy nhiên không phải tất cả các mô hình đều thích hợp cho mọi ứng dụng. Định nghĩa quản lý cấu hình phần mềm Một hệ thống có thể được định nghĩa là một tập hợp các thành phần tổ chức để thực hiện một chức năng cụ thể hoặc thiết lập các chức năng. Cấu hình của một hệ thống là các chức năng và (hoặc) các đặc tính vật lý của phần cứng, phần mềm hoặc các phần mềm được kết hợp theo quy trình cụ thể xây dựng để phục vụ một mục đích cụ thể. Phần mềm quản lý cấu hình (SCM) là một phần mềm hỗ trợ quá trình xử lý trong vòng đời phần mềm sẽ có lợi cho quản lý dự án, phát triển và duy trì hoạt động, các hoạt động đảm báo, và các khách hang và người sử dụng sản phầm cuối cùng. Những khái niệm về quản lý cấu hình áp dụng cho tất cả các mục phải được kiểm soát, mặc dù có một số khác biệt trong việc thực hiện giữa CM phần cứng và CM phần mềm. Ta có thể tham khảo định nghĩa ngắn gọn sau từ CNN và ISO 15504: “Mục đích của quản lý cấu hình là để thiết lập và đảm bảo tính 9 Đồ án tốt nghiệp Khoa công nghệ thông tin toàn vẹn của sản phẩm trung gian cũng như các sản phẩm sau cùng của một dự án phần mềm, xuyên suốt chu kỳ sống của dự án đó.” Nói cho dễ hiểu và gần gũi, quản lý cấu hình phần mềm bao gồm các công việc về nhận dạng, tổ chức, và quản lý các thay đổi với những sản phẩm đang được xây dựng bởi một nhóm lập trình viên từ các sản phẩm trung gian đến sản phẩm sau cùng. Quản lý cấu hình (CM), sau đó, là kỷ luật để xác định các cấu hình của một hệ thống tại các điểm khác biệt trong thời gian cho mục đích của hệ thống kiểm soát các thay đổi cấu hình, và duy trì sự toàn vẹn và có thể vạch ra cấu hình trong suốt chu trình sống của hệ thống. Nó chính thức được định nghĩa như là “một kỷ luật áp dụng hướng kỹ thuật, hành chính và giám sát về: định nghĩa và tài liệu các đặc tính chức năng và vật chất của một cấu hình, thay đổi điều khiển cho những đặc tính, bản ghi và báo cáo thay đổi việc xử lý và tình trạng thực hiện, xác minh việc tuân thủ quy định yêu cầu.” Tác dụng của quản lý cấu hình phần mềm Quản lý cấu hình tốt sẽ giải quyết được hàng loạt những khó khăn trong các dự án, đặc biệt trong các dự án lớn: • Cập nhật đồng thời: Khi hai hoặc nhiều lập trình viên làm việc cách biệt nhau nhưng trên cùng một chương trình hoặc dự án, những thay đổi mà người này thực hiện có thể sẽ phá vỡ kết quả làm việc của người khác. Ví dụ: Sản phẩm anh A sử dụng kết quả công việc của anh B, sản phẩm của anh B thay đổi có thể làm cho sản phẩm anh A không chạy được nữa. • Chia sẻ source code: Trong các hệ thống lớn, khi các chức năng chung bị thay đổi, tất cả những người liên quan phải được biết. 10 [...]... cả các release sau đó Khi nào quản lý cấu hình phần mềm Khi nào thì cần thiết quản lý cấu hình phần mềm? Quản lý cấu hình phần mềm được thực hiện xuyên suốt chu kỳ sống của dự án, từ lúc bắt đầu đến khi kết thúc, thậm chí vẫn còn trong giai đoạn bảo trì sản phẩm sau dự án Chương III: Quản lý cấu hình phần mềm 3 Quản lý cấu hình phần mềm Hoạt động của quan lý cấu hình phần mềm Trước khi đi vào chi tiết,... cấu hình phần mềm trong bối cảnh của các cấu hình hệ thống, lựa chọn các cấu hình phần mềm, phát triển một chiến lược cho các nhãn ghi phần mềm và miêu tả mối quanheej của họ, và xác định các baseline sẽ được sử dụng, cùng với các thủ tục mua lại của một đường cơ sở của các mục Cấu hình phần mềm (Software Configuration) Một cấu hình phần mềm là việc thiết lập đặc tính chức năng và vật lý của phần mềm. .. của quản lý cấu hình phần phần mềm sẽ luôn có mặt) Tất cả các bên liên quan, phù hợp với trình độ của các ban kiểm soát cấu hình, được đại diện Khi phạm vi quyền hạn của một ban kiểm soát cấu hình là một phần mềm tuyệt đối, nó được biết đến như một hội đồng quản lý cấu hình phần mềm (SCCB) Các hoạt động của CCB thường tùy thuộc vào chất lượng ghi nhận hoặc xem xét lại phần mềm Xử lý yêu cầu thay đổi phần. .. cuộc họp của CCB 2 Trưởng dự án: PM (Project Manager) • Giám sát các hoạt động quản lý cấu hình phần mềm • Bảo đảm các yêu cầu cần thiết cho hoạt động quản lý cấu hình Ví dụ: số giờ thành viên dự án bỏ ra cho quản lý cấu hình, công cụ hỗ trợ quản lý cấu hình Đồ án tốt nghiệp 21 Khoa công nghệ thông tin 3 Hội đồng quản lý cấu hình: CCB (Configuration Control Board) Bao gồm các thành viên trong dự án,... khái niệm cơ bản trong quản lý cấu hình phần mềm: • Configuration Item – CI: định danh này trong quản lý cấu hình là tên gọi của sản phẩm, sản phẩm trung gian, một tệp tin (file) hoặc nhóm file, tài liệu hoặc nhóm tài liệu trong một dự án mà ta cần quản lý và kiểm soát Nói chung là những “món” được tạo ra trong một dự án mà ta cần phải quản lý Ví dụ: một file source code, tài liệu về yêu cầu sản phẩm,... dẫn thường được chấp nhận, và tính chất của dự án (ví dụ, kích thước và tới hạn) Các hoạt động chuyên ngành được kiểm soát là: Nhận dạng cấu hình phần mềm, kiểm soát cấu hình phần mềm, kiểm kê trạng thái cấu hình phần mềm, ghi nhận cấu hình phần mềm, và phần mềm quản lý người cung cấp, thầu phụ Ngoài ra, các vấn đề như tổ chức và trách nhiệm, nguồn lực và lịch trình, lựa chọn công cụ và triển khai thực... năng và vật lý của phần mềm như quy định trong tài liệu hướng dẫn kỹ thuật hoặc đạt được trong Đồ án tốt nghiệp 31 Khoa công nghệ thông tin một sản phẩm Nó có thể được xem như là một phần của một cấu hình hệ thống tổng thể Mục cấu hình phần mềm (Software Configuration Item) Một mục cấu hình phần mềm (SCI) là một tập hợp các phần mềm dành riêng cho quản lý cấu hình và được coi như mọt thực thể duy nhất... phẩm) và thay đổi nhiệm vụ quản lý • Báo cáo tình trạng quản lý cấu hình và tập hợp kích thước SCM • Ghi nhận cấu hình phần mềm • Quản lý và theo dõi tài liệu phần mềm Đồ án tốt nghiệp 25 Khoa công nghệ thông tin • Thực hiện các phần mềm xây dựng • Quản lý và theo dõi release và phân phối phần mềm của họ Các công cụ được sử dụng trong các phần này cũng có thể cung cấp các phép đo cho việc cải tiến quy... tục điều hành Các công cụ hỗ trợ quá trình xây dựng phần mềm và phát hành tài liệu hướng dẫn từ các yếu tố phần mềm chứa trong thư viện Công cụ cho việc quản lý các yêu cầu thay đổi phần mềm hỗ trợ các thủ tục kiểm soát thay đổi được áp dụng cho các phần mềm điều khiển Các công cụ khác có thể cung cấp việc quản lý cơ sở dữ liệu và báo cáo năng lực quản lý, phát triển, và các hoạt động đảm bảo chất lượng... hưởng đến quá trình quản lý cấu hình Ví dụ, việc kiểm tra cấu hình có thể được yêu cầu, hay nó có thể xác định rằng một số mặt hàng được đặt theo quản lý cấu hình Khi sản phẩm phần mềm được phát triển có khả năng ảnh hưởng đến an toàn công cộng, các cơ quan bên ngoài quy định có thể áp đặt những hạn chế Cuối cùng, việc chọn lựa xử lý vòng đời phần mềm riêng biệt cho một dự án phần mềm và công cụ được . III: Quản lý cấu hình phần mềm 3. Quản lý cấu hình phần mềm Hoạt động của quan lý cấu hình phần mềm Trước khi đi vào chi tiết, ta cần tìm hiểu hai khái niệm cơ bản trong quản lý cấu hình phần mềm: . hoạt động quản lý cấu hình phần mềm. • Bảo đảm các yêu cầu cần thiết cho hoạt động quản lý cấu hình. Ví dụ: số giờ thành viên dự án bỏ ra cho quản lý cấu hình, công cụ hỗ trợ quản lý cấu hình 20 . phát triển của dự án phần mềm, đó là hệ thống quản lý cấu hình phần mềm. Một hệ thống quản lý cấu hình phần mềm thường có hai mục tiêu: Thứ nhất: Xây dựng chất lượng cho phần mềm ngay từ giai đoạn

Ngày đăng: 09/07/2015, 13:46

Từ khóa liên quan

Mục lục

  • LỜI CẢM ƠN

Tài liệu cùng người dùng

Tài liệu liên quan