1. Trang chủ
  2. » Công Nghệ Thông Tin

Công nghệ phần mềm chương 1

23 55 0

Đ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

Định dạng
Số trang 23
Dung lượng 87,96 KB

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

Nội dung

• Hiểu kỹ thuật phần mềm là gì và tại sao lại quan trọng; • Hiểu rằng sự phát triển của các loại hệ thống phần mềmkhác nhau có thể đòi hỏi các kỹ thuật phần mềm khác nhau; • Hiểu một số

Trang 1

Bài giảng 1- Giới thiệu về SE Tổng quan

Mục đích và yêu cầu: Mục đích của bài giảng này là để giới thiệu

công nghệ phần mềm và cung cấp một khuôn khổ cho việc tìm hiểu phần còn lạicủa khóa học

• Hiểu kỹ thuật phần mềm là gì và tại sao lại quan trọng;

• Hiểu rằng sự phát triển của các loại hệ thống phần mềmkhác nhau có thể đòi hỏi các kỹ thuật phần mềm khác nhau;

• Hiểu một số vấn đề đạo đức và chuyên môn quan trọng đốivới các kỹ sư phần mềm;

• đã được giới thiệu với ba hệ thống, các loại khác nhau, mà

sẽ được sử dụng như ví dụ trong suốt khóa học

Yêu cầu:

- Đọc tài liệu trước khi giảng

- Tham dự yêu cầu

• Bài tập: Tìm và tổng kết một bài báo (xem đoạn cuối cùng)

Chủ đề được bảo vệ

• Phát triển phần mềm chuyên nghiệp

• Ý nghĩa của kỹ thuật phần mềm là gì

• Đạo đức kỹ thuật phần mềm

Trang 2

• Giới thiệu ngắn về các vấn đề đạo đức ảnh hưởng đến kỹthuật phần mềm

• Nghiên cứu trường hợp

• Giới thiệu ba ví dụ được sử dụng trong các chương sau củacuốn sách

Kỹ thuật phần mềm

• Các nền kinh tế của TẤT CẢ các nước phát triển là Phụ thuộc vàophần mềm

• Ngày càng có nhiều hệ thống được kiểm soát bởi phần mềm

• Kỹ thuật phần mềm liên quan đến các lý thuyết, phương pháp và công cụ để phát triển phần mềm chuyên nghiệp

• Chi tiêu cho phần mềm đại diện cho Phần đáng kể của GNP ở tất

• Kỹ thuật phần mềm liên quan đến việc phát triển phần mềm hiệuquả về chi phí

Sản phẩm phần mềm

• Các hệ thống độc lập được bán và bán cho bất kỳ kháchhàng nào muốn mua chúng

Trang 3

• Ví dụ - Phần mềm PC như các chương trình đồ họa, công cụ

quản lý dự án; Phần mềm CAD; Phần mềm cho các thị trường cụ thể như hệ

thống hẹn cho nha sĩ

• Phần mềm được ủy thác bởi một khách hàng cụ thể để đáp

ứng nhu cầu riêng của họ

• Ví dụ - nhúng hệ thống điều khiển, phần mềm kiểm soát

không lưu, hệ thống giám sát giao thông

Đặc điểm kỹ thuật sản phẩm

• Các đặc điểm kỹ thuật của phần mềm nên làm là thuộc sở

hữu của nhà phát triển phần mềm và quyết định về thay đổi phần mềm được

thực hiện bởi nhà phát triển

• Các đặc điểm kỹ thuật của phần mềm nên làm là do khách

hàng sở hữu phần mềm và họ quyết định những thay đổi phần mềm được yêu

cầu

Những câu hỏi thường gặp về kỹ thuật phần mềm

Câu hỏi Câu trả lời

Phần mềm là gì? Chương trình máy tính và các tài liệu liên quan (và dữ liệu)

Sản phẩm phần mềm có thể được phát triển cho một kháchhàng cụ thể hoặc có thể được phát triển cho một thị trườngchung

Các thuộc tính của phần

mềm tốt là gì?

Phần mềm tốt nên cung cấp các chức năng và hiệu suất yêu cầucho người dùng và phải được duy trì, đáng tin cậy và có thể sửdụng được

Kỹ thuật phần mềm là

gì?

Kỹ thuật phần mềm là một kỷ luật kỹ thuật có liên quan đến tất

