Data, databases, and the software engineering process

11 0 0
Tài liệu đã được kiểm tra trùng lặp
Data, databases, and the software engineering process

Đ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

Dữ liệu, như chúng tôi sử dụng thuật ngữ này, là sự thật về điều gì đó hoặc ai đó. Ví dụ: một người có tên, địa chỉ và giới tính. Một số dữ liệu (sự thật) về một người cụ thể có thể là “Mary Jo Davis,” “123 4th St.,”,"Nữ giới." Nếu chúng ta có một danh sách tên, địa chỉ và giới tính của một số người, chúng ta sẽ có một tập hợp thông tin về một số người. Cơ sở dữ liệu là một tập hợp các dữ liệu liên quan. Để “bộ thông tin thực tế về một số người” này được gọi là một cơ sở dữ liệu, chúng tôi mong đợi những người trong cơ sở dữ liệu có nội dung gì đó chung - nghĩa là chúng "có liên quan" theo một cách nào đó. Ở đây liên quan không ngụ ý một mối quan hệ gia đình, mà đúng hơn là một cái gì đó giống như “những người chơi gôn”, “những

Trang 1

1.1 DỮ LIỆU

Dữ liệu, như chúng tôi sử dụng thuật ngữ này, là sự thật về điều gìđó hoặc ai đó Ví dụ: một người có tên, địa chỉ và giới tính Một sốdữ liệu (sự thật) về một người cụ thể có thể là “Mary Jo Davis,”“123 4th St.,”,"Nữ giới." Nếu chúng ta có một danh sách tên, địachỉ và giới tính của một số người, chúng ta sẽ có một tập hợpthông tin về một số người Cơ sở dữ liệu là một tập hợp các dữ liệuliên quan Để “bộ thông tin thực tế về một số người” này được gọilà một cơ sở dữ liệu, chúng tôi mong đợi những người trong cơ sởdữ liệu có nội dung gì đó chung - nghĩa là chúng "có liên quan"theo một cách nào đó Ở đây liên quan không ngụ ý một mốiquan hệ gia đình, mà đúng hơn là một cái gì đó giống như “nhữngngười chơi gôn”, “những người nuôi chó” hoặc “những người tôiđã phỏng vấn trên đường phố hôm nay." Trong một “cơ sở dữ liệuvề con người”, người ta mong đợi mọi người có một số

đặc điểm chung gắn kết chúng lại với nhau Một “tập hợp các sựkiện về một số người” không phải là cơ sở dữ liệu cho đến khi đặcđiểm chung cũng được xác định Nói cách khác: Tại sao tên và địachỉ của những người này lại được giữ trong một danh sách?

1.2 XÂY DỰNG CƠ SỞ DỮ LIỆU

Làm thế nào để chúng ta xây dựng một cơ sở dữ liệu? Giả sửbạn được yêu cầu tập hợp cơ sở dữ liệu về các món đồ người tacất giữ trong tủ đựng thức ăn Bạn sẽ làm như thế nào? Bạn cóthể lấy một mảnh giấy và bắt đầu liệt kê những món đồ bạn nhìnthấy Khi hoàn tất, bạn sẽ có cơ sở dữ liệu về các món đồ trong tủđựng thức ăn Thật đơn giản bạn đã có một bộ sưu tập dữ liệu liên

Trang 2

quan Nhưng hãy tự hỏi—Đây có phải là cơ sở dữ liệu tốt không?Cách tiếp cận của bạn để xây dựng cơ sở dữ liệu có phải là mộtphương pháp tốt không? Câu trả lời cho những câu hỏi này phụthuộc một phần vào lý do tại sao và cách bạn xây dựng danh sáchcũng như ai sẽ sử dụng danh sách đó để làm gì Ngoài ra, có phảibất cứ ai sử dụng cơ sở dữ liệu này đều có thể tìm thấy thông tinmột cách dễ dàng? Nếu bạn có kiến thức hơn, bạn sẽ tự hỏi mìnhcách tốt nhất để xây dựng cơ sở dữ liệu này trước khi bạn lấy giấyvà bắt đầu ghi danh sách các mục.

Khi xử lý phần mềm và hoạt động liên quan đến máy tínhnhư cơ sở dữ liệu, tồn tại một môn khoa học về “cách thực hiện”được gọi là sofware engineering (công nghệ phần mềm (SE)) SElà một quá trình xác định hệ thống và viết phần mềm Để thiết kếmột cơ sở dữ liệu tốt, chúng tôi sẽ sử dụng một số ý tưởng từ SE.

