1. Trang chủ
  2. » Giáo án - Bài giảng

Bài Giảng Nhập Môn Công Nghệ Phần Mềm Full

155 2 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

Tiêu đề Nhập Môn Công Nghệ Phần Mềm
Tác giả Đỗ Thị Thanh Tuyền
Trường học Trường Đại học Công Nghệ Thông Tin - Đại Học Quốc Gia Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài Giảng
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 155
Dung lượng 11,91 MB

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

Nội dung

NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Giảng viên Đỗ Thị Thanh Tuyền Email dothithanhtuyen@gmail com 2 Nhập môn Công nghệ Phần mềm January 15 Nội dung môn học n Tổng quan về Công nghệ phần mềm n Xác định và mô[.]

Trang 1

NHẬP MÔN CÔNG NGHỆ PHẦN MỀM

Giảng viên: Đỗ Thị Thanh Tuyền

Email: dothithanhtuyen@gmail.com

Trang 2

Nội dung môn học

Trang 3

Một số khái niệm cơ bản

n Phần mềm: là một tập hợp những câu lệnh được viết bằng

nhằm tự động thực hiện một số chức năng hoặc giải quyết một bài toán nào đó Phần mềm được thực thi trên máy, thường là máy tính

n Công nghệ (engineering): là cách sử dụng các công cụ, các

kỹ thuật trong cách giải quyết một vấn đề nào đó

n Công nghệ Phần mềm (Software Engineering): là việc áp

dụng các công cụ, các kỹ thuật một cách có hệ thống trong

việc phát triển các ứng dụng dựa trên máy tính

Trang 4

Một số khái niệm cơ bản (tt)

Ø Qui trình phát triển phần mềm: hệ thống các giai đoạn mà

quá trình phát triển phần mềm phải trải qua

Ø Phương pháp phát triển phần mềm: phương pháp thực hiện

Trang 5

Một số khái niệm cơ bản (tt)

Ø Công cụ và môi trường phát triển phần mềm: các phương

tiện hỗ trợ tự động hay bán tự động cho một giai đoạn nào đó trong quá trình xây dựng phần mềm

Trang 6

Phân loại phần mềm

n Phân loại theo phương thức hoạt động:

Ø  Phần mềm hệ thống: hệ điều hành, thư viện liên kết

động, bộ điều vận (driver)

Ø  Phần mềm ứng dụng: phần mềm văn phòng, phần mềm

doanh nghiệp, phần mềm giáo dục, phần mềm giải trí

Ø  Phần mềm chuyển dịch mã: bao gồm trình biên dịch và

trình thông dịch

n Phân loại theo khả năng ứng dụng:

hàng cụ thể: phần mềm hỗ trợ bán hàng, phần mềm điều khiển thiết bị

- Ưu điểm: có tính uyển chuyển, tùy biến cao để đáp ứng

Trang 7

Phân loại phần mềm (tt)

n Phân loại theo khả năng ứng dụng (tt):

- Khuyết điểm: ứng dụng trong chuyên ngành hẹp.

thể, nó có thể được bán cho bất kỳ khách hàng nào

- Ưu điểm: có khả năng ứng dụng rộng rãi cho nhiều

nhóm người sử dụng

- Khuyết điểm: thiếu tính uyển chuyển, tùy biến

Trang 10

Qui trình phát triển phần mềm

u Mô hình thác nước

u Mô hình mẫu

u Mô hình xoắn ốc

=> Mô hình thác nước cải tiến

Trang 11

Mô hình thác nước cổ điển

Xác định yêu cầu

Phân tích

Thiết kế

Cài đặt

Trang 12

Mô hình mẫu

Trang 13

Mô hình xoắn ốc

Phân tích rủi ro

Trang 14

Mô hình thác nước cải tiến

Trang 15

Phương pháp phát triển phần mềm

n Phương pháp hướng chức năng:

thống cần thực hiện