cả các khía cạnh của sản xuất phần mềm

Trang 4

học máy tính là gì? phát triển và cung cấp phần mềm hữu ích

Những câu hỏi thường gặp về kỹ thuật phần mềm

Câu hỏi Câu trả lời

hệ thống kiểm soát an toàn cần thiết đòi hỏi một đặc điểm kỹthuật đầy đủ và phân tích được phát triển Do đó, bạn khôngthể nói rằng một phương pháp nào đó tốt hơn một phương phápkhác

Sự khác biệt nào có

được thực hiện trên web

với kỹ thuật phần mềm?

Các trang web đã dẫn đến sự sẵn có của các dịch vụ phần mềm

và khả năng phát triển các hệ thống dịch vụ phân phối rất cao Phát triển hệ thống dựa trên web đã dẫn đến những tiến bộ quantrọng trong việc sử dụng lại các ngôn ngữ lập trình và phầnmềm

Các thuộc tính thiết yếu của phần mềm tốt

Đặc tính sản

phẩm

Sự miêu tả

Khả năng bảo trì Phần mềm nên được viết theo cách sao cho nó có thể phát triển để

đáp ứng nhu cầu thay đổi của khách hàng Đây là một thuộc tínhquan trọng bởi vì thay đổi phần mềm là một yêu cầu không thể tránhđược của một môi trường kinh doanh thay đổi

Độ tin cậy và an

toàn

Tính tin cậy của phần mềm bao gồm nhiều đặc điểm bao gồm độ tincậy, an ninh và an toàn Phần mềm đáng tin cậy không nên gây thiệthại về thể chất hoặc kinh tế trong trường hợp hệ thống thất bại Người dùng độc hại không nên truy cập hoặc làm hỏng hệ thống

Trang 5

Hiệu quả Phần mềm không nên sử dụng tài nguyên hệ thống như bộ nhớ và bộ

xử lý Hiệu suất do đó bao gồm đáp ứng, thời gian xử lý, sử dụng bộnhớ, vv

Chấp nhận được Phần mềm phải được chấp nhận đối với loại người dùng mà nó được

thiết kế Điều này có nghĩa là nó phải dễ hiểu, có thể sử dụng được vàtương thích với các hệ thống khác mà chúng sử dụng

Kỹ thuật phần mềm

• Công nghệ phần mềm là một ngành kỹ thuật mà là có liên quan

với tất cả các khía cạnh của sản xuất phần mềm từ giai đoạn đầu của đặc tả hệ

thống thông qua việc duy trì hệ thống sau khi nó đã đi vào sử dụng

• Kỷ luật kỹ thuật

• Sử dụng các lý thuyết và phương pháp phù hợp để giải

quyết các vấn đề mang trong tâm trí những hạn chế về tổ chức và tài chính

• Tất cả các khía cạnh của sản xuất phần mềm

• Không chỉ là quy trình kỹ thuật phát triển Ngoài ra quản lý

dự án và phát triển các công cụ, phương pháp, vv để hỗ trợ sản xuất phần mềm

* Tầm quan trọng của công nghệ phần mềm

• Ngày càng có nhiều cá nhân và xã hội dựa vào các hệ thống phần

mềm tiên tiến Chúng ta cần phải có khả năng tạo ra các hệ thống đáng tin cậy

và đáng tin cậy về mặt kinh tế và nhanh chóng

• Thông thường, về lâu dài, sử dụng các phương pháp kỹ thuật phần

mềm và kỹ thuật cho các hệ thống phần mềm hơn là chỉ viết các chương trình

như thể đó là một dự án lập trình cá nhân Đối với hầu hết các loại hệ thống,

phần lớn chi phí là chi phí thay đổi phần mềm sau khi nó đã được sử dụng

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

• Đặc điểm phần mềm, nơi khách hàng và kỹ sư xác định phần mềm

sẽ được sản xuất và những hạn chế về hoạt động của nó

• Phát triển phần mềm, nơi phần mềm được thiết kế và lập trình

Trang 6

• Xác nhận phần mềm, nơi phần mềm được kiểm tra để đảm bảorằng đó là những gì khách hàng yêu cầu

• Sự phát triển phần mềm, nơi phần mềm được sửa đổi để phản ánhnhững yêu cầu của khách hàng và thị trường

Các vấn đề chung ảnh hưởng hầu hết phần mềm