Trong chương này, chúng tôi trình bày mô tả ngắn gọn về SEkhi nó liên quan đến việc lập kế hoạch cho cơ sở dữ liệu củachúng ta Sau phần thông tin cơ bản/tổng quan về SE này, chúngta khám phá các mô hình cơ sở dữ liệu và đặc biệt là mô hình cơsở dữ liệu quan hệ Mặc dù trong lịch sử có nhiều loại mô hình cơsở dữ liệu, hầu hết các cơ sở dữ liệu ngày nay đều sử dụng môhình được gọi là “cơ sở dữ liệu quan hệ” Trọng tâm của chúng tôitrong cuốn sách này là đưa ra một phương pháp dựa trên SE đểthiết kế một cơ sở dữ liệu quan hệ hợp lý.

1.3 QUY TRÌNH KỸ THUẬT PHẦN MỀM LÀ GÌ?

Thuật ngữ sofware engineering (công nghệ phần mềm) đềcập đến một quá trình xác định, thiết kế, viết, cung cấp, bảo trì và

Trang 3

cuối cùng ngừng sử dụng phần mềm Software engineer thườngđề cập đến “vòng đời” của phần mềm; phần mềm có sự khởi đầuvà sự kết thúc Có rất nhiều tài liệu tham khảo tuyệt vời về chủ đềS.E Một số được tham khảo ở cuối chương này.

Một số tác giả sử dụng thuật ngữ công nghệ phần mềm đồngnghĩa với “phân tích và thiết kế hệ thống”, nhưng điểm cơ bản làbất kỳ hệ thống thông tin nào cũng cần có một số quy trình đểphát triển nó một cách chính xác SE trải dài nhiều nhiệm vụ củahệ thống thông tin Nhiệm vụ mà chúng ta quan tâm chủ yếu ởđây là xác định và thiết kế cơ sở dữ liệu “Xác định cơ sở dữ liệu”có nghĩa là ghi lại những gì cơ sở dữ liệu phải chứa và cách thựchiện nhiệm vụ thiết kế tổng thể.

Ý tưởng cơ bản trong SE là xây dựng phần mềm một cáchchính xác; một loạt các bước hoặc giai đoạn cần triển khai triểnxuyên suốt một “vòng đời” của phần mềm Các bước này đảmbảo rằng quá trình suy nghĩ đi trước hành động—suy nghĩ thôngqua “cái gì là cần thiết” đặt trước “phần mềm nào được viết” Hơnnữa, “suy nghĩ” trước khi hành động” đòi hỏi tất cả các bên thamgia phát triển phần mềm phải hiểu và trao đổi với nhau Một điểnhình của quan điểm “suy nghĩ trước khi hành động” chính là môhình “thác nước”; Quá trình phát triển phần mềm được cho là diễnra theo hướng có định hướng mà không bị lùi lại Như một thácnước, một khi điểm quyết định được thông qua, rất khó có thể đểquay ngược và thực hiện lại các bước trước đó.

Nói chung, bước đầu tiên trong quy trình SE bao gồm việcxác định chính thức những gì phải được thực hiện Chúng ta có thể

Trang 4

chia bước đầu tiên này thành hai bước: (a) làm sáng tỏ yêu cầu và(b) thống nhất một tài liệu đặc tả Ý tưởng thác nước ngụ ý rằngmột khi đặc tả của phần mềm được được người dùng viết và chấpnhận, nó không thể thay đổi hoặc xem lại mà hơn hết là được sửdụng làm cơ sở cho việc thiết kế Sáng tỏ yêu cầu là nơi bạn nóivới người xây dựng phần mềm những gì bạn muốn Tài liệu đặc tảlà một tuyên bố chính thức về mong muốn của bạn.

Để minh họa, giả sử bạn tiếp xúc với một người xây dựng.Bạn nói bạn muốn có một căn nhà ba phòng ngủ, hai phòng tắm.Người xây dựng sau đó đặt câu hỏi- một hoặc hai tầng, gạch hoặcvách ngoài, bạn muốn công tắc đèn ở đâu, sàn như thế nào, v.v.Người xây dựng sau đó sẽ thu thập tất cả các ghi chú về mongmuốn của bạn, sắp xếp thông tin và trình bày các ghi chú để bạnphê duyệt Việc người xây dựng đặt câu hỏi được gọi là “làm sángtỏ” Sau khi người xây dựng đưa ra cho bạn những gì người xâydựng nghĩ là mong muốn của bạn, “danh sách mong muốn cuốicùng đã thương lượng,” bạn có một tài liệu đặc tả Chắc chắn phảicó một cuộc đối thoại giữa bạn và người xây dựng Đến một lúcnào đó, bạn và người xây dựng hiểu bạn muốn gì, và mong muốncủa bạn được thực hiện để người xây dựng có thể tiếp tục quátrình thiết kế ngôi nhà Sự phát triển của phần mềm và cơ sở dữliệu hoạt động giống như ví dụ về việc xây ngôi nhà Làm cho quytrình xây nhà trở nên chính thức để đảm bảo người xây dựngkhông lãng phí thời gian để thiết kế một cái gì đó bạn khôngmuốn Điều tương tự cũng đúng với việc thiết kế cơ sở dữ liệu.

