1. Trang chủ
  2. » Tất cả

Bài tập thảo luận Công nghệ phần mềm

51 3 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Xây dựng website bán hàng
Tác giả Hoàng Đức Mạnh, Lương Văn Hoàn, Bùi Thị Ánh Mai, Nguyễn Thanh Thủy, Lê Thị Thư, Trần Tuyết Anh
Người hướng dẫn Hoàng Thị Cành
Trường học Trường Đại Học Công Nghệ Thông Tin Và Truyền Thông Thái Nguyên
Chuyên ngành Công nghệ phần mềm
Thể loại Bài thảo luận nhóm
Năm xuất bản 2022
Thành phố Thái Nguyên
Định dạng
Số trang 51
Dung lượng 3,75 MB
File đính kèm Bài tập thảo luận CNPM.rar (4 MB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

• Phần mềm (software) là các chương trình chứa các dòng lệnh chỉ thị cho máy tính thực hiện một công việc nào đó + phần mềm không chỉ là các chương trình, dữ liệu, mà còn gồm cả các tài liệu liên quan như các bản đặc tả, thiết kế, hướng dẫn sử dụng, các thông tin cấu hình cần thiết để làm cho các chương trình này có thể vận hành một cách đúng đắn. + vai trò: là linh hồn của hệ thống máy tính Vai trò nền tảng của mọi vấn đề xã hội • Phần cứng: là các thiết bị mang tính vật lí có thể tiếp xúc bằng tay được • Công nghệ phần mềm (software engineering): là quy tắc công nghệ có liên quan đến tất cả các kía cạnh của tiến trình phát triển phần mềm. + Tiến trình phát triển phần mềm là tiến trình xây dựng, phát triển phần mềm hay nâng cấp phần mềm đang có. Nó mô tả tập các hoạt động cần thiết để chuyển đổi từ yêu cầu người sử dụng sang hệ thống phần mềm. + Mô hình phân theo 3 tầng:  Tầng quy trình  Tầng phương pháp  Tầng công cụ

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

THÁI NGUYÊN -o0o -

BÀI THẢO LUẬN NHÓM Chủ Đề: XÂY DỰNG WEBSITE BÁN HÀNG

Tên môn học: CÔNG NGHỆ PHẦN MỀM

Hệ đào tạo: Đại học chính quy

Ngành: Công nghệ thông tin

Giảng viên hướng dẫn: Hoàng Thị Cành

Sinh viên thực hiện:

Hoàng Đức Mạnh Lương Văn Hoàn

Bùi Thị Ánh Mai Nguyễn Thanh Thủy

Lê Thị Thư Trần Tuyết Anh

Năm 2022

Trang 2

Chương I ĐẶC TẢ PHẦN MỀM

I, Những kiến thức, khái niệm cơ bản về Công nghệ phần mềm

 Phần mềm (software) là các chương trình chứa các dòng lệnh chỉ thị cho máy tính

thực hiện một công việc nào đó 

       + phần mềm không chỉ là các chương trình, dữ liệu, mà còn gồm cả các tài liệuliên quan như các bản đặc tả, thiết kế, hướng dẫn sử dụng, các thông tin cấu hình cần thiết

để làm cho các chương trình này có thể vận hành một cách đúng đắn. 

       + vai trò: là linh hồn của hệ thống máy tính 

        Vai trò nền tảng của mọi vấn đề xã hội 

 Phần cứng: là các thiết bị mang tính vật lí có thể tiếp xúc bằng tay được  

 

 Công nghệ phần mềm (software engineering): là quy tắc công nghệ có liên

quan đến tất cả các kía cạnh của tiến trình phát triển phần mềm. 

       + Tiến trình phát triển phần mềm là tiến trình xây dựng, phát triển phần mềm hay nâng cấp phần mềm đang có Nó mô tả tập các hoạt động cần thiết để chuyển đổi từ yêu cầu người sử dụng sang hệ thống phần mềm. 

       + Mô hình phân theo 3 tầng:

 Tầng quy trình 

 Tầng phương pháp 

 Tầng công cụ 

- Kỹ sư phần mềm ( software engineer):  là một người biết cách áp dụng rộng rãi

những kiến thức về CNPM, mục tiêu của kỹ sư phần mềm là sản xuất ra các sản phẩm

có chất lượng cao và phù hợp với các quy trình phát triển chuẩn mực đánh giá, lựa chọn,

sử dụng những cách tiếp cận có tính hệ thống, chuyên biệt, rõ ràng trong việc phát triển, đưa vào ứng dụng, bảo trì, và thay thế phần mềm

- Mô hình quy trình phần mềm gồm có: mô hình thác nước, mẫu thử, công nghệ phần

mềm dựa thành phần, xoắn ốc, và một số mô hình khác. 

Trang 3

 Các giai đoạn của tiến trình quản trị dự án:

Xác định: Tìm hiểu để có đánh giá khởi đầu

Quy trình phần mềm: là 1 tập hợp các hành động mà mục đích của nó là xây

dựng và phát triển phần mềm Những hành động thường được sử dụng là:

o Xác định yêu cầu: Đặc tả những gì hệ thống phải làm và các ràng buộc  trong qúa trình xây dựng hệ thống

o Phát triển: Xây dựng hệ thống phần mềm

o Kiểm thử: Kiểm tra xem liệu phần mềm có thỏa mãn nhu cầu của khách hàng 

o Mở rộng: Điều chỉnh và thay đổi phần mềm tương ứng với sự thay đổi yêu cấù 

1, Mô hình quy trình phát triển phần mềm:

Khái niệm : Mô hình quy trình phát triển phần mềm là một thể hiện đơn giản của một

quy trình phần mềm, và nó được biểu diễn từ một góc độ cụ thể

a, Mô hình thác nước:

*Hoạt động : Có hai hoạt động phổ biến được thực hiện trong mỗi giai đoạn là:

- Kiểm tra – phê chuẩn

- Quản lý cấu hình

*Các pha của mô hình thác nước :

Trang 4

-Trong mô hình thác nước, năm pha trên phải được thực hiện một cách tuần tự;

kết thúc pha trước, rồi mới được thực hiện pha tiếp theo Sản phẩm đầu ra của giai đoạn trước trở thành đầu vào của giai đoạn sau

* Ưu điểm:

- Dễ quản lý

- Dễ dàng trong thẩm tra đánh giá

- Mang tính tự nhiên khi sử dụng

* Nhược điểm:

- Mối quan hệ giữa các giai đoạn không được thể hiện

- Hệ thống phải được kết thúc ở từng giai đoạn do vậy rất khó thực hiện được đầy

đủ những yêu cầu của khách hàng

- Khách hàng phải kiên nhẫn

=> Mô hình thác nước chỉ nên được sử dụng khi đội dự án đã có kinh nghiệm, yêu

cầu từ khách hàng được xác định rõ ngay từ đầu và ít có khả năng thay đổi.

b, Mô hình mẫu thử (Prototyping model) – Mô hình xây dựng tiến triển

Thông thường, khách hàng sẽ đưa ra mục tiêu của họ một cách chung chung mà họ không biết hoặc không đưa ra một cách cụ thể những cái vào, cái ra và các tiến trình xử lýchúng Thêm vào đó, chúng ta cũng không thể không quan tâm đến thuật toán sử dụng, tính tương thích của sản phẩm phần mềm với môi trường của nó như: phần cứng, hệ điều hành Trong trường hợp này, mô hình mẫu có thể là sự lựa chọn tốt hơn cho người lập trình

Mô hình xây dựng tiến triển dựa trên ý tưởng xây dựng một mẫu thử ban đầu và đưa cho người sử dụng xem xét; sau đó, tinh chỉnh mẫu thử qua nhiều phiên bản cho đến khi thoả mãn yêu cầu của người sử dụng thì dừng lại

- Có hai phương pháp để thực hiện mô hình này:

+ Phát triển thăm dò: mục đích của nó là để làm việc với khách hàng và

để đưa ra hệ thống cuối cùng từ những đặc tả sơ bộ ban đầu Phương pháp này

thường bắt đầu thực hiện với những yêu cầu được tìm hiểu rõ ràng và sau đó, bổ

sung những đặc điểm mới được đề xuất bởi khách hàng Cuối cùng, khi các yêu

Trang 5

cầu của người sử dụng được thoả mãn thì cũng là lúc chúng ta đã xây dựng xong hệ thống.

+ Loại bỏ mẫu thử: mục đích là để tìm hiểu các yêu cầu của hệ thống

Phương pháp này thường bắt đầu với những yêu cầu không rõ ràng và ít thôngtin Các mẫu thử sẽ được xây dựng và chuyển giao tới cho người sử dụng Từ đó,

ta có thể phân loại những yêu cầu nào là thực sự cần thiết và lúc này mẫu thử

không còn cần thiết nữa Như vậy, mẫu thử chỉ có tác dụng để làm sáng tỏ yêucầu của người sử dụng

*Ưu điểm:

- Chú trọng tái sử dụng mẫu Một phần của hệ thống có thể được phát triển

ngay trong giai đoạn phân tích phát triển yêu cầu và thiết kế

- Hoạt động nào cũng có sự tham gia của người dùng, nên sản phẩm cuối

cùng mang tính khách quan, thỏa mãn yêu cầu của người sử dụng

- Cho phép thay đổi yêu cầu và khuyến khích người sử dụng tham gia trong

suốt chu kỳ dự án

- Nhanh chóng xác định được các yêu cầu

- Tạo cơ sở ký kết hợp đồng

Trang 6

- Giúp đào tạo huấn luyện người sử dụng.

- Các hoạt đông xảy ra đồng thời, hoạt động này bổ sung cho hoạt động kia

*Nhược điểm :của mô hình xây dựng tiến triển là:

- Thiếu tầm nhìn của cả quy trình

- Các hệ thống thường hướng cấu trúc nghèo nàn

- Yêu cầu các kỹ năng đặc biệt (Ví dụ: các ngôn ngữ để tạo ra mẫu thử nhanh

chóng) Input/output chưa rõ ràng

- Khó đánh giá tính hiệu quả của thuật toán

- Khó khăn trong thiết kế: việc phát triển qua nhiều giai đoạn có thể làm phá vỡ kiếntrúc tổng quan của PM

- Khó khăn trong quản lý do các pha hoạt động đồng thời, mô phỏng nhanh nên tài liệu mập mờ không rõ ràng

- Yêu cầu đội phát triển dự án phải có năng lực

- Tốn chi phí do mỗi lần sửa đổi, đưa ra bản mẫu thử

- Mô hình xây dựng tiến triển chỉ nên áp dụng với những hệ thống có tương tác ở mức độ nhỏ hoặc vừa; trên một phần của những hệ thống lớn (ví dụ như giao diện người sử dụng); hoặc những hệ thống có thời gian chu kỳ tồn tại ngắn

c, Mô hình phát triển dựa trên thành phần (Component based software engineering)

Mô hình này dựa trên kỹ thuật tái sử dụng một cách có hệ thống; trong đó hệ thống được tích hợp từ nhiều thành phần đang đã có Do vậy, kiến trúc phần mềm của hệ thống dựa vào kiến trúc phần mềm của các thành phần phần mềm tiêu chuẩn nên hệ thống đạt chất lượng cao hơn Phương pháp phát triển dựa trên thành phần gần tương tự như

phương pháp phát triển hướng đối tượng Hoạt động công nghệ bắt đầu với sự chỉ ra các lớp tham dự để phát triển hệ thống Nếu các lớp này được tìm thấy trong thư viện và sự thích nghi là tốt, chúng sẽ được lấy ra và phát triển hệ thống Ngược lại, chúng sẽ được phát triển để sử dụng và bổ sung vào thư viện sử dụng lại

Thành phần phần mềm được sử dụng lại có độ chính xác cao và có thể nói là không chứa lỗi Mặc dầu không thường xuyên được chứng minh về mặt hình thức nhưng với việc sử dụng lại, lỗi được tìm thấy và loại trừ; chất lượng của thành phần được cải thiện như là một kết quả.Khi những thành phần sử dụng lại được ứng dụng thông qua tiến trình phần mềm, chúng ta ít tốn thời gian để tạo ra kế hoạch, mô hình, tài liệu, mã và dữ liệu

mà chúng là cần thiết để tạo ra hệ thống Thêm vào, chức năng cùng mức được phân phối cho người sử dụng với đầu vào ít công sức hơn, do vậy, hiệu suất phần mềm được cải thiện

Trang 7

*Ưu điểm:

- Việc sử dụng các thành phần riêng biệt nên các thành phần được phát triển độc lập Điều

đó làm cho hình thành một thư viện các thành phần Từ thư viện thành phần đó dẫn đến việc phát triển các hệ thống trở nên nhanh chóng nên chi phí cho phát triển PM giảm Bêncạnh đó, các thành phần này được kiểm chứng tính đúng đắn, kiểm thử các lỗi logic… Nên hạn chế được rủi ro cho hệ thống Đây là một thế mạnh mà các hệ thống khác khó đạtđược

- Các thành phần được tái sử dụng một cách hiệu quả Mỗi lần phát triển một hệ thống mới không cần phải phát triển lại hoàn toàn mới các thành phần mà vẫn có thể sử dụng các thành phần đã có để phát triển tiếp Kết thúc quá trình phát triển hệ thống mới, các thành phần mới được đưa vào thư viện thành phần Với việc tái sử dụng thành phần,giá thành sẽ được giảm đi một cách đáng kể không những vậy, chất lượng được nâng cao , đảm bảo yêu cầu người sử dụng

*Nhược điểm:

- Các yêu cầu thỏa hiệp là không thể tránh khỏi và điều này dẫn tới một hệ thống không đáp ứng được các nhu cầu thực của người dùng.Tìm trong thư viện thành phần Xây dựng nếu thành phần không thích hợp bổ sung thành phần vào thư viện sử dụng lập kế

hoạch.Giao tiếp với khách hàng Đánh giá của khách hàng Xây dựng hệ thống tích hợp phân tích lỗi.Hợp nhất cho phiên bản thứ n.Thành phần để xây dựng hệthống sử dụng nếu thành phần thích hợp

d, Mô hình xoắn ốc còn được gọi là mô hình Boehm's

Nó có thể xem là sự kết hợp giữa mô hình thác nước và mô hình mẫu và đồng thời thêm một thành phần mới - phân tích rủi ro Trong mô hình xoắn ốc, quy trình phát triển phần mềm được biểu diễn như một vòng xoắn ốc Mỗi vòng lặp trong mô hình biểu diễn

Trang 8

một giai đoạn (pha) trong qui trình Vòng lặp trong nhất là tính khả thi của hệ thống, vònglặp tiếp theo là xác định các yêu cầu, vòng lặp tiếp nữa là thiết kế hệ thống….

Các rủi ro có thể được nhận rõ và được giải quyết trong suốt qui trình

Các pha trong quy trình phát triển xoắn ốc bao gồm:

• Planning: Xác định mục tiêu, tương tác và ràng buộc

• Risk analysis: Phân tích các lựa chọn và các chỉ định/giải quyết rủi ro

- Những chức năng của hệ thống có thứ tự ưu tiên càng cao thì sẽ được kiểm thử càng kỹ

- Mô hình xoắn ốc là một cách tiếp cận hiện thực để phát triển các phần mềm và các hệ thống lớn Vì PM được phát triển theo sự tiến hóa, khách hàng và nhà phát triển hiểu nhautốt hơn và rủi ro sẽ được giảm thiểu sau mỗi lần tiến hóa

Trang 9

*Nhược điểm :

- Mô hình này chưa thực sự quen thuộc với các nhà phát triển như trong mô

hình tuyến tính

- Hạn chế lớn nhất của mô hình này là khả năng thuyết phục khách hàng về

giảm thiểu tính rủi ro trong quá trình phát triển

Các hoạt động trong quy trình phần mềm :

*Đặc tả phần mềm

Đặc tả phần mềm (hay còn gọi là kỹ thuật xác định yêu cầu) là quy trình tìm hiểu và định nghĩa những dịch vụ nào được khách hàng yêu cầu và các ràng buộc trong quá trình vận hành và xây dựng hệ thống

Quy trình xác định yêu cầu bao gồm bốn pha chính:

- Nghiên cứu tính khả thi: Nghiên cứu tính khả thi giúp xác định những yêu cầu của người

sử dụng có thoả mãn những công nghệ hiện tại hay không Về góc độ kinh doanh, nghiên cứu khả thi nhằm xác định hệ thống đưa ra có mang lại lợi nhuận không

Việc nghiên cứu khả thi nên được thực hiện một cách nhanh chóng và không quá tốn kém Kết quả của việc nghiên cứu khả thi sẽ xác định có nên tiếp tục xây dựng hệ thống nữa hay không

- Phân tích và rút ra các yêu cầu: đây là quy trình đưa ra các yêu cầu hệ thống thông qua một số phương pháp như: quan sát hệ thống hiện tại, phỏng vấn và thảo luận với người sửdụng, phân tích nhiệm vụ, phân tích tài liệu hoặc hệ thống cũ … Trong pha này, chúng ta

có thể phải xây dựng một hoặc nhiều mô hình hệ thống và các mẫu thử

- Đặc tả yêu cầu: Pha này sẽ tư liệu hoá những thông tin thu thập được Có hai

loại yêu cầu cần được xác định:

* Yêu cầu của người sử dụng: là những yêu cầu bằng ngôn ngữ tự nhiên Kiểu

yêu cầu này được viết bởi người sử dụng

* Yêu cầu hệ thống: là những tài liệu có cấu trúc, đươc mô hình hoá, mô tả chi

tiết về các chức năng, dịch vụ và các ràng buộc vận hành của hệ thống Yêu cầu hệ

thống sẽ định nghĩa những gì cần phải xây dựng, cho nên nó có thể trở thành bản hợp đồng giữa khách hàng và nhà thầu Các yêu cầu hệ thống được chia làm 2 loại:

+ Các yêu cầu hệ thống chức năng: Là các dịch vụ mà hệ thống phải cung cấp

+ Các yêu cầu phi chức năng: Là các ràng buộc mà hệ thống phải tuân theo

Trang 10

- Đánh giá yêu cầu: pha này sẽ kiểm tra lại các yêu cầu xem chúng có đúng thực

tế hay không, có thống nhất không, có đầy đủ không Nếu phát hiện ra lỗi thì ta phải chỉnhsửa các lỗi này

II,Thiết kế, đánh giá, cải tiến:

 

1: BỘ TIÊU CHUẨN CMM, CMMI 

CMM là chuẩn quản lý quy trình chất lượng của các sản phẩm phần mềm được áp dụng cho từng loại hình công ty khác nhau Nói cách khác đây là phương pháp phát triển hay sản xuất ra các sản phẩm phần mềm. 

CMM là một bộ khung những chuẩn đề ra cho một tiến trình sản xuất phần mềm hiệuquả, mà nếu các tổ chức áp dụng nó sẽ mang lại sự khả dụng về mặt chi phí, thời gian, chức năng và chất lượng. 

Cấu trúc của CMM 

Các level của CMM: bao gồm 5 levels 

Trang 11

Level 1: 

 

Bước khởi đầu của CMM, mọi doanh nghiệp, công ty phần mềm, nhóm, cá nhân đều

có thể đạt được Ở level này CMM chưa yêu cầu bất kỳ tính năng nào. 

 Mục tiêu: các hoạt động và những đề xuất của một dự án phần mềm phải được lên

kế hoạch và viết tài liệu đầy đủ 

 Đề xuất: Dự án phải tuân thủ theo các qui tắc cảu tổ chức khi hoạch định 

 Khả năng: Việc thực hiện lập kế hoạch cho dự án phần mềm phải là bước thực hiện

từ rất sớm khi dự án bắt đầu. 

Trang 12

 Đo lường: Sự đo lường luôn được thực thi và sử dụng, chúng ta luôn có thể xác định và kiểm soát được tình trạng các hoạt động của dự án 

 Kiểm chứng: Các hoạt động khi lập kế hoạch dự án phải được reviewed của cấp senior 

Trang 13

Tập trung thiết lập hiểu biết định lượng của cả quá trình sản xuất phần mềm đã và đang được xây dựng Lực lượng lao động làm việc theo đội, nhóm được quản lý và đáp ứng: 

 Chuẩn hóa thành tích trong tổ chức 

 Quản lý năng lực tổ chức 

 Công việc dựa vào cách làm việc theo nhóm 

 Xây dựng đội ngũ chuyên nghiệp 

 

2: Lợi ích của CMM

2.1 :Lợi ích của CMM đem lại cho doanh nghiệp 

Ý nghĩa của việc áp dụng những nguyên tắc: 

 Quản lý chất lượng tổng thể 

 Quản lý nguồn nhân lực 

 Phát triển tổ chức 

 Tính cộng đồng 

 Phạm vi ảnh hưởng rộng: từ các nghành công nghiệp đến chính phủ 

 Hoàn toàn có thể xem xét và mở rộng tầm ảnh hưởng với bên ngoài 

 Chương trình làm việc nhằm cải tiến, nâng cao hoạt động của đội ngũ lao động 

 Đánh giá nội bộ 

 Các hoạt động của đội ngũ lao động được cải tiến 

 Các chương trình nhằm nâng cao năng lực, hiệu quả công việc luôn được tổ chức 

Trang 14

Mục tiêu chiến lược 

 Cải tiến năng lực của các tổ chức phần mềm bằng cách nâng cao kiến thức và kỹ năng của lực lượng lao động 

 Đảm bảo rằng năng lực phát triển phần mềm là thuộc tính của tổ chức không phải của một vài cá thể 

 Hướng các động lực của cá nhân với mục tiêu tổ chức 

 Duy trì tài sản con người, duy trì nguồn nhân lực chủ chốt trong tổ chức 

Lợi ích CMM mang lại cho Doanh nghiệp gói gọn trong 4 từ: Attract, Develop, Motivate

và Organize 

2.2: Lợi ích CMM mang lại cho người lao động: 

 Môi trường làm việc, văn hóa làm việc tốt hơn 

 Vạch rõ vai trò và trách nhiệm của từng vị trí công việc 

 Đánh giá đúng năng lực, công nhận thành tích 

 Chiến lược, chính sách đãi ngộ luôn được quan tâm 

 Có cơ hội thăng tiến 

 Liên tục phát triển các kỹ năng cốt yếu. 

 

Mô hình CMMI 

Mô hình năng lực trưởng thành tích hợp – Capability Maturity Model Integration (CMMI) là khuôn khổ cải tiến quy trình dành cho các doanh nghiệp phần mềm CMMI được phát triển tại Viện Kỹ Nghệ Phần Mềm của Mỹ (Viện SEI – nay đổi thành viện CMMI) tại trường Đại học Carnegie Mellon ở Pittsburgh, PA. 

Theo nhận định của Viện Phần Mềm, Mô hình CMMI bao gồm 5 mức độ trưởng thành (Maturity level) và 22 Vùng quy trình quan trọng (Key Process Area). 

Sản phẩm và dịch vụ do các doanh nghiệp ở mức độ 1 sản xuất ra vẫn có thể vận hành được, tuy nhiên những dự án này thường vượt quá ngân sách và thời gian. 

Trang 15

Với các phương pháp thực thi này, việc thực hiện và quản lý dự án sẽ luôn tự động tuân theo các kế hoạch được dữ liệu hóa từ trước. 

Ở mức độ trưởng thành 2 thì các yêu cầu, quy trình, sản phẩm và dịch vụ phải được quản lý chặt chẽ Tình trạng sản phẩm và sự chuyển giao dịch vụ phải được quản lý với sựthống nhất nội bộ từ trước. 

Cần phải thiết lập và chỉnh sửa cam kết (khi cần thiết) với các bên liên quan Ngoài

ra, doanh nghiệp cũng phải liên kết với các bên liên quan để xem xét và kiểm soát sản phẩm Nhìn chung, phải đảm bảo rằng sản phẩm và dịch vụ thỏa mãn yêu cầu, tiêu chuẩn

Một điểm khác biệt lớn giữa mức độ 2 và 3 là các quy trình ở mức độ 3 thông

thường sẽ được mô tả chi tiết và kiểm soát chặt chẽ hơn nhiều so với mức độ 2 Tại mức

độ 3, quy trình sẽ được quản lý một cách chủ động hơn qua việc nắm rõ các mối quan hệ tương quan giữa các hoạt động và thước đo chi tiết giữa quy trình và sản phẩm, dịch vụ của nó. 

 

Mức độ trưởng thành 4 – Quantitatively Managed  

Tại mức độ này, doanh nghiệp phải đạt được các mục tiêu cụ thể của các vùng quy trình được yêu cầu tại mức độ 2, 3 và 4; ngoài ra còn phải đạt được các mục tiêu chung của mức độ 2 và 3. 

Tại mức độ trưởng thành 4, việc lựa chọn các quy trình bổ sung góp phần đáng kể trong việc thực hiện các quy trình tổng thể Các quy trình bổ sung này được kiểm soát bằng các công cụ thống kê và định lượng. 

Các mục tiêu định lượng thiết lập cho việc quản lý chất lượng và quy trình được sử dụng như một tiêu chí trong việc quản lý quy trình Cần lưu ý rằng các mục tiêu định lượng này phải được thiết lập dựa trên nhu cầu của khách hàng, người sử dụng cuối cùng, của chính doanh nghiệp và các nhân viên thực hiện quy trình Ngoài ra, việc đảm bảo chấtlượng và thực hiện quy trình phải được hiểu theo các thuật ngữ thống kê và được quản lý trong suốt vòng đời của quy trình. 

Đối với các quy trình bổ sung này, việc thực hiện quy trình sẽ được đo lường chi tiết, thu thập và được phân tích thống kê Những nguyên nhân đặc biệt gây ra sự thay đổi

về quy trình sẽ được nhận diện và khắc phục để tránh tái phạm cho những lần sau. 

Trang 16

Các thông số đo lường quản lý chất lượng và thực hiện quy trình sẽ được lưu trữ vào kho các biện pháp đo lường nhằm phục vụ cho việc đưa ra quyết định dựa trên thực tế trong tương lai. 

Sự khác biệt rõ rệt giữa mức độ trưởng thành 3 và 4 đó là chất lượng quy trình có thể dự đoán và kiểm soát được Tại mức độ trưởng thành 4, chất lượng quy trình được kiểm soát bằng cách sử dung các công cụ định lượng và thống kê, và có thể được dự đoánmột cách định lượng Tại mức 3, quy trình chỉ có thể được dự đoán một cách định lượng

mà thôi. 

Mức độ trưởng thành 5 – Optimizing  

Để đạt được mức độ 5, doanh nghiệp phải đạt được tất cả các mục tiêu cụ thể của các vùng quy trình được yêu cầu tại mức độ 2, 3, 4 và 5; ngoài ra còn phải đạt được các mục tiêu chung của mức độ 2 và 3. 

Tại đây, quy trình được cải tiến liên tục thông qua việc thấu hiểu một cách định lượng những nguyên nhân thường gây nên biến quy trình. 

Tại mức độ này, các doanh nghiệp tập trung vào chất lượng của các quy trình được cải tiến liên tục thông qua sự gia tăng cải tiến và sáng tạo trong công nghệ Ngoài ra, cần thiết lập các mục tiêu liên tục cải tiến quy trình định lượng cho tổ chức, thường xuyên thay đổi chúng cho phù hợp với các mục tiêu của công ty hơn Cũng giống như mức độ 4, các mục tiêu này còn được sử dụng như là một tiêu chí để quản lý cải tiến quy trình. Hiệu quả của việc thực hiện cải tiến quy trình sẽ được đo lường và đánh giá với các mục tiêu liên tục cải tiến quy trình định lượng Cả quy trình xác định lẫn bộ quy trình chuẩn của doanh nghiệp đều là đối tượng cho các hoạt động đo lường sự cải tiến. 

Việc tối ưu hóa các quy trình nhanh gọn, sáng tạo phụ thuộc vào sự tham gia của đội ngũ nhân viên có thẩm quyền và phải phù hợp với giá trị, mục tiêu kinh doanh của doanh nghiệp Khả năng đáp ứng của doanh nghiệp trước những thay đổi, cơ hội của thị trường sẽ được nâng cao bằng việc tìm cách tăng tốc và không ngừng học hỏi.Việc cải tiến quy trình là trách nhiệm của tất cả mọi người và là kết quả của chu trình cải tiến liên tục. 

Sự khác biệt đáng kể giữa mức độ 4 và 5 đó là sự nhận diện biến quy trình Ở mức

4, bộ quy trình được chú trọng thông qua việc có thể nhận diện được các nguyên nhân gâynên biến quy trình và dự đoán thống kê các kết quả Mặc dù bộ quy trình có thể đưa đến việc dự đoán được kết quả, tuy nhiên kết quả đôi khi cũng chưa đủ rõ để doanh nghiệp có thể đạt được mục tiêu đề ra Tại mức độ 5, doanh nghiệp chú trọng vào các nguyên nhân phổ biến gây nên biến quy trình và thay đổi chúng cho phù hợp hơn nhằm nâng cao hiệu suất của quy trình (vẫn duy trì các dự đoán thống kê) nhằm đạt được mục tiêu liên tục cải tiến quy trình định lượng. 

2.3: Tất cả mọi người đều có thế sử dụng CMMI?

Vì không phải tất cả các điểm mạnh của CMMI đều phù hợp với tất cả các tổ chức Với bất cứ cơ cấu hay phương pháp nào thì việc tiến hành CMMI thường thất bại không chỉ

do những thiếu sót trong các khái niệm mà còn do việc tiến hành của các tổ chức không được như mong đợi Vấn đề ở đây có thể là do văn hóa Ví dụ, CMMI đã từng bị gọi là

"chết bởi quy trình" Nếu nhân viên của bạn không được định hướng quy trình đầy đủ thì

Trang 17

dường như CMMI sẽ không thể phù hợp nếu không mở rộng đào tạo (và thậm chí còn có thể điều chỉnh một số quan điểm) Cố gắng áp dụngCMMI vào các quy trình đã tồn tại màkhông thực hiện phân tích lỗ hổng ban đầu để đánh giá sự phù hợp của CMMI với các quy trình đã tồn tại có phải là một công thức cho sự thất bại hay không Tương tự như vậy, các nhà phê bình phàn nàn rằng CMMI (cũng giống như trước đây) đòi hỏi người sử dụng phải có một lượng tài liệu khổng lồ Đây không phải là một trò đùa Việc đánh giá

và tư vấn có thể sẽ rất tốn kém SEI cho biết một nhóm đánh giá bao gồm từ bốn đến chín thành viên (bạn có thể phải trả cho mỗi người 1000 đô lamột ngày) Và công việc đánh giá này không thể hoàn thành xong trong vòng một hoặc thậm chí hai, ba ngày Nhóm đánh giá này không chỉ thảo luận với một vài người hay xem xét một dự án mà họ phải tiến hành kiểm tra nghiêm túc một vài dự án

VIỆT NAM ÁP DỤNG CMM VÀ CMMI TRONG LĨNH VỰC PHẦN MỀM

Việt nam có các lợi thế về nhân lực cần cù, chăm chỉ, giá nhân công rẻ, hệ thống giáo dục được đào tạo bài bản Việt Nam hiện là điểm sáng trên bản đồ thế giới Tuy nhiên, trong quá trình tiếp thị và giới thiệu tiềm năng với cộng đồng CNTT quốc tế, yêu cầu đầu tiên được phía nuớc ngoài đặt câu hỏi là: Doanh nghiệp CNTT Việt Nam có tốc

độ phát triển ra sao? Năng lực thế nào, và đặc biệt là ứng dụng hệ thống quản lý chất lượng phần mềm đến đâu?

Về cơ bản, quản lý chất lượng phần mềm là vấn đề không mới, nhưng lại là vấn đề còn yếu của các công ty phần mềm Việt Nam Một số công ty đã đạt 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 cũng chỉ gói gọn trong vài công ty gia công cho nước ngoài

Tuy nhiên, thông thường các công ty phải đầu tư ít nhất 40.000- 50.000 USD cho chi phí tư vấn, đánh giá và khảo sát Chi phí này thực tế còn cao hơn nhiều sau khi cộng thêmcác khoản vé máy bay, ăn ở, đi lại cho các chuyên gia tư vấn, giám sát, đào tạo Thực tế đây là khoản đầu tư khá lớn đối với các công ty phần mềm VN

Xét đến thời điểm này, chưa có số liệu chính xác về số lượng doanh nghiệp phần mềm đang áp dụng mô hình đánh giá năng lực sản xuất phần mềm CMM/CMMi tại Việt Nam, nhưng có thể nhắc đến những tên tuổi như PSV (CMMi mức 5: 2005), GCS (CMMimức 4: 2006), FPT Software (CMM mức 5: 2004) và SilkRoad (CMM mức 3)

Các công ty Việt Nam đua nhau lấy ISO và CMM có hai dạng: 1 là muốn cải tiến quá trình quản lý trong việc phát triển phần mềm, còn 1 là đi theo nhu cầu khách hàng hoặc đểquảng cáo

Với các công ty muốn cải tiến quy trình để phát triển thì việc lấy chứng chỉ hơi lâu vì cần phải đào tạo, chỉ rõ cho tất cả nhân viên thấy được lợi ích của các quy trình này để họ

tự nguyện làm theo (vì thật sự thì nó sẽ làm cho nhân viên cảm thấy mình phải làm nhiều hơn, phải lưu giữ đủ thứ giấy tờ, thủ tục, ) Khi tất cả đều nhận thức rõ được vấn đề và thấy rằng ISO hay CMM thật sự sẽ mang lại lợi ích lâu dài cho họ thì lúc đó ISO hay CMM mới góp phần cải tiến quy trình thật sự cho công ty Dĩ nhiên khi có được ISO hay CMM certification thì công ty cũng đem ra để quảng cáo, để làm lợi thế khi ký hợp đồng Nhưng thật sự thì ISO hay CMM giúp ích cho công tác quản lý rất nhiều, mọi việc phải được cụ thể hoá thành văn bản chứ không làm việc cảm tính, nói miệng vớinhau như trước nữa.Còn với những công ty lấy ISO hay CMM chỉ vì mục đích quảng cáo thì đâu lại

Trang 18

vào đấy thôi vì sau khi đạt được chứng chỉ xong họ lại cất những process đó vào tủ và lại làm việc theo thói quen cũ, chẳng có thay đổi gì hết.

TỔNG KẾT

Thứ nhất phải khẳng định CMM là bước phát triển tất yếu của các tổ chức trong thời đại kinh tế tri thức, bởi vì nó là việc kết hợp qui chuẩn và sáng tạo cho cách hoạt động của tổ chức, không cứng nhắc mà linh hoạt thay đổi theo thực tế Mô hình về tiến hoá của tổ chức khẳng định điều này Chúng ta cũng hiểu được vì sao bất kì thời đại, nền văn minh nào cũng có thời kì huy hoàng rồi bị sa sút và diệt vong Mọi tổ chức

không thực hiện việc đổi mới, đưa hiểu biết mới của các lớp trẻ vào, tất yếu sẽ bị diệt vong, đây là điều các cấp lãnh đạo cần nhận rõ Ngày xưa diệt vong của từng triều đại là hàng trăm năm Ngày nay sự diệt vong của các tổ chức chỉ là hàng chục năm hoặc chưa đến thế Nếu đó đã là qui luật chung thì các tổ chức của Việt Nam cũng không ngoại lệ

Do đó càng đưa sớm CMM vào thực tế càng tốt và thúc đẩy sự phát triển ở Việt Nam.Nhưng điều thứ hai cần khẳng định là chỉ có thể thực hiện được CMM nếu đấy là nỗ lực của toàn tổ chức, và trong đó cam kết của lãnh đạo là quyết định Vì vậy việc huấn luyện

về CMM phải là huấn luyện cho toàn tổ chức, không phải chỉ là huấn luyện cho đội ngũ

kĩ thuật, tuy rằng ban đầu chúng ta vẫn phải xuất phát từ phía kĩ thuật Các cấp lãnh đạo,

có quyền lực cần được học về CMM theo góc độ bảo đảm sự phát triển tiến hoá của tổ chức.Và thứ ba, chúng ta cần có được một đội ngũ những người am hiểu về CMM để giớithiệu cho nhiều tổ chức thực hiện Đội ngũ này phải có khả năng dạy cho mọi loại người trong tổ chức, không chỉ cho các chuyên viên kĩ thuật, người đã sẵn sàng học cái mới Chúng ta phải đủ khả năng để đối diện với mọi cấp lãnh đạo và cung cấp cho họ

những tri thức mới về cách làm việc mới, nhưng phải biết nói theo ngôn ngữ của họ

III,Xu hướng hiện nay của lĩnh vực công nghệ phần mềm 

3.1: Công nghệ phần mềm hướng mô hình

 Là một cách thiết kế phần mềm tiếp cận việc phát triển của hệ thống phần mềmdựa trên các mô hình

 Được đưa ra bởi tổ chức Object Management Group (OMG) vào năm 2001

 MDA cung cấp các hướng dẫn cho việc cấu trúc và đặc tả chương trình dưới dạng

Phát triển phần mềm hướng mô hình là gì

Phát triển hướng mô hình liên quan đến nhiều chuẩn khác

 UML (Unified Modeling Language)

 MOF (Meta-Object Facility)

 XMI (XML Metadata Interchange)

 EDOC (Enterprise Distributed Object Computing)

 SPEM (Software Process Engineering Metamodel)

 CWM (Common Warhouse Metamodel)

Trang 19

Vì sao nên áp dụng phát triển hướng mô hình

 Dễ phát triển

 Dễ chuyển đổi môi trường

 Tăng khả năng tương tác

 Dễ bảo trì

 Dễ tài liệu hoá

Áp dụng phát triển hướng mô hình.

 OMG đã đặt ra ngôn ngữ Meta Object Facilitiy (MOF) để có thể xử lý các chuẩnngôn ngữ khác nhau

 PIM có thể được xây dựng trên nhiều ngôn ngữ khác nhau, nhưng phổ biến nhấtvẫn là UML

 Việc chuyển đổi PIM sang PSM tuân theo qui ước của các mô hình định nghĩa nềntảng (platform definition model - PDM)

 OMG đã định ra chuẩn cho việc chuyển đổi PIM - PSM làQuery/View/Transformation (QVT)

Các công cụ hỗ trợ phát triển hướng mô hình

Cùng với sự phát triển của các kỹ thuật tiên tiến về máy tính, kỹ thuật truyền tin và cáclĩnh vực tin học hiện đại (như hệ thống phân tán, AI & Khoa học nhận dạng, máy học, mã

di động, truy tìm thông tin, cơ sở dữ liệu và cơ sở tri thức ) Kết hợp với phương pháplập trình hướng đối tượng đã tạo ra một phương pháp phát triển mới Phương pháp lậptrình hướng tác tử

Trang 20

Tiếp cận hướng tác tử cho công nghệ phần mềm

Công nghệ phần mềm hướng agent: phân rã bài toán thành nhiều thành phần tương tác

và tự trị(agents) mà có các mục tiêu cụ thể để đạt tới

Thiết kế phần mềm hướng tác tử

 Mỗi agent trong hệ thống được giao một hoặc một số nhiệm vụ riêng agent phảinắm được đầy đủ trách nhiệm đối với việc hoàn thành nhiệm vụ được giao

 Các nhiệm vụ cộng đồng biểu diễn các chức năng toàn cục của hệ thống agent

 Thiết kế quan tâm tới sự biểu diễn các mô hình trừu tượng lấy từ pha phân tích

 Trách nhiệm, nhiệm vụ và giao thức tương tác cần được ánh xạ lên agent, cáctương tác và tổ chức cấp cao

Để làm được điều đó, các tác tử sẽ tự động hoá một phần hay toàn bộ các hoạt độngkinh doanh trong thương mại điện tử Trong đó, các tác tử có thể đóng vai trò là ngườimua, người bán, người môi giới, người cung cấp thông tin, để thực hiện các giao dịch

IV: Sử dụng mô hình thác nước để phát triển mô hình phần mềm

V Đặc tả phần mềm

- Định nghĩa:

Đặc tả là sự mô tả các đặc trưng nhằm diễn đạt các yêu cầu và các chức năng của một sản phẩm phầm mềm cần thiết kế

Trang 21

5.1: Phương pháp đặc tả: ( Phi hình thức )

5.2: Xác định các yêu cầu phần mềm

1.Định nghĩa yêu cầu bài toán

Xu hướng mua hàng online, mua hàng tại nhà đang phát triển mạnh mẽ,… Để đáp ứng nhu cầu của thị trường và người dùng, các chuỗi cửa hàng cần phải xây dựng một hệ thống bán hàng trực tuyến Để hiển thị đầy đủ thông tin của các mặt hàng, số lượng hàng hoá đã bán cũng như số lượng hàng hoá còn lại tại cửa hàng, đơn giá của từng loại sản phẩm, yêu cầu đặt hàng và thanh toán cũng như vận chuyển đơn hàng cho người đặt hàng

là một vấn đề khó và bên cạnh đó đặt ra rất nhiều vấn đề trong việc quản lý Cho nên chủ cửa hàng cần phải thuê các kĩ sư phần mềm xây dựng cho mình một hệ thống đáp ứng được tất cả các yêu cầu đó Phần mềm phải đảm bảo hoạt động tốt, có mức độ rủi ro thấp

Kế hoạch xây dựng phần mềm, hệ thống phải hoàn thành trong vòng 3 tháng, thời gian kiểm thử hệ thống và vận hành hệ thống trong thời gian 2 năm Với phần mềm quản lý, xây dựng website bán hàng, những vấn đề trên sẽ được giải quyết một cách nhanh chóng

và đơn giản nhất

2 Các yêu cầu thiết kế của hệ thống:

2.1 Yêu cầu chức năng :

Hệ thống bán hàng online này phải đáp ứng được tất cả các yêu cầu của khách hàng sử dụng hệ thống Hỗ trợ thực hiện các chức năng một cách dễ dàng Cơ sở dữ liệu có thể them mới, cập nhật và xóa Các chức năng chính là quản lý nhập hàng tại cửa hàng, quản

lý bán hàng (xuất kho), quản lý thông tin khách hàng, đơn hàng, quản lý quá trình vận chuyển, giao hàng cho khách hàng đặt mua sản phẩm tại cửa hàng, cũng như chức năng phản hồi mọi ý kiến, thắc mắc của khách hàng

2.1.1 Quản lý khách hàng

a) Đăng ký :