• Ngày càng có nhiều hệ thống được yêu cầu hoạt động nhưcác hệ thống phân tán trên các mạng bao gồm các loại máy tính và thiết bị diđộng khác nhau

• Thay đổi về kinh doanh và xã hội

• Kinh doanh và xã hội đang thay đổi nhanh chóng khi cácnền kinh tế mới nổi phát triển và các công nghệ mới trở nên khả dụng Họ cần

để có thể thay đổi phần mềm hiện tại của họ và để nhanh chóng phát triển phầnmềm mới

• An ninh và tin tưởng

• Khi phần mềm được kết hợp với tất cả các khía cạnh củacuộc sống của chúng tôi, điều quan trọng là chúng ta có thể tin tưởng rằng phầnmềm

Các loại ứng dụng

Trang 7

• Đây là những hệ thống ứng dụng chạy trên máy tính cục bộ,chẳng hạn như máy tính cá nhân Chúng bao gồm tất cả các chức năng cần thiết

và không cần phải được kết nối với mạng

• Các ứng dụng dựa trên giao dịch tương tác

• Các ứng dụng chạy trên máy tính từ xa và được truy cập bởingười dùng từ máy tính cá nhân hoặc thiết bị đầu cuối của họ Chúng bao gồmcác ứng dụng web như ứng dụng -commerce e

• Hệ thống điều khiển nhúng

• Đây là những hệ thống điều khiển phần mềm kiểm soát vàquản lý thiết bị phần cứng Theo Numerically, có lẽ nhiều hệ thống nhúng hơnbất kỳ loại hệ thống khác

• Hệ thống xử lý hàng loạt

• Đây là những hệ thống kinh doanh được thiết kế để xử lý dữliệu theo lô lớn Họ xử lý số lượng lớn các đầu vào cá nhân để tạo ra kết quảtương ứng

• Hệ thống giải trí

• Đây là những hệ thống chủ yếu để sử dụng cá nhân và nhằmmục đích giải trí cho người dùng

• Hệ thống mô hình hóa và mô phỏng

• Đây là những hệ thống được các nhà khoa học và kỹ sư pháttriển để mô hình các quy trình hoặc tình huống thể chất, bao gồm nhiều đốitượng riêng biệt, tương tác

Hệ thống thu thập dữ liệu

Trang 8

• Đây là những hệ thống thu thập dữ liệu từ môi trường củachúng bằng một bộ cảm biến và gửi dữ liệu đó đến các hệ thống khác để chếbiến

• Hệ thống các hệ thống

• Đây là những hệ thống bao gồm một số hệ thống phần mềmkhác

Nguyên tắc cơ bản về công nghệ phần mềm

• Một số nguyên tắc cơ bản áp dụng cho tất cả các loại hệ thốngphần mềm, không phụ thuộc vào các kỹ thuật phát triển được sử dụng:

• Các hệ thống nên được phát triển bằng cách sử dụng quátrình phát triển được hiểu và được quản lý Tất nhiên, các quy trình khác nhauđược sử dụng cho các loại phần mềm khác nhau

• Độ tin cậy và hiệu suất là quan trọng đối với tất cả các loại

• Các dịch vụ Web cho phép truy cập các tính năng ứng dụng quaweb

• Điện toán đám mây là một cách tiếp cận để cung cấp dịch vụ máytính mà các ứng dụng chạy từ xa trên 'đám mây'

Trang 9

• Người dùng không mua trả tiền mua phần mềm theo cách sửdụng

Kỹ thuật phần mềm dựa trên Web

• Các hệ thống dựa trên web là các hệ thống phân phối phức tạp,nhưng các nguyên tắc cơ bản của kỹ thuật phần mềm được thảo luận trước đây

áp dụng cho chúng như đối với bất kỳ loại hệ thống khác

• Những ý tưởng cơ bản về kỹ thuật phần mềm, được thảo luậntrong phần trước, áp dụng cho phần mềm dựa trên web giống như cách chúng

áp dụng cho các loại hệ thống phần mềm khác

Những điểm chính

• Kỹ thuật phần mềm là một kỷ luật kỹ thuật có liên quan đến tất cảcác khía cạnh của sản xuất phần mềm

Trang 10

• Các thuộc tính sản phẩm phần mềm thiết yếu là khả năng bảo trì,tin cậy và bảo mật, hiệu quả và sự chấp nhận