Trang 5

Sau khi đã thống nhất tài liệu đặc tả, bước tiếp theo là thiếtkế ngôi nhà theo tài liệu đặc tả Khi ngôi nhà được thiết kế và bảnthiết kế được rút ra, việc xem lại thông số kỹ thuật là không đượcchấp nhận ngoại trừ những lỗi nhỏ cần thay đổi Phải có “cuộc gặpgỡ giữa các ý kiến” ở cuối giai đoạn xác định thông số kỹ thuật đểdi chuyển cùng với thiết kế (bản thiết kế) của ngôi nhà để đượcxây dựng Việc phát triển phần mềm và cơ sở dữ liệu cũng vậy.Phần mềm sản xuất là một quy trình vòng đời—phần mềm (cơ sởdữ liệu) được tạo ra, sử dụng, duy trì và cuối cùng đã dừng lại.

Những “người chơi” trong vòng đời phát triển phần mềm cóthể được đặt thành hai phe, thường được gọi là người dùng và nhàphân tích Phần mềm được nhà phân tích thiết kế cho người dùngtheo thông số kỹ thuật của người dùng Trong bài này, chúng tasẽ coi mình là nhà phân tích đang cố gắng trình bày những gìngười dùng nghĩ họ muốn Nhớ lại ví dụ trong chương này về danhsách sách ở thư viện gia đình Ở đây, người yêu cầu danh sách làngười dùng; người lập danh sách sách là nhà phân tích (hay còngọi là người viết phần mềm, người xây dựng hoặc người thiết kế).

Không có sự thống nhất chung giữa các kỹ sư phần mềm vềsố bước hoặc giai đoạn chính xác trong mô hình phát triển phầnmềm Các mô hình khác nhau tùy theo sự quan tâm của nhànghiên cứu SE ở phần này hay phần khác trong quá trình Một môtả rất ngắn gọn về quy trình phần mềm như sau: (Phần mềm dướiđây có thể được hiểu là cơ sở dữ liệu)

Bước 1 (hoặc Giai đoạn 1): Yêu cầu Tìm hiểu xem người dùng

muốn/cần gì “Thủ tục tìm ra” được gọi là “làm sáng tỏ”.

Trang 6

Bước 2: Đặc tả yêu cầu kỹ thuật Viết ra mong muốn/nhu cầu

của người dùng một cách chính xác nhất Ở bước này, người dùngvà nhà phân tích không chỉ ghi lại những gì mong muốn mà cònchi phí là bao nhiêu và mất bao lâu để đi vào sử dụng Nguyên tắccơ bản của SE là tạo ra phần mềm đúng thời gian và đúng ngânsách Vì vậy, ngoài việc làm cho nhau hiểu những gì muốn/cần,một bước rất cần thiết là xác định ngân sách và mốc thời gian tạora sản phẩm.

Bước 2a: Phản hồi đặc tả kỹ thuật cho người dùng Một sự

xem xét chính thức đặc tả kỹ thuật được thực hiện để xem liệu (a)người dùng có đồng ý nhà phân tích đã đưa ra chính xác những gìngười dùng muốn và (b) nhà phân tích hài lòng rằng các yêu cầucủa người dùng được xác định rõ ràng.

Bước 2b: Làm lại đặc tả kỹ thuật nếu cần và quay lại bước2a cho đến khi

nhà phân tích và người dùng đều hiểu nhau và đồng ý tiếp tụcthực hiện Hãy nhớ mô hình thác nước—khi đã kết thúc giai đoạnđặc tả, người ta sẽ không thể quay ngược dòng.

Bước 3: Thiết kế—Phần mềm hoặc cơ sở dữ liệu được thiếtkế để đáp ứng các yêu cầu kỹ thuật từ bước 2 Là nhà xây