nguyên lý “chia để trị”

Ø  Hạn chế: có khả năng các chức năng trong hệ thống

không tương thích với nhau khi thực hiện thay đổi các thông tin trong hệ thống

Trang 16

Phương pháp phát triển phần mềm (tt)

n Phương pháp hướng dữ liệu:

và mối liên hệ giữa các thực thể

Ø  Hạn chế: phần mềm chỉ có chức năng chính là lưu trữ

và thao tác trên các đối tượng dữ liệu, không quan tâm đến các chức năng khác của hệ thống nên hệ thống thu được sau khi thiết kế có thể thiếu một số chức năng cần thiết

Trang 17

Phương pháp phát triển phần mềm (tt)

n Phương pháp hướng đối tượng:

thống

năng tương tác với nhau

trên dữ liệu của đối tượng

Trang 18

Phần mềm hướng đối tượng

n Phần mềm phải tuân thủ ba tính chất hướng đối tượng:

n Mục đích của việc xây dựng phần mềm hướng đối tượng:

Trang 19

Phần mềm hướng đối tượng (tt)

n Làm sao để xây dựng phần mềm hướng đối tượng?

Dựa trên nguyên lý hướng đối tượng

Trang 20

Công cụ và môi trường phát triển PM

n CASE (Computer Aided Software Engineering) tools

n CASE tools hỗ trợ phát sinh kết quả chuyển giao cho giai đoạn kế tiếp

n CASE tools hỗ trợ việc lưu trữ, cập nhật trên kết quả chuyển giao.

Trang 21

Công cụ và môi trường phát triển PM (tt)

Trang 22

Công cụ và môi trường phát triển PM (tt)

Trang 23

Quá trình phát triển

n Thập niên 1940: Các chương trình cho máy tính được viết bằng

tay

n Thập niên 1950: Các công cụ đầu tiên xuất hiện như phần mềm

biên dịch Macro Assembler và phần mềm thông dịch đã được tạo

ra và sử dụng rộng rãi để nâng cao năng suất và chất lượng Các trình dịch được tối ưư hóa lần đầu tiên ra đời

n Thập niên 1960: Các công cụ của thế hệ thứ hai như các trình

dịch tối ưu hoá và công việc kiểm tra mẫu đã được dùng để nâng cao sản phẩm và chất lượng Khái niệm công nghệ phần mềm đã được bàn thảo rộng rãi

n Thập niên 1970: Các công cụ phần mềm, chẳng hạn trong UNIX

các vùng chứa mã, lệnh make được kết hợp với nhau Số lượng

Trang 24

Quá trình phát triển (tt)

n Thập niên 1980: Các PC và máy trạm ra đời Cùng lúc có sự xuất

hiện của mô hình dự toán khả năng Lượng phần mềm tiêu thụ tăng mạnh

n Thập niên 1990: Phương pháp lập trình hướng đối tượng ra đời

Các quá trình nhanh như là lập trình cực hạn được chấp nhận rộng rãi Trong thập niên này, WWW và các thiết bị máy tính cầm tay phổ biến rộng rãi

n Hiện nay: Các phần mềm biên dịch và ngôn ngữ lập trình cấp cao

như NET, PHP và Java làm cho việc viết phần mềm trở nên dễ dàng hơn nhiều

Trang 25

Quá trình phát triển (tt)

n  Hướng tương lai của công nghệ phần mềm:

Ø  Lập trình định dạng (aspect-oriented programming) sẽ giúp người lập

trình ứng xử với các yêu cầu không liên quan đến các chức năng thực

tế của phần mềm bằng cách cung ứng các công cụ để thêm hay bớt các khối mã ít bị thay đổi trong nhiều vùng của mã nguồn

Lập trình định dạng mô tả các đối tượng và hàm nên ứng xử như thế nào trong một tình huống cụ thể

Ví dụ: Lập trình định dạng có thêm vào các cơ cấu kiểm soát hiệu