Người sử dụng(NSD) ấn đăng ký tài khoản để hệ thống hiển thị form đăng ký NSD nhậptên TK, MK, những thông tin cần thiết để đăng ký(email, SĐT,…) Hệ thống kiểm tra thông tin đăng ký nếu đáp ứng yêu cầu thì thông báo “Đăng ký tài khoản thành công”, ngược lại yêu cầu khách hàng đăng ký lại TK Sau khi đăng ký thành công , NSD có thể đăng nhập vào hệ thống để sử dụng các chức năng của hệ thống

b) Đăng nhập :

NSD dùng TK đã đăng ký để đăng nhập vào hệ thống để sử dụng các chức năng của hệ thống

Trang 22

c) Thêm vào giỏ hàng :

NSD sau khi xem TT sản phẩm đủ đáp ứng nhu cầu thì có thể thêm vào giỏ hàng

3 Thực hiện cài đặt và kiểm thử đơn vị

Các kĩ sư phần mềm sẽ xây dựng hệ thống bán hàng, hệ thống phải đầy đủ các chức

năng, yêu cầu cần có của webste bán hàng Sau khi xây dựng xong bắt đầu kiểm thử từng phần của hệ thống xem có bị lỗi hay không, nếu có thì phải thiết kế, xây dựng lại hệ thống