dựng nội bộ, giờ đây nhà phân tích (người xây dựng) biết những gìđược yêu cầu, vì vậy kế hoạch cho phần mềm được chính thứchóa - một kế hoạch chi tiết được soạn thảo.

Bước 3a: Thiết kế phần mềm được kiểm tra độc lập dựatrên đặc tả kỹ thuật Việc kiểm tra độc lập thiết kế sẽ chứng

minh được nhà phân tích có đáp ứng các đặc tả kỹ thuật hay

Trang 7

không Khi bước 3 bắt đầu, việc hồi lại là khó khăn nhất Có thểmột vài đặc điểm kỹ thuật nhỏ có thể được xem lại, nhưng nhìnchung ý tưởng là phải luôn đi về phía trước sau khi kết thúc mỗibước Sau khi hoàn thành bước 3a, cả người dùng và nhà phântích đều biết phải làm gì kế tiếp Nếu trong bối cảnh xây nhà thìbản thiết kế nhà đã được lập ra.

Một điểm cuối cùng cần lưu ý: Trong phần đặc tả kỹ thuật,ngân sách và dòng thời gian được nhà phân tích đề xuất và đượcngười dùng chấp nhận Trong giai đoạn thiết kế, phần ngân sáchnày của thiết kế tổng thể đôi khi được điều chỉnh lại Tất cả phầnmềm phát triển cần có tiền bạc và thời gian Điều quan trọngkhông chỉ là sản xuất chính xác một sản phẩm nhất định mà còncần phải làm rõ cho tất cả các bên tham gia về chi phí và thờigian tiêu tốn cho dự án đó.

Bước 4: Phát triển Phần mềm được viết; một cơ sở dữ liệu được

tạo ra.

Bước 4a: Trong giai đoạn phát triển, phần mềm được kiểm tra so

với thiết kế cho đến khi nhà phân tích hiểu rõ thiết kế đó Ghi chú,thông số kỹ thuật ở bước 2 đã có từ lâu và chỉ có những sửa đổinhỏ về thiết kế sẽ được chấp nhận ở đây hoặc ở Bước 3 Điểmquan trọng ở bước 4 là xây dựng phần mềm theo thiết kế từ bước3 Trong trường hợp của chúng tôi, cơ sở dữ liệu được tạo và phổbiến trong giai đoạn này.

Bước 5: Thực hiện Phần mềm được chuyển giao cho người dùng

sử dụng

trong ứng dụng.

Trang 8

Bước 5a: Người dùng kiểm tra phần mềm và chấp nhận hoặc từ

chối nó Câu hỏi đặt ra là “Cơ sở dữ liệu có được tạo chính xáckhông? Nó có đáp ứng các đặc điểm kỹ thuật và thiết kế không?Trong trường hợp của chúng ta, cơ sở dữ liệu được truy vấn, dữliệu được thêm hoặc xóa và người dùng chấp nhận những gì đãđược tạo Một người có thể nghĩ rằng đây là sự kết thúc của vòngđời phần mềm, nhưng có hai bước quan trọng hơn.

Bước 6: Bảo trì Việc bảo trì được thực hiện trên phần mềm cho

đến khi nó không còn sử dụng được Cho dù được quy định, thiếtkế và viết tốt đến đâu, một số các phần của phần mềm có thể bịlỗi Trong cơ sở dữ liệu, một số mục dữ liệu có thể cần thiết đểthêm vào hoặc xóa đi Có lẽ sẽ cần phải có một số bảng phụ tạothêm Một số phần của cơ sở dữ liệu có thể cần được sửa đổi theothời gian để phù hợp với người dùng hoặc để nâng cao hiệu suất.Thời gian thay đổi, yêu cầu và nhu cầu cũng thay đổi theo Việcbảo trì rất tốn thời gian và là phần tiêu tốn nhiều của quy trìnhphần mềm- đặc biệt nếu quy trình SE chưa được thực hiện tốt.Bảo trì bao gồm việc sửa các lỗi phần mềm ẩn cũng như nâng caochức năng của phần mềm.

Trong cơ sở dữ liệu, các mục dữ liệu mới thường được yêucầu; một số dữ liệu cũ có thể không còn cần thiết nữa Phần cứngthay đổi Hệ điều hành thay đổi Bản thân công cụ cơ sở dữ liệu, làphần mềm, cũng thường được nâng cấp - các phiên bản mới phảiluôn được cập nhật trên thị trường Dữ liệu trong cơ sở dữ liệuphải phù hợp với sự thay đổi và quy trình thay đổi dữ liệu trong cơsở dữ liệu phải được thực hiện.