chỉnh lỗi, biên bản và khoá cho tất cả các đối tượng của một số kiểu Các nhà nghiên cứu đang tìm cách ứng dụng lập trình định dạng để thiết kế mã cho mục tiêu thông thường

Trang 26

Q & A

Trang 27

NHẬP MÔN CÔNG NGHỆ PHẦN MỀM

Giảng viên: Đỗ Thị Thanh Tuyền

Email: dothithanhtuyen@gmail.com

Trang 28

Nội dung môn học

Trang 29

Yêu cầu phần mềm

n Khái niệm: Yêu cầu phần mềm là các công việc, các nghiệp

vụ được hỗ trợ thực hiện trên máy tính với phần mềm

n Ví dụ: Các yêu cầu của Phần mềm Quản lý cửa hàng:

Trang 30

Phân loại yêu cầu Phần mềm

n Yêu cầu nghiệp vụ:

Trang 31

Phân loại yêu cầu Phần mềm (tt)

n Yêu cầu chất lượng:

Trang 32

Xác định yêu cầu và mô hình hóa yêu cầu

n Mục tiêu: Xác định các yêu cầu phần mềm và cách thức thực

hiện chúng trong thế giới thực

n Kết quả:

- Danh sách các yêu cầu phần mềm;

- Sơ đồ luồng dữ liệu cho từng yêu cầu phần mềm

Trang 33

Các bước thực hiện

Khảo sát hiện trạng

Lập danh sách các yêu cầu phần mềm

Lập sơ đồ luồng dữ liệu

Trang 34

Khảo sát hiện trạng

Mục tiêu của Khảo sát hiện trạng là tìm hiểu về thế giới thực liên quan đến phần mềm.

Phần mềm Thế giới thực

Trang 35

Các hiện trạng cần khảo sát

ð  Hiện trạng nghiệp vụ

ð  Hiện trạng tổ chức

ð  Hiện trạng tin học

Trang 37

Hiện trạng nghiệp vụ

n Lập danh sách các nghiệp vụ của từng bộ phận

n Mô tả nghiệp vụ:

-  Tên công việc;

-  Biểu mẫu liên quan;

-  Qui định liên quan;

-  Người thực hiện;

-  Tần suất thực hiện;

-  Thời điểm thực hiện;

Trang 38

Hiện trạng tổ chức

n Sơ đồ tổ chức của các phòng ban, bộ phận

n Chú trọng các bộ phận có giao tiếp đối tác bên ngoài

Trang 39

Hiện trạng tin học

n Hệ thống phần cứng;

n Hệ thống phần mềm;

n Con người.

Trang 40

Lập danh sách các yêu cầu phần mềm

Yêu cầu Nghiệp vụ

Yêu cầu Chất lượng

Yêu cầu

Hệ thống

Trang 41

Lập Sơ đồ luồng dữ liệu

n Khái niệm: Sơ đồ luồng dữ liệu (DFD-Data Flow Diagram) là

sơ đồ biểu thị các thông tin liên quan đến việc thực hiện các nghiệp vụ trong thế giới thực bên trong máy tính

n Mục tiêu: Mô hình hóa thế giới thực với các yêu cầu đã xác

định

n Kết quả:

Trang 42

Danh sách các ký hiệu

Tên Tên Tên

Tên

Tên Tên

Tên Tên

Người dùng/Thiết bị Khối xử lý

Luồng dữ liệu

Bộ nhớ phụ

Trang 43

Sơ đồ luồng dữ liệu tổng quát

Trang 44

n D1: Thông tin xuất phát từ người dùng

n D2: Thông tin xuất phát từ thiết bị nhập khác chuẩn

n D3: Thông tin xuất phát từ bộ nhớ phụ

n D4: Thông tin ghi xuống bộ nhớ phụ

n D5: Thông tin đưa ra thiết bị xuất khác chuẩn