• Các hoạt động cấp cao của đặc tả, phát triển, xác nhận và pháttriển là một phần của tất cả các quy trình phần mềm

• Các khái niệm cơ bản của kỹ thuật phần mềm được áp dụng chungcho tất cả các loại phát triển hệ thống

• Có rất nhiều loại hệ thống khác nhau và mỗi hệ thống yêu cầu công cụ

và kỹ thuật phần mềm thích hợp cho sự phát triển của chúng

• Những ý tưởng cơ bản của kỹ thuật phần mềm được áp dụng chotất cả các loại hệ thống phần mềm

Các vấn đề về trách nhiệm nghề nghiệp

- Bảo mật (Tính Bí mật)

Các kỹ sư thường nên tôn trọng tính bảo mật của người sử dụng hoặckhách hàng của họ, không phân biệt có hay không một thỏa thuận bí mậtchính thức đã được ký kết (Kỹ sư phần mềm nên tôn trọng tính bí mật của

cơ quan và khách hàng cho dù văn bản bảo vệ bí mật đã được ký hay chưa)

- Trình độ

Trang 11

Các kỹ sư không nên làm sai lệch trình độ của mình Họ không nên

cố chấp nhận công việc đó là vượt quá thẩm quyền (kỹ sư phải nhận thứcđược trình độ K nên nhận công việc ngoài khả năng của mình)

Các vấn đề về trách nhiệm nghề nghiệp

- Quyền sở hữu trí tuệ (sở hữu trí tuệ )

Các kỹ sư cần phải nhận thức pháp luật địa phương quản lý việc sử dụngtài sản trí tuệ như bằng sáng chế, bản quyền, vv Họ nên cẩn thận để đảmbảo rằng các tài sản trí tuệ của nhà tuyển dụng và khách hàng được bảo vệ

- Máy tính sử dụng sai (Sử dụng Sai các công cụ máy tính)

Kỹ sư phần mềm không nên sử dụng các kỹ năng kỹ thuật của mình đểlạm dụng máy tính của người khác Máy tính lạm dụng lao động từ tương đốitầm thường (chơi game trên máy tính của người sử dụng lao động) để đặc biệtnghiêm trọng (phổ biến của virus)

Quy tắc đạo đức ACM / IEEE - Quy tắc đạo đức nghề nghiệp

• Những xã hội chuyên nghiệp ở Mỹ đã hợp tác để sản xuất một bộquy tắc đạo đức nghề nghiệp

(IEEE: hiệp hội kỹ sư điện tử học)

• Thành viên của các tổ chức này đăng ký vào mã thực hành khi họtham gia

• Bộ luật chứa tám nguyên tắc liên quan đến hành vi và quyết địnhbởi các kỹ sư phần mềm chuyên nghiệp, bao gồm cả các học viên, nhà giáo dục,nhà quản lý, giám sát và các nhà hoạch định chính sách, cũng như các học viên

và sinh viên của các ngành nghề

Lý do cho đạo đức

Máy tính có vai trò trung tâm và ngày càng tăng trong thương mại, công nghiệp, chính phủ, y học, giáo dục, giải trí và xã hội nói chung Các kỹ sư phần mềm là những người đóng góp trực tiếp hoặc giảng dạy, phân tích, đặc tả, thiết kế, phát triển, chứng nhận, bảo trì và kiểm thử các

hệ thống phần mềm

Bởi vì vai trò của họ trong việc phát triển hệ thống phần mềm, kỹ sư phần mềm có ý nghĩa Cơ hội làm tốt hoặc gây hại, để cho người khác làm tốt hoặc gây hại, hoặc gây ảnh hưởng xấu đến người khác để làm tốt

Trang 12

hoặc gây hại Để đảm bảo, càng nhiều càng tốt, những nỗ lực của họ sẽ được

sử dụng tốt, các kỹ sư phần mềm phải cam kết làm cho công nghệ phần mềm trở thành một nghề có lợi và tôn trọng

Bộ luật đạo đức ACM / IEEE Quy tắc đạo đức nghề nghiệp và hành nghề chuyên nghiệp

Nhóm công tác chung của ACM / IEEE-CS về Đạo đức Công nghệ Phầnmềm và Các Thực tiễn Chuyên nghiệp

Phiên bản ngắn gọn của mã tóm tắt khát vọng ở mức độ trừu tượng cao; Các điều khoản được bao gồm trong phiên bản đầy đủ cung cấp cho các ví dụ