Trang 9

Bước 7: Kết thúc phần mềm Bất cứ phần mềm nào được viết

ra đều trở thành lỗi thời Hãy nghĩ về của các trò chơi điện tử cũđã từng là công nghệ tiên tiến và giờ đã trở nên lỗi thời và lạchậu Cơ sở dữ liệu máy tính và công nghệ nói chung đều đangphát triển Gói phần mềm cũ mà bạn sử dụng trên một số máytính cá nhân cũ không hoạt động được nữa vì hệ điều hành đãđược cập nhật, máy tính đã lỗi thời và phần mềm cũ phải được gỡbỏ Về cơ bản, quá trình SE phải bắt đầu lại từ đầu với các thôngsố kỹ thuật mới Điều này cũng đúng với cơ sở dữ liệu và hệ thốngthiết kế Đôi khi, điều tiết kiệm chi phí nhất cần làm là bắt đầu lạitừ đầu.

1.4 SƠ ĐỒ MỐI QUAN HỆ THỰC THỂ VÀ VÒNG ĐỜI KỸ THUẬT PHẦN MỀM

Cuốn sách này tập trung vào các bước từ 1 đến 3 của vòngđời phần mềm cho cơ sở dữ liệu Cơ sở dữ liệu là tập hợp các dữliệu có liên quan Khái niệm về dữ liệu liên quan có nghĩa là cơ sởdữ liệu lưu trữ thông tin về một tổ chức: một doanh nghiệp, mộtcơ quan, một nhóm người hoặc các quy trình liên quan Ví dụ, mộtcơ sở dữ liệu có thể chứa dữ liệu về Acme Plumbing và liên quanđến khách hàng và các cuộc gọi dịch vụ Một cơ sở dữ liệu khác cóthể là về các thành viên và hoạt động của một nhóm nhà thờtrong thị trấn Sẽ không phù hợp nếu có dữ liệu về nhóm nhà thờvà Acme Plumbing trong cùng một cơ sở dữ liệu vì hai tổ chức nàykhông liên quan đến nhau Một lần nữa, cơ sở dữ liệu là một tậphợp các dữ liệu liên quan Việc lưu giữ một cơ sở dữ liệu cho từngthực thể trên là điều dễ dàng, nhưng

Trang 10

không nên lưu chúng trong cùng một cơ sở dữ liệu.

Các hệ thống cơ sở dữ liệu thường được mô hình hóa bằng sơđồ mối quan hệ thực thể (ER) làm bản thiết kế mà từ đó cơ sở dữliệu thực tế được tạo ra; các kế hoạch chi tiết hoàn thiện là đầu racủa giai đoạn thiết kế Sơ đồ ER là công cụ của nhà phân tích đểlập sơ đồ dữ liệu sẽ được lưu trữ trong hệ thống cơ sở dữ liệu Giaiđoạn 1, giai đoạn yêu cầu, có thể khá khó chịu khi nhà phân tíchphải khơi gợi nhu cầu và mong muốn từ người dùng Người dùngcó thể “hiểu biết về máy tính” hoặc không và có thể biết hoặckhông biết các khả năng của phần mềm hệ thống Nhà phân tíchthường gặp khó khăn trong việc giải mã nhu cầu của người dùngvà muốn tạo ra một đặc tả kỹ thuật (a) có ý nghĩa đối với cả haibên (người dùng và nhà phân tích) và (b) cho phép nhà phân tíchthiết kế một cách hiệu quả.

Trong thế giới thực, người dùng và nhà phân tích đều có thểlà chuyên gia, nhưng người dùng (hoặc nhóm người dùng) phảitruyền đạt ý tưởng của họ cho nhà phân tích (hoặc nhóm nhàphân tích) Người dùng phải thể hiện những gì họ muốn và nhữnggì họ nghĩ họ cần; Các nhà phân tích phải gợi ra những mongmuốn và nhu cầu này, ghi lại chúng và lập kế hoạch để hiện thựchóa các yêu cầu của người dùng.

Mô tả của người dùng có thể mơ hồ và không có cấu trúc.Thông thường, người dùng có hiểu biết rõ về công việc kinh doanhcũng như mô hình kinh doanh của họ Trong khi đó người phântích thường không biết gì về công việc kinh doanh nhưng hiểuđược phần cuối của vấn đề trên máy tính Đối với những người

Ngày đăng: 08/05/2024, 08:33

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

Tài liệu liên quan