n D6: Thông tin trả về cho người dùng

***D (Data): là thông tin, không phải hành động

Sơ đồ luồng dữ liệu tổng quát (tt)

Trang 45

Sơ đồ luồng dữ liệu cho yêu cầu Lập thẻ Độc giả trong đề tài

Quản lý Thư viện:

Trang 46

Biểu mẫu và qui định liên quan:

Trang 47

n D1: Thông tin về Thẻ độc giả (Họ tên, Loại độc giả,

Ngày sinh, Địa chỉ, Email, Ngày lập thẻ)

n D2: Không có

n D3: Danh sách các Loại độc giả, thời hạn thẻ, tuổi tối

đa, tuổi tối thiểu

n D4: D1 + Ngày hết hạn

n D5: D4

Trang 49

n B7: Nếu không thỏa qui định -> B11

Trang 50

Q & A

Trang 51

NHẬP MÔN CÔNG NGHỆ PHẦN MỀM

Giảng viên: Đỗ Thị Thanh Tuyền

Email: dothithanhtuyen@gmail.com

Trang 52

Nội dung môn học

Trang 54

Thiết kế Hệ thống

n Kiến trúc hệ thống

n Các mô hình kiến trúc

Trang 55

Kiến trúc hệ thống

n  Khái niệm:

Hệ thống được cấu tạo bởi các thành phần nào và mối liên hệ

giữa các thành phần đó

n  Tầm quan trọng của kiến trúc:

Ø   Ảnh hưởng hiệu quả hoạt động và an toàn hệ thống:

Trang 59

Các mô hình kiến trúc (tt)

n   Mô hình Client-Server:

Ø   Đặc điểm:

- Phân làm hai phân hệ Client và Server

- Server cung cấp dịch vụ, Client sử dụng dịch vụ

- Client gửi các yêu cầu đến Server

Ø   Ưu điểm:

- Chia sẻ dữ liệu và đồng bộ

- Dễ bảo trì, nâng cấp

Ø   Khuyết điểm:

Trang 61

Ví dụ Mô hình Client-Server

Trang 62

- Business layer:

+ Thư viện xử lý + Application server

- Presentation layer:

Trang 63

Các mô hình kiến trúc (tt)

n  Mô hình 3-Tiers (tt)

Ø   Đặc điểm (tt)

-   Tương tác theo quy tắc “Thang máy”: không tương tác vượt tầng

Ø   Ưu khuyết điểm: tương tự mô hình Client-Server

*** Xử lý được chia nhỏ và dùng chung.

n Mô hình đa tầng:

Trang 64

Ví dụ Mô hình 3-Tiers

Trang 65

Các mô hình kiến trúc (tt)

n  Mô hình Peer-to-Peer:

Ø   Đặc điểm:

-   Là mô hình phân tán, triển khai trên nhiều máy (nút)

-   Các nút tương tác được với nhau, mỗi nút đóng vai Client – Server

-   Chia sẻ dữ liệu và xử lý

Ø   Ưu điểm:

- Dễ triển khai, không cần server trung tâm

- Không gian lưu trữ và khả năng xử lý dàn trải

Ø Khuyết điểm:

Trang 66

Thiết kế Đối tượng

n Đối tượng

n Phân loại đối tượng

n Các bước thiết kế đối tượng

Trang 68

Phân loại đối tượng

n Đối tượng nghiệp vụ: business/domain object

Dữ liệu + xử lý nghiệp vụ

n Đối tượng hệ thống: system object

Dữ liệu + xử lý hỗ trợ

n Đối tượng giao diện người dùng: UI object

Dữ liệu + xử lý tương tác người dùng

Trang 69

Các bước thiết kế đối tượng

n Xây dựng kịch bản tương tác ban đầu

n Xác định đối tượng dựa trên các tương tác của kịch bản ban đầu

n Chi tiết hoá kịch bản ban đầu có sự tham gia của các đối tượng đã xác định:

Ø  Phân tích các tương tác thành các xử lý

Ø  Đối tượng nhận xử lý sẽ chứa các phương thức tương ứng với các xử lý này

Trang 70

Ví dụ

Trang 71

Ví dụ (tt)

Trang 72

Ví dụ (tt)

Trang 73

Q & A

Trang 74

NHẬP MÔN CÔNG NGHỆ PHẦN MỀM

Giảng viên: Đỗ Thị Thanh Tuyền

Email: dothithanhtuyen@gmail.com

Trang 75

Nội dung môn học

n Thiết kế phần mềm: - Thiết kế DỮ LIỆU

Trang 76

Thiết kế dữ liệu

n  Mục tiêu của việc thiết kế dữ liệu là nhằm mô tả cách thức

tổ chức lưu trữ dữ liệu của phần mềm bên trong máy tính

n  Kết quả của quá trình thiết kế dữ liệu là xây dựng được sơ

đồ Logic

n  Khi thiết kế dữ liệu, ta quan tâm đến ba vấn đề sau:

Ø  Thiết kế dữ liệu với tính đúng đắn

Ø  Thiết kế dữ liệu với tính tiến hóa

Ø  Thiết kế dữ liệu với yêu cầu hiệu quả về mặt truy suất và

Trang 78

A

Sơ đồ Logic (tt)

n  Các ký hiệu (tt):

ð  Một phần tử của bảng A xác định duy nhất một phần tử của bảng B

ð  Ngược lại, một phần tử của bảng B có thể tương

ð  Bảng A chứa thuộc tính khóa của bảng B (là khóa ngoại của bảng A và là khóa chính của bảng B)

B

Trang 79

Sơ đồ Logic (tt)

ð Nếu quan hệ giữa A và B là quan hệ 1-1 thì có thể gộp hai table A và B lại thành 1 table duy nhất chứa tất cả thuộc tính của A và B

Quan hệ 1-n không làm được việc này

ð   Nếu quan hệ giữa A và B là quan hệ n-n:

Tách quan hệ này thành 2 quan hệ 1-n bằng cách thêm vào 1 table trung gian chứa khóa chính của

Trang 81

DANGKY

MaSV MaMonHoc

HocKy NamHoc DiemTB

Trang 82

Xác định Khoá chính

n  3 Tính chất của Khoá chính:

ü  Tối thiểu;

ü  Không trùng lắp (bao gồm NOT NULL);

ü  Không thay đổi theo thời gian

n  Thuộc tính trừu tượng:

Là thuộc tính không xuất hiện trong thế giới thực, chỉ có

trong phần mềm

Sử dụng thuộc tính trừu tượng để làm khoá chính cho table

Trang 83

Xác định Khoá chính (tt)

n  Khi nào cần sử dụng thuộc tính trừu tượng?

không chọn được thuộc tính (hoặc tổ hợp thuộc tính) nào thoả các tính chất của khóa chính

trở lên

Trong trường hợp này vẫn phải kiểm tra dữ liệu trùng trên bộ thuộc tính có thể tham gia làm khoá

Trang 84

Xác định Khoá chính (tt)

DAILY

MaDaiLy

MaLoaiDaiLy TenDaiLy DiaChi DienThoai

Trang 85

Xác định Khoá chính (tt)

n  Xác định kiểu dữ liệu cho thuộc tính khóa:

xét khả năng mở rộng

n  Khi tạo giá trị cho khoá chính, không nên dùng lại một

mã đã sử dụng cho dù đối tượng có mã đó đã bị xóa

Trang 86

Các kiểu mã hóa

Ø  Mã hóa liên tiếp: 1,2,3…

Ø  Mã hóa theo lát: dùng từng lát cho từng nhóm đối

tượng, trong mỗi lát thường dùng kiểu mã hóa liên tiếp

Ø  Mã hóa phân đoạn: mã được phân thành nhiều đoạn,