và chi tiết của những thay đổi này làm thế nào những thay đổi cách chúng tahành động như các chuyên gia kỹ thuật phần mềm Không có những nguyệnvọng, chi tiết có thể trở nên hợp pháp và tẻ nhạt; Không có chi tiết, khát vọng

có thể trở nên âm thanh cao nhưng trống rỗng; Cùng nhau, những khát vọng vàcác chi tiết tạo thành một mã cố kết

Các kỹ sư phần mềm sẽ cam kết thực hiện việc phân tích, đặc tả, thiết kế,phát triển, thử nghiệm và bảo trì phần mềm một nghề nghiệp có lợi và tôn trọng Theo cam kết của họ đối với sức khoẻ, an toàn và phúc lợi của công chúng, các

kỹ sư phần mềm tuân thủ 8 nguyên tắc sau:

để đem lại lợi ích tốt nhất cho khách hàng và hang cơ sở)

3 SẢN PHẨM - Các kỹ sư phần mềm phải bảo đảm rằng sản phẩm của

họ và các sửa đổi có liên quan đáp ứng các tiêu chuẩn chuyên nghiệp cao nhất

có thể (Đối với sp: nên đảm bảo các sp làm ra tiêu chuẩn cao nhất)

4 ĐÁNH GIÁ - Các kỹ sư phần mềm phải duy trì tính toàn vẹn và độc lậptrong sự đánh giá chuyên nghiệp của họ (Đv người làm việc chuyên nghiệpnên duy trì sự thành công và lập trình độc lập trong đánh giá)

5 QUẢN LÝ - Các nhà quản lý và lãnh đạo kỹ thuật phần mềm sẽ đăng

ký và thúc đẩy một cách tiếp cận đạo đức đối với việc quản lý phát triển và duytrì phần mềm (Người qly và Trưởng nhóm luôn cổ vũ phương pháp qly có tínhđạo đức trong phát triển và bảo trì phần mềm)  quan trọng

Trang 13

6 NGHỀ NGHIỆP - Kỹ sư phần mềm sẽ nâng cao tính toàn vẹn và uy tíncủa nghề nghiệp phù hợp với lợi ích công cộng (Sự nghiệp chuyên nghiệp:Phải có kỹ năng thống kê cao nhất với tập thể hữu ích)

7 CÔNG BẰNG - Các kỹ sư phần mềm phải công bằng và hỗ trợ đồngnghiệp của họ (Nên hướng dẫn bằng và hỗ trợ, động viên đồng nghiệp)

8 CÁ NHÂN(sự nghiên cứu) - Kỹ sư phần mềm sẽ tham gia học tập suốtđời liên quan đến thực hành nghề nghiệp của họ và sẽ thúc đẩy cách tiếp cậnđạo đức đối với việc thực hành nghề nghiệp (Phát triển cá nhân: nên có thái độhọc tập suốt đời và cổ vũ cho pp làm việc có tính chất đạo đức nghề nghiệp)

Những tình huống khó xử về mặt đạo đức (tình trạng khó xử trong nghề nghiệp đạo đức)

• Bất đồng về nguyên tắc với các chính sách quản lý cấp cao (bất đồng với các quy tắc, chính sách quản lý)

• Sử dụng lao động của bạn hoạt động một cách phi đạo đức và pháthành một hệ thống an toàn quan trọng mà không kết thúc thử nghiệm của hệ thống

(người quản lý muốn đưa sản phẩm ra ngoài sử dụng khi chưa kết thúc việc kiểm thử sản phẩm)

• Tham gia vào việc phát triển hệ thống vũ khí quân sự hoặc hệthống hạt nhân

Nghiên cứu trường hợp

• Bơm insulin cá nhân

• Một hệ thống nhúng trong một máy bơm insulin được sửdụng bởi bệnh tiểu đường để duy trì kiểm soát lượng đường trong máu

• Một hệ thống quản lý bệnh nhân về sức khoẻ tâm thần

• Một hệ thống được sử dụng để duy trì hồ sơ của nhữngngười tiếp nhận chăm sóc cho các vấn đề sức khỏe tâm thần

• Trạm thời tiết hoang địa

Ngày đăng: 21/02/2020, 22:33

TỪ KHÓA LIÊN QUAN

w