4 Tích hợp và kiểm thử hệ thống

Hiệu chỉnh những sai sót trong quá trình xây dựng hệ thống Kiểm tra chất lượng một

cách kĩ lưỡng Cho hệ thống làm việc thông qua đó để kiểm thử hệ thống

5, Vận hành và bảo trì

Sau quá trình kiểm thử, hệ thống đáp ứng được nhu cầu và được sự chấp nhận, thông

qua của khách hàng sẽ được cài đặt và sử dụng rộng rãi kế hoạch hỗ trợ vẫn luôn được thực hiện cho đến khi hết thời gian vận hành hệ thống Sẵn sàng bảo trì hệ thống khi hệ thống gặp vấn đề

Trang 23

Chương II LỰA CHỌN MÔ HÌNH HỆ THỐNG – THIẾT KẾ VÀ CÀI ĐẶT

PHẦN MỀM

1, Mô hình hóa hệ thống

Khái niệm: Mô hình hóa (Moleing) là một quá trình thay thế hệ thống thực bằng một

mô hình để nhằm thu nhận các thông tin của hệ thống bằng cách tiến hành các thực nghiệm, tính toán trên mô hình Việc sử dụng các mô hình để làm sao để nhận thức vàdiễn tả nên hệ thống thì người ta gọi đó là mô hình hóa Do vậy mà quá trình phân tích và thiết kế hệ thống cũng thường được gọi chung là quá trình mô hình hóa hệ thống

Tại sao phải xây dựng mô hình hóa hệ thống?

Mô hình là sự trừu tượng hóa, mô tả mặt bản chất của một vấn đề hoặc một cấu trúc phứctạp bằng cách loại bỏ những chi tiết không quan trọng, khiến cho bài toán trở nên dễ hiểu

và dễ nắm bắt hơn Trừu tượng hóa là một khả năng cơ bản của con người trong việc giảiquyết các vấn đề phức tạp Việc phát triển các hệ thống phần mềm cũng không ngoại lệ

Để xây dựng một hệ thống phức tạp, những người phát triển phải trừu tượng hóa nhữngkhía cạnh (View) khác nhau của hệ thống, xây dựng các mô hình bằng cách sử dụng các

kí hiệu một cách rõ ràng, cẩn thận, kiểm tra xem các mô hình đã thoả mãn các yêu cầucủa hệ thống chưa và dần dần thêm vào các chi tiết để có thể chuyển đổi từ mô hình sangmột cài đặt cụ thể

Chúng ta xây dựng mô hình của những hệ thống phức tạp bởi vì chúng ta không thể lĩnhhội một lúc toàn bộ hệ thống đó

Mô hình hóa là phần trung tâm trong các công việc, các hoạt động để dẫn tới một phần mềm tốt Chúng ta xây dựng mô hình để trao đổi, bàn bạc về cấu trúc và ứng xử(behavior)mong muốn của hệ thống Chúng ta xây dựng mô hình để trực quan hóa và kiểm soát kiếntrúc của hệ thống Chúng ta xây dựng mô hình để hiểu rõ hơn về hệ thống mà chúng ta đang xây dựng, tạo ra cơ hội để có thể đơn giản hóa và tái sử dụng Chúng ta xây dựng

mô hình để kiểm soát rủi ro

Việc lập mô hình không chỉ dành cho các hệ thống lớn Khi xây dựng mô hình chúng ta sẽđạt được 4 mục đích sau:

• Mô hình giúp chúng ta trực quan hóa hệ thống như là nó vốn có hay theo cách mà chúng

ta muốn nó sẽ như vậy

• Mô hình cho phép chúng ta chỉ rõ cấu trúc và ứng xử của hệ thống

• Mô hình cho chúng ta một khuôn mẫu để hướng dẫn chúng ta trong quá trình xây dựng

hệ thống

Trang 24

• Mô hình đưa ra các dẫn chứng bằng tài liệu về các quyết định mà chúng ta đã đưa ra trong quá trình thiết kế hệ thống.

+ Mô hình ngẫu nhiên Mô hình tĩnh

+ Mô hình động Mô hình tuyến tính

+ Mô hình phi tuyến Mô hình liên tục

+ Mô hình gián đoạn Mô hình vật lý

+ Mô hình toán học Mô hình giải tích

Mô hình mô phỏng có thể liệt kê thêm các cặp mô hình như trên nữa, tuy nhiên sau đâychúng ta đưa ra một cách phân loại mô hình như trình bày trên hình 2-1

Mô hình được chia làm hai nhóm chính: mô hình vật lý và mô hình toán học hay còn gọi

là mô hình trừu tượng Từ hai nhóm chính đó lại có thể chia ra thành các loại mô hình cụ thể hơn

2 Lựa chọn và ứng dụng các mô hình hệ thống vào từng trường hợp cụ thể.

Sử dụng mô hình Khách – Phục vụ (client – server)

Trang 25

Khái niệm: Mô hình khách – phục vụ là một mô hình hệ thống phân tán, biểu diễn việc

phân tán dữ liệu và xử lý trên nhiều máy tính khác nhau

 Hệ thống mạng cho phép client truy cập tới dịch vụ mà server cung cấp

Client phải biết tên của server và các dịch vụ mà server cung cấp Nhưng server thì khôngcần xác định rõ client và hiện tại có bao nhiêu client Client tạo ra một yêu cầu tới server

Ngày đăng: 26/03/2023, 14:49

w