mỗi đoạn mang một ý nghĩa riêng

Ø  Mã hóa phân cấp: là mã hóa phân đoạn, mỗi đoạn trỏ

đến một tập hợp các đối tượng và các đối tượng này được phân cấp theo thứ tự từ trái qua phải

Ø  Mã hóa diễn nghĩa: gán một tên ngắn gọn nhưng hiểu

được cho từng đối tượng

Trang 87

Bảng THAMSO

n  Chức năng: dùng để lưu các giá trị trong các qui định mà các

n  Các giá trị này dùng trong các biểu thức tính toán hoặc

kiểm tra

n  Trên table THAMSO chỉ có các thao tác select và update ,

không có insert và delete sau khi đã hoàn tất việc thiết kế

Trang 88

Bảng THAMSO (tt)

n  Cấu trúc của bảng THAMSO:

C1: THAMSO(TenThamSo,GiaTri)

- Các tham số là các record của table THAMSO

- Qui đổi giá trị của tham số có kiểu Boolean về kiểu số:

True ó 1; False ó 0

- Đặt tên các tham số theo qui định về cách đặt tên của thuộc tính

C2: THAMSO(ThamSo1,ThamSo2,…,ThamSox)

- Các tham số là các thuộc tính của table THAMSO

- Mỗi thuộc tính có kiểu dữ liệu riêng, vì vậy không phải qui đổi giá trị của tham số có kiểu Boolean về kiểu số

Trang 89

Lưu ý

n  Tên Table: viết bằng chữ IN HOA, không dấu, không

có khoảng cách giữa các từ

Ví dụ: NHANVIEN, KHACHHANG…

n  Tên thuộc tính: viết hoa các ký tự đầu của mỗi từ,

không dấu, không có khoảng cách giữa các từ

Ví dụ: HoTen, NgaySinh, DiaChi…

n  Đặt tên table, tên thuộc tính của table súc tích, cô

đọng và nhất quán trong toàn bộ CSDL

Trang 90

Thuật toán thiết kế dữ liệu

n  Thiết kế dữ liệu dựa vào sơ đồ luồng dữ liệu của yêu

cầu phần mềm đang xét

n  Các bước thực hiện:

v  Bước 1: Xét yêu cầu phần mềm thứ I

Ø  Thiết kế dữ liệu với tính đúng đắn

Ø  Thiết kế dữ liệu với tính tiến hóa

v  Bước 2: Xét yêu cầu phần mềm thứ II

Trang 91

Thuật toán thiết kế dữ liệu (tt)

Ø  Thiết kế dữ liệu với tính đúng đắn:

- Biểu mẫu liên quan: BMx

- Sơ đồ luồng dữ liệu: SĐx

- Các thuộc tính mới:

bảng đã có, trong trường hợp không bố trí được thì phải tạo bảng mới để chứa các thuộc tính mới này

- Các thuộc tính trừu tượng:

Trang 92

Thuật toán thiết kế dữ liệu (tt)

Ø  Thiết kế dữ liệu với tính tiến hóa:

- Qui định liên quan: QĐx

- Các thuộc tính mới:

- Các tham số mới:

bảng đã có, trong trường hợp không bố trí được thì phải tạo bảng mới để chứa các thuộc tính mới này

- Các thuộc tính trừu tượng:

Trang 93

Thiết kế dữ liệu với yêu cầu hiệu quả về

mặt truy suất và lưu trữ

- Hiệu quả về mặt truy suất:

+ Lưu ý: giá trị này phải được tự động cập nhật khi có những thay đổi liên quan

- Hiệu quả về mặt lưu trữ:

+ Tách bảng có các giá trị cố định được lặp lại nhiều lần thành 2

tin chi tiết

+ Thêm đối tượng mới và sử dụng mã của đối tượng thay cho

Ngày đăng: 30/03/2023, 12:11

TỪ KHÓA LIÊN QUAN