Nhập môn công nghệ phần mềm

  -  
Khái niệm

Phần mềm là các chương trình máy tính và những tài liệu liên quan đến nó như: những yêu cầu, mô hình thiết kế, tài liệu hướng dẫn sử dụng… vày đó, họ thấy rằng đặc điểm của phần mềm là trừu tượng với vô hình.

Bạn đang xem: Nhập môn công nghệ phần mềm

Các sản phẩm phần mềm được phân thành 2 loại:

- Sản phẩm đại trà (Generic Product): được phạt triển để bán ra ngoài thị trường, đối tượng người sử dụng là tương đối đa dạng cùng phong phú. Những sản phẩm phần mềm thuộc loại này thường là những phần mềm dành cho máy PC.

- Sản phầm theo đơn đặt mặt hàng (Bespoke sản phẩm hoặc Customised Product): được vạc triển cho một người tiêu dùng riêng lẻ theo yêu cầu. Ví dụ: Những hệ thống phần mềm siêng dụng, hỗ trợ nghiệp vụ mang đến một doanh nghiệp riêng lẻ …

Một phần mềm mới bao gồm thể được tạo ra bằng giải pháp phát triển các chương trình mới, chũm đổi và điều chỉnh những hệ thống phần mềm đại trà hoặc tái sử dụng lại các phần mềm đã tồn tại.


Công nghệ phần mềm là gì?

Công nghệ phần mềm là những quy tắc công nghệ (engineering discipline) có tương quan đến tất cả các khía cạnh của quá trình sản xuất phần mềm.

Các kỹ sư phần mềm nên tuân theo một phương pháp luận có hệ thống và gồm tổ chức vào công việc của họ. Đồng thời, họ nên sử dụng các công cụ cùng kỹ thuật ưng ý hợp với vấn đề cần giải quyết, những ràng buộc với tài nguyên sẵn có.

Sự khác biệt giữa công nghệ phần mềm và khoa học thứ tính?

Khoa học máy tính đề cấp tới lý thuyết cùng những vấn đề cơ bản; còn công nghệ phần mềm đề cập tới những hoạt động xây dựng với đưa ra một phần mềm hữu ích.

Khi sự phát triển của phần mềm trở lên mạnh mẽ thì các lý thuyết của khoa học máy tính xách tay vẫn không đủ để đóng sứ mệnh là nền tảng hoàn thiện mang lại công nghệ phần mềm.


Sự khác biệt giữa công nghệ phần mềm cùng công nghệ hệ thống?

Đặt vấn đề

- Học viên đã bao giờ nghe nhắc tới Công nghệ hệ thống tuyệt chưa?

- Hãy trình diễn một số vấn đề có liên quan đến Công nghệ hệ thống.

- Công nghệ phần mềm tất cả phải là Công nghệ hệ thống không?

Công nghệ hệ thống (hay còn gọi là kỹ nghệ hệ thống) liên quan tới tất cả các khía cạnh của quá trình phát triển hệ thống dựa máy tính bao gồm: phần cứng, phần mềm, và công nghệ xử lý. Công nghệ phần mềm chỉ là một phần của tiến trình này, nó có tương quan tới việc phân phát triển hạ tầng phần mềm (software infrastructure), điều khiển, các ứng dụng cùng cơ sở dữ liệu vào hệ thống.

Kỹ sư hệ thống phải thực hiện việc đặc tả hệ thống, thiết kế kiến trúc hệ thống, tích hợp cùng triển khai.


Quy trình phần mềm là gì?

Đặt vấn đề

- Hãy cho biết để sản xuất một phần mềm, người ta phải thực hiện những công việc nào?

Quy trình phần mềm là một tập hợp các hành động 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 thực hiện trong những quy trình phần mềm bao gồm

- Đặc tả: đặc tả những gì hệ thống phải làm cho và các ràng buộc trong quy trình xây dựng hệ thống.

- vạc triển: xây dựng hệ thống phần mềm.

- Kiểm thử: kiểm tra xem liệu phần mềm đã thoả mãn yêu cầu của khách hàng hàng.

- 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ầu.

Những loại hệ thống khác biệt sẽ cần những các bước phát triển khác nhau. Ví dụ, hệ thống thời gian thực yêu cầu phải chấm dứt đặc tả hệ thống trước khi chuyển quý phái giai đoạn xây dựng nó. Nhưng với hệ thống thương mại điện tử, chúng ta có thể vừa đặc tả vừa xây dựng chương trình một phương pháp đồng thời.

Tuy nhiên, nếu bọn họ không sử dụng một quy trình phát triển hệ thống ham mê hợp thì bao gồm thể có tác dụng giảm chất lượng của hệ thống và tăng ngân sách xây dựng.

Mô hình quy trình phát triển phần mềm là gì?

Mô hình các bước phát triển phần mềm là một thể hiện đơn giản của một các bước phần mềm, và nó được biểu diễn từ một góc độ cụ thể.

Sau đây là một số ví dụ về quy mô quy trình phạt triển phần mềm:

- quy mô luồng công việc (workflow): mô tả một chuỗi các hành động cần phải thực hiện.

- quy mô luồng dữ liệu (data-flow): mô tả luồng thông tin.

- mô hình Vai trò/Hành động (Role/action): chỉ ra phương châm của những người tương quan trong các bước phần mềm và nhiệm vụ của từng người.

Xem thêm: Cách Cài Đặt Sublime Text 3, Hướng Dẫn Cài Đặt Sublime Text 3

Ngoài ra, còn có một số quy mô quy trình thông thường cũng được đễ xuất như:

- mô hình thác nước (waterfall)

- mô hình phát triển lặp lại (Iterative development)

- quy mô công nghệ phần mềm dựa thành phần (Component-based software engineering).


Đặt vấn đề

- Để xây dựng một hệ thống phần mềm bọn họ phải đầu tư mang đến những hạng mục nào?

- Tất cả những hệ thống phần mềm bao gồm cùng các hạng mục giá thành hay không? Tại sao?

Để xây dựng một hệ thống phần mềm, họ thường phải đầu tư một khoản ngân sách khá lớn. Theo thống kê cho thấy, túi tiền cho việc xây dựng phần mềm chiếm một phần đáng kể của GNP ở tất cả những nước phân phát triển.

Chi tổn phí phần mềm thường chiếm phần lớn chi phí của cả hệ thống thứ tính. Ngân sách phần mềm trên thiết bị PC thường lớn hơn chi tiêu phần cứng. Ngân sách phần mềm giành riêng cho việc bảo trì phần mềm thường lớn hơn ngân sách xây dựng phần mềm. Đối với những hệ thống hoạt động vào thời gian dài, thì ngân sách chi tiêu bảo trì thường lớn gấp nhiều lần so với chi phí xây dựng.

Xấp xỉ 60% ngân sách là giá cả xây dựng với 40% là giá thành kiểm thử. Đối với những phần mềm làm theo yêu cầu của khách hàng, chi tiêu mở rộng thường vượt quá chi tiêu xây dựng.

Chi phí biến đổi tuỳ thuộc vào từng loại hệ thống được xây dựng và các yêu cầu về đặc điểm của hệ thống như: hiệu năng cùng độ tin cậy của hệ thống.

*

Việc phân bổ túi tiền cũng phụ thuộc vào quy mô phát triển hệ thống được sử dụng. Sau đây là bảng so sánh ngân sách của 3 quy mô phổ biến nhất, thường được sử dụng:

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

Chi giá thành của các pha đặc tả, thiết kế, cài đặt đặt, tích hợp với kiểm thử được xác định một biện pháp riêng rẽ.

*

Mô hình phân phát triển lặp lại

Không thể phân biệt rõ ngân sách cho từng trộn trong quy trình.

Chi phí đặc tả giảm vì chưng đây là đặc tả ở bậc cao.

Tại mỗi bước lặp, những pha trong quy trình xây dựng hệ thống được thực hiện lại nhằm thực hiện những yêu cầu hệ thống khác biệt ở từng bước lặp.

Sau khi đã thực hiện hết các bước lặp, phải có ngân sách chi tiêu kiểm thử toàn bộ hệ thống.

*

Mô hình công nghệ phần mềm hướng thành phần

Chi phí phụ thuộc nhiều vào việc tích hợp với kiểm thử hệ thống.

*

Ngoài giá thành xây dựng, chúng ta còn phải để một phần lớn giá cả phục vụ cho việc nắm đổi phần mềm sau thời điểm nó đã được đưa vào sử dụng. Ngân sách chi tiêu cải tiến phần mềm vắt đổi phụ thuộc vào từng loại phần mềm.

*

Các phương pháp công nghệ phần mềm là gì?

Phương pháp công nghệ phần mềm bao gồm các quy mô hệ thống, các ký pháp, quy tắc, hướng dẫn thiết kế và tiến trình để xây dựng phần mềm một bí quyết dễ dàng, đảm bảo chất lượng cao và túi tiền hiệu quả.

Một số phương pháp công nghệ phần mềm đã được đề xuất như: so với hướng cấu trúc - tập trung vào việc xác định các chức năng cơ bản của hệ thống; phương pháp hướng đối tượng - tập trung vào việc định nghĩa những đối tượng cùng sự cộng tác giữa chúng ...


CASE (Computer-Aided Software Engineering)

Các hệ thống CASE thường được sử dụng để hỗ trợ các hoạt động trong tiến trình xây dựng phần mềm. Tất cả hai loại CASE:

- Upper-CASE: công cụ để hỗ trợ các hoạt động đầu tiên như đặc tả yêu thương cầu với thiết kế.

- Lower-CASE: công cụ để hỗ trợ những hoạt động sau như lập trình, gỡ lỗi và kiểm thử.


Đặt vấn đề

- Bạn có thường xuyên sử dụng phần mềm không?

- Theo bạn, thế nào là một phần mềm tốt?

Phần mềm phải đáp ứng các chức năng theo yêu thương cầu, tất cả hiệu năng tốt, bao gồm khả năng bảo trì, đáng tin cậy, và được người sử dụng chấp nhận.

- Khả năng bảo trì: phần mềm phải được điều chỉnh và mở rộng để thoả mãn những yêu cầu cố đổi.

- Mức độ tin cậy: phần mềm phải được tin cậy, bảo mật và thiết yếu xác.

- Hiệu quả: phần mềm không nên sử dụng tiêu tốn lãng phí tài nguyên của hệ thống.

- Khả năng được chấp nhận: người sử dụng phải chấp nhận phần mềm. Điều đó có nghĩa là nó phải dễ hiểu, sử dụng được và tương phù hợp với những hệ thống khác.


Đặt vấn đề

- Nếu vồ cập đến sự phân phát triển của công nghệ phần mềm, bạn hãy mang lại biết những thách thức nhưng công nghệ phần mềm phải đối mặt.

Xem thêm: Danh Sách Email Khách Hàng Tphcm Tiềm Năng Hiệu Quả Cho Doanh Nghiệp

Công nghệ phần mềm trong thế kỷ 21 phải đối mặt với rất nhiều thách thức to lớn lớn. Với mỗi thách thức này, chúng ta phải tất cả những giải pháp cụ thể.

- ko đồng nhất: vạc triển những kỹ thuật xây dựng phần mềm để giải quyết sự ko đồng nhất về môi trường thực hiện cùng nền tảng hạ tầng.

- Chuyển giao: phân phát triển những kỹ thuật nhằm dẫn tới việc chuyển giao phần mềm tới người sử dụng cấp tốc hơn.

- Độ tin cậy: phân phát triển các kỹ thuật để chứng minh rằng phần mềm được người sử dụng nó tin tưởng.