1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giới thiệu về Visual Paradigm

19 4.1K 1

Đ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

KĨ Thuật Lập Trình Sinh viên :Nguyễn Thanh Dũng Lớp : Tin Pháp K53 MSSV : 20080505 Lịch sử phát triển tin học gắn liền với việc tìm kiếm phương pháp lập trình để giúp cho người sử dụng triển khai cac ứng dụng cách dễ dàng , nhanh chóng hiệu Như biết , loại máy tính (sử dung loại CPU – Central Processing Unit xác định) hiểu thực trực tiếp lệnh trương trình theo loại noon ngữ dành riêng gọi noon ngữ máy Tuy nhiên thực ứng dụng thực tế mà phải viết chương trình trực tiếp ngôn ngữ máy phức tạp , đòi hỏi thời gian công thức lớn , nhiều thực Vì vây người ta tìm cách xây dựng ngôn ngữ lập trình riêng , gần với ngôn ngữ tự nhiên , thuận lợi cho việc triển khai ứng dụng Khi thực chương trình ngôn ngữ phải qua bước dịch chương trình sang ngôn ngữ máy để thực Từ trước đến có nhiều ngôn ngữ lập trình đời va phục vụ đắc lực cho việc triển khai ưng dụng máy tính Sau , tìm hiểu mô hinh lập trình sau : • Visual paradigm • Parallel paradigms • Concurrent programming • Distributed programming • Extreme programming A.Visual Paradigm 1.Giới thiệu Visual Paradigm Lĩnh vực lập trình trực quan kết hợp đồ hoạ máy tính, ngôn ngữ lập trình tương tác người máy Nó tạo từ nhiều nghiên cứu độc lập có nhiều công trình nghiên cứu xem tiên phong lĩnh vực Một nghiên cứu lĩnh vực hệ thống Sketchpad Ivan Sutherland vào năm 1963 Sketchpad thiết kế thực máy tính TX-2 MIT xem ứng dụng đồ hoạ máy tính Hệ thống cho phép người sử dụng làm việc với bút vẽ để tạo hình ảnh không gian chiều (2D) đơn giản đường thẳng, đường tròn xử lý chép phép biến đổi hình học khác hình vẽ Từ năm 1965, Em trai Ivan Sutherland William sử dụng máy tính TX-2 để phát triển ngôn ngữ đặc tả dòng liệu trực quan đơn giản Hệ thống cho phép người sử dụng khởi tạo, dò lỗi thực thi biểu đồ dòng liệu môi trường trực quan Kế tiếp , năm 1975 , với việc công bố luận án tiến sĩ David Canfield Smith với tiêu đề “Pygmalion: A Creative Programming Environment” Công việc Smith đánh dấu khởi đầu loạt nghiên cứu lĩnh vực ngày hôm 2.Phân loại ngôn ngữ lập trình trực quan Khi lĩnh vực VPL chín muồi, ngày nhiều nghiên cứu hướng đến việc sáng tạo mạnh mẽ tiêu chuẩn để phân loại công việc lĩnh vực Một hệ thống phân loại không giúp nhà nghiên cứu việc xác định công việc liên quan mà cung cấp ranh giới để so sánh đánh giá hệ thống khác Mộtsố tên tuổi có đóng góp quan trọng lĩnh vực Chang, Shu, Burnett Họ phân loại đưa định nghĩa để xác định đặc trưng nhóm VPL Sau phân loại ngôn ngữ lập trình trực quan chính: - Các ngôn ngữ trực quan tuý - Những hệ thống lai trực quan văn (text) - Những hệ thống lập trình ví dụ - Những hệ thống ràng buộc đối tượng - Những hệ thống xây dựng dựa biểu mẫu (form) Lưu ý việc phân loại không loại trừ lẫn Do đó, có nhiều ngôn ngữ thuộc nhóm thuộc nhóm khác Chỉ riêng nhóm ngôn ngữ trực quan tuý (Purely Visual Languages) quan trọng Các ngôn ngữ đặc trưng việc dựa hoàn toàn kỹ thuật trực quan thông qua tiến trình lập trình Người lập trình vận dụng biểu tượng biểu diễnđồ hoạ khác để khởi tạo chương trình gỡ lỗi thực thi mộtmôi trường trực quan Chương trình biên dịch trực tiếp từ trình bày trực quan củanó không dịch đến ngôn ngữ trung gian dựa chế độ văn (interim text- based language) Những ví dụ hệ thống tuý trực quan VIPR, Prograph PICT Trong nhiều tài liệu thuộc lĩnh vực này, phân loại xa đến việc phân loạicác nhóm nhóm ngôn ngữ biểu tượng (iconic languages) phi biểu tượng (non-iconic languages), ngôn ngữ hướng đối tượng (object-oriented), ngôn ngữ lập trình hàm (functional programming), ngôn ngữ mệnh lệnh (imperative languages) 3.Đặc điểm bật Visual Paradigm Đặc điểm bật phương pháp lập trình trực quan : - Cho phép xây dựng chương trình theo hướng kiện (Event-Driven Programming, nghĩalà chương trình ứng dụng viết theo kiểu đáp ứng dựa theo tình xảy ralúc thực chương trình Tình bao gồm người sử dụng ấn phím tương ứng, chọn lựa nút lệnh gọi lệnh từ ứng dụng khác chạy song song lúc - Người lập trình trực tiếp tao khung giao diện (interface) , ứng dụng thông qua thao tác hình dựa vào đối tượng (object) hộp thoại nút điều khiển (control button), đối tượng mang thuộc tính (properties) riêng biệt : màu sắc ,Font chữ … mà ta cần chọn lựa danh sách cho sẵn - Khi dung noon ngữ lập trình trực quan , ta it phải viết lênh , tổ chức chương trình… cách rắc rối mà mà cần khai báo việc cần làm tình xuất - Máy tính dựa vào phần thiết kế khai báo lập trình viên để tự động tạo lập chương trình Như với kỹ thuật lập trình trực quan, lập trình viên giống nhà thiết kế, tổ chức để tạo biểu mẫu, đề nghị công việc cần thực máy tính dựa vào để xây dựng chương trình Hiện ngôn ngữ lập trình, hệ quản trị sở liệu theo hướng trực quan thường dùng : Visual Basic, Visual Foxpro, Visual C, Delphi 4.Lý Thuyết ngôn ngữ lập trình trực quan a.Một số định nghĩa icon (biểu tượng, hình tượng) Một đối tượng với trình bày kép phần lô-gíc (ý nghĩa) phần vật lý (hình ảnh) iconic system (hệ thống có tính chất biểu tượng) Một tập hợp có cấu trúc biểu tượng có liên quan iconic sentence (câu biểu tượng/trực quan) Một xếp không gian biểu tượng từ hệ thống biểu tượng visual language (ngôn ngữ trực quan) Một tập câu trực quan cấu trúc với cú pháp ngữ nghĩa cho trước syntactic analysis (phân tích cú pháp) Một phân tích câu trực quan để xác lập cấu trúc sở semantic analysis (phân tích ngữ nghĩa) b.Phân tích Một xếp không gian biểu tượng tạo thành câu trực quan Nó hai chiều xếp chiều dấu hiệu ngôn ngữ lập trình qui ước (trong chế độ text) Trong ngôn ngữ này, chương trình diễn giải xâu ký tự ký hiệu kết thúc móc nối đến mẫu câu mà cấu trúc ngữ nghĩa khám phá phân tích cú pháp ngữ nghĩa theo thứ tự định sẵn Theo cách đó, qui tắc xây dựng tiềm ẩn ngôn ngữ không cần giải thích phần ngôn ngữ đặc tả Ngược lại, ngôn ngữ lập trình trực quan phân biệt nguyên tắc để xếp biểu tượng: móc nối theo chiều ngang (biểu ký hiệu &), móc nối theo chiều đứng (biểu ký hiệu ^) không gian bao phủ (biểu ký hiệu +) Trong việc định dạng ngôn ngữ lập trình trực quan, lựa chọn để phân biệt biểu tượng tiến trình từ biểu tượng đối tượng Sự tính toán biểu thức trước, sau phân nhỏ đến biểu tượng đối tượng sơ cấp biểu tượng đối tượng phức hợp Những biểu tượng đối tượng sở cho biết đối tượng sơ cấp ngôn ngữ, ngược lại cácđối tượng phức hợp cho biết đối tượng định dạng xếp không gian củacác biểu tượng đối tượng sơ cấp Tóm lại, thuật ngữ biểu tượng sơ cấp (elementary icons) để tham chiếu đến hai loại: biểu tượng tiến trình biểu tượng đối tượng sơ cấp biểu biểu tượng chúng nguyên gốc ngôn ngữ Từ tranh (hoặc biểu tượng trường hợp này) có hàng ngàn cách biểu đạt, cố gắng minh hoạ tất ý niệm hình vẽ sau: Hình Hệ thống biểu tượng Heidelberg Hình vẽ giới thiệu vài biểu tượng từ biểu tượng Heidelberg Những biểu tượng sơ cấp gồm (a) ký tự (b) ký tự chọn; biểu tượng tiến trình: (c) hoạt động chèn (d) hoạt động xoá; biểu tượng phức hợp: (e) xâu (kết hợp ký tự) (f) xâu lựa chọn; (g) câu trực quan biểu thị thay xâu xâu Một môn ngữ lập trình trực quan đặc tả ba (ID,G0,B), ID từ điển biểu tượng, G0 ngữ pháp B sở tri thức cho lĩnh vực đặc biệt Từ điển biểu tượng tập hợp biểu tượng tổng quát phần tử trình bày cặp (Xm,Xi), với phần lô-gíc Xm (nghĩa) phần vật lý Xi (hình ảnh) Ngữ pháp G0 định cách thức làm để biểu tượng đối tượng phức hợp xây dựng từ biểu tượng sơ cấp việc sử dụng toán tử xếp không gian Cơ sở tri thức B chứa thông tin lĩnh vực đặc biệt cần thiết cho việc xây dựng ngữ nghĩa câu trực quan cho trước Nó chứa thông tin tên kiện, quan hệ thuộc khái niệm, tên đối tượng kết tham chiếu đến đối tượng kết c.Danh sách số không gian Picture-processing grammars (ngữ pháp xử lý ảnh) Nguồn gốc việc thiết kế phân tích ảnh số lưới vuông, ngữ pháp xây dựng sở thực tế ảnh số kết hợp điểm ảnh Ngữ pháp khám phá cấu trúc câu trực quan trật tự điểm ảnh riêng lẻ đến phần tử trực quan nhận diện (đường thẳng, hộp, cung tròn ) Cách tiếp cận có ích hệ thống biểu tượng cần để nhận dạng biểu tượng với mức độ lỗi chấp nhận (ví dụ chữ số viết tay) Precedence grammars (ngữ pháp thứ tự) Ngữ pháp phân tích không gian sử dụng dành cho việc phân tích biểu thức toán học không gian chiều phân tích trang in Ngữ pháp thứ tự phù hợp để phân tích cú pháp câu trực quan xây dựng từ biểu tượng sơ cấp toán tử biểu tượng Cây phân tích xây dựng việc so sánh thứ tự toán tử mẫu tập chia mẫu đến nhiều mẫu Context-free and context-dependent grammars (ngữ pháp phụ thuộc ngữ cảnh ngữ pháp phi ngữ cảnh) Những ngữ pháp dùng để xác định tổ hợp câu trực quan việc sử dụng hình thức quen thuộc nhiều phương pháp tiêu chuẩn phân tích ngữ pháp phù hợp Graph grammars (ngữ pháp đồ thị) Đây phương thức mạnh (mặc dù hiệu quả) để đặc tả ngôn ngữ trực quan Những hình thức cung cấp nhiều ý nghĩa để thiết lập quan hệ ngữ cảnh nhiều nghiên cứu đầu tư để tạo phân tích tính toán với ngữ pháp đồ thị Một phân tích sản sinh phương pháp phân tích phân tích sử dụng cách tiếp cận truyền thống để phân tích ngữ nghĩa (nghĩa ngữ pháp tượng trưng tính toán ) 5.Những vấn đề ngôn ngữ trực quan Chúng ta thảo luận vài vấn đề chung ngôn ngữ trực quan Những vấn đề thích hợp với ngôn ngữ trực quan hướng mục đích (phù hợp để sản sinh chương trình thực thi kích cỡ hợp lý), vấn đề có liên quan đến ngôn ngữ thuộc lĩnh vực đặc biệt (được thiết kế để phục vụ lĩnh vực đặc biệt công nghệ phần mềm khoa học hiển thị) a Control Flow (luồng điều khiển) Tương tự ngôn ngữ lập trình thông thường, ngôn ngữ trực quan gắn liền với hai khái niệm luồng điều khiển chương trình là: mệnh lệnh khai báo Với cách tiếp cận mệnh lệnh, ngôn ngữ lập trình trực quan dựa nhiều luồng điều khiển biểu đồ luồng liệu mà cho biết làm xâu chuỗi luồng điều khiển thông qua chương trình Một ưu đặc biệt cách tiếp cận cung cấp trình bày trực quan hiệu theo kiểu song song Một bất tiện phương pháp người lập trình phải lưu giữ dấu vết chuỗi thứ tự dãy hoạt động làm thay đổi tình trạng chương trình, điều đặc điểm mong đợi hệ thống (đặc biệt thiết kế để cung cấp cho người học việc) Một số ngữ nghĩa mệnh lệnh luồng điều khiển để sử dụng kiểu khai báo lập trình Với cách tiếp cận này, người ta lo lắng việc tính toán thực không cần biết làm hoạt động tiến hành Việc thay đổi trạng thái định đề phòng việc sử dụng phân công: người lập trình khởi tạo đối tượng việc chép trạng thái đối tượng tồn Cũng vậy, thay đặc tả dãy thay đổi trạng thái, người lập trình định nghĩa hoạt động việc đặc tả phụ thuộc đối tượng Ví dụ, người lập trình định nghĩa Y X+1, rõ ràng Y tính toán cách sử dụng đối tượng X, cho phép hệ thống suy giá trị X cần phải tính toán trước Vì vậy, dãy xử lý diện phải suy hệ thống định nghĩa người lập trình Dĩ nhiên, chăm sóc đặc biệt phải nắm giữ hệ thống mà thông báo độc lập nhận diện thông báo cố (errors) b Sự trừu tượng hoá thủ tục (Procedural Abstraction) Chúng ta phân biệt hai mức độ việc trừu tượng hoá thủ tục Những ngôn ngữ lập trình trực quan bậc cao, nghĩa viết bảo quản toàn chương trình ngôn ngữ chắn có số lớp chứa mô-đun không trực quan mà chúng kết hợp lại cách sử dụng ngôn ngữ trực quan Cách tiếp cận để lập trình trực quan tìm thấy nhiều hệ thống phục vụ cho lĩnh vực đặc biệt, ví dụ công cụ bảo quản phần mềm môi trường trực quan khoa học Ở phía ngược lại ngôn ngữ trực quan mức độ thấp, chúng không cho phép người lập trình móc nối đơn vị lô-gíc đến mô-đun thủ tục Phương pháp có lợi nhiều ngôn ngữ thuộc lĩnh vực đặc biệt ví dụ mô lô-gíc Những ngôn ngữ lập trực quan đa thường bao phủ phổ rộng cung cấp tất chức nhằm giúp người lập trình dễ dàng phát triển ứng dụng móc nối đến ngôn ngữ bậc thấp, điều kiện, đệ qui, lặp móc nối dễ dàng đến mô-đun trừu tượng (thủ tục, lớp, thư viện ) c Sự trừu tượng hoá liệu (Data Abstraction) Những phương tiện cho phép trừu tượng hoá liệu tìm thấy ngôn ngữ lập trình trực quan đa Khái niệm trừu tượng hoá liệu lập trình trực quan giống với khái niệm trừu tượng hoá liệu ngôn ngữ lập trình thông thường với yêu cầu trừu tượng kiểu liệu định nghĩa trực quan (trái với textually), có trình bày trực quan (iconic) cung cấp để dành cho cách đối xử tương tác 6.Một số ngôn ngữ lập trình trực quan a.ARK Hơn 10 năm kể từ ngày bắt đầu, ngôn ngữ Alternate Reality Kit (ARK) thiết kế R Smith Xerox PARC, đời ngôn ngữ lập trình thuộc họ VPL để phục vụ cho lĩnh vực đặc biệt ARK phát triển Smalltalk-80, cung cấp cho người dùng môi trường động không gian chiều dành để khởi tạo mô tương tác Hệ thống dự định để phục vụ cho người lập trình nghiệp dư tạo mô để nhóm khán giả rộng lớn tương tác với mô Để giúp người sử dụng hiểu luật tự nhiên, ARK sử dụng phép ẩn dụ theo nghĩa chữ mà người sử dụng điều khiển bàn tay hình mà tương tác với đối tượng vật lý, ví dụ bóng khối, chúng xử lý khối lượng lớn vận tốc nhanh với đối tượng gọi tương tác, trình bày qui luật vật lý trọng lực Bằng việc cung cấp kiểu nguyên vật lý đến luật trừu tượng, hệ thống cố gắng huỷ bỏ vài bí mật bao quanh theo cách mà luật tương tác với đối tượng khác Những người sử dụng hiệu chỉnh đối tượng việc sử dụng môi trường, hộp thông điệp nút, nhìn thấy kết thay đổi chúng thời gian thực Việc mô thực “alternate reality” chứa cửa sổ tất bao quanh giới “siêu thực” Cấu trúc giống hệ thống hình cửa sổ theo kiểu giao tiếp người dùng đồ hoạ đại Người lập trình di chuyển bàn tay nguyên luân phiên đối tượng tác động mô đến siêu thực lúc b.Prograph Trong phần này, mô tả ngôn ngữ Prograph, xem ngôn ngữ thành công số ngôn ngữ trực quan đa (general-purpose visual languages) Việc nghiên cứu Prograph tiến hành từ năm 1982 Trường Đại học Kỹ thuật Nova Scotia Từ đến nay, có vài phiên đưa vào sử dụng số dùng phổ biến Prograph/CPX thương mại hoá Pictorius, Inc Prograph ngôn ngữ hướng đối tượng trực quan Nó móc nối khái niệm lớp, đối tượng với chế đặc tả dòng liệu trực quan mạnh Prograph ngôn ngữ mệnh lệnh, cung cấp điều khiển rõ ràng trật tự tính toán Điều đặc biệt trường hợp đơn lẻ đa thành phần Prograph, cấu trúc điều khiển đặc biệt mong đợi để thay vòng lặp cung cấp điều khiển luồng tinh vi Chúng ta thảo luận điều phần ví dụ Prograph cho phép người lập trình làm việc hai mức độ thấp cao, cho phép họ thiết kế bảo trì nhiều phần mềm phức tạp Những tính toán nguyên thuỷ phép toán số học, lời gọi method móc nối đến phần thân phương pháp biểu mẫu biểu đồ dòng liệu Các phương thức (methods) tổ chức thành lớp Ngoài ra, Prograph cung cấp cho người lập trình chế gọi đối tượng mà lưu trữ sở liệu Prograph lời đề nghị khác chương trình c.Form/3 Forms/3 ngôn ngữ lập trình khác thuộc dạng ngôn ngữ lập trực quan hướng đối tượng đa Đặc điểm bật trừu tượng hoá liệu Tuy nhiên, không giống Prograph, không mang tính kế thừa phân tích thông điệp có hỗ trợ Forms/3 theo cách tổ chức bảng tính với ô công thức để trình bày liệu thứ tự tính toán Một đặc trưng Forms/3 ô tổ chức thành nhóm gọi form, chế trừu tượng hoá liệu Một form trình bày ảnh cho trước (còn gọi biểu tượng) minh hoạ cho đối tượng Theo nghĩa này, form tương ứng đến đối tượng nguyên mẫu ngôn ngữ hướng đối tượng nguyên mẫu (prototype-based object oriented languages Trong Forms/3, liệu (values) tính toán (formulas) cặp thống Mỗi đối tượng đặt ô định nghĩa với khai báo để sử dụng công thức Các đối tượng khởi tạo theo công thức công thức sản sinh đối tượng giống kết việc đánh giá Những công thức cung cấp dễ dàng để yêu cầu kết từ đối tượng khác khởi tạo đối tượng mới: điều không cần phân tích thông điệp B.Extreme Programming 1.Giới thiệu Lập trình cực độ (eXtreme Programming viết tắt XP) nhóm phương pháp phát triển phần mềm cách linh hoạt XP sử dụng nhóm làm việc kết hợp gồm người lập trình, khách hàng nhà quản trị để phát triển phần mềm có chất lượng cao thời gian nhanh chóng Một chương trình chạy thước đo tiến trình theo XP XP phát triển tồn hiểu biết ngày tiến vấn đề giải công cụ sẵn có cho phép ta thay đổi giá thay đổi (cost-of-change) ( dạng hàm mũ trước ) XP giữ cho giá phải trả mức thấp thúc đẩy môi trường sản xuất phần mềm - Ưu điểm Extreme Programming : Như ta biết hầu hết phương pháp xem xét việc phát triển phần mềm quy trình gia công với tiến trình phần mềm theo đường • Nhu cầu (thị trường) – Phân tích – Thiét kế – Mã hóa – Thử nghiệm – Bảo trì Cách tiếp cận có thừa nhận quan trọng ta biết sản phẩm cuối trước tiến trình bắt đầu Nhưng hầu hết dự án phần mềm đại thoả mãn thừa nhận Khách hàng đưa cách đầy đủ người sản xuất cần thông tin phản hồi cách liên tục để đánh giá lại lựa chọn họ Người lập trình cần phải có phương án để sẵn sàng đón nhận thay đổi Nhu cầu để họ đối phó với thông tin phản hồi Nếu bạn làm việc môi trường mà Nhu cầu chờ để thay đổi khách hàng lợi từ việc bàn giao phần mềm sớm thường xuyên chắn nên xem xét XP Các nhóm làm theo XP thường xuyên nhận họ bàn giao sản phẩm phần mềm chất lượng cao với số lượng lớn nhanh trước nhiều Phương thức tiến hành XP XP phương pháp có khả thích nghi, thích ứng Điều có nghĩa hai dự án XP giống XP cung cấp tập hợp thực hành sử dụng điểm khởi đầu, sau làm cho thích ứng để phù hợp với ràng buộc dự án riêng Sau tập hợp nguyên tắc mong đợi : Liên lạc: XP team lớn mạnh dựa kiến thức, hiểu biết toán hiểu biết phần mềm chia sẻ Các phương pháp giải vấn đề trao đổi trực tiếp Những thứ cản trở đến công việc loại bỏ Đơn giản hoá: công việc cần giảm tối thiểu độ phức tạp để đạt hiệu cao Thông tin phản hồi thường đội làm dự án khách hàng họ không nhận vấn đề rắc rối bàn giao sản phẩm Nhưng XP teams thường xuyên lấy feedback – trình làm việc, test, bàn giao sản phẩm … Khi control vấn đề phát sinh Thế mạnh: đội làm phần mềm thành công cần phải kiểm soát xuất lỗi XP đưa 12 phương án thực hành, điểm mạnh XP kết hợp phương án lại Mỗi phương án đơn giản cần thiết phải nắm vững, góp phần làm giảm bớt đáng kể giá thay đổi Các phương án thực hành Tiêu chuẩn hoá mã nguồn Đây loạt quy ước mã hoá để thành viên dự án theo làm Khi người xem xét lẫn bàn giao cho Thiết kế đơn giản Để giảm giá phải trả cho thay đổi đồng nghĩa với việc làm cho hệ thống đơn giản tốt Điều có nghĩa không nên bỏ nhiều thời gian công sức vào việc mà sau cần không Các đề án XP thường đơn giản cách tối đa, đảm bảo sau có cần thay đổi chi phí nhỏ Dạng thức Thiết kế Nguyên lý Thiết kế Mọi thành viên nhóm phải học sử dụng thành thạo Nguyên lý Dạng thức Thiết kế Thứ nhất, giúp cho nhóm làm việc với cách ăn ý (liên lạc tốt) Sau giúp cho việc viết mã thành viên tốt nhanh tái sử dụng kinh nghiệm từ người trước, điều quan trọng, XP thiết kế chi tiết, đoạn mã/từng module phải thành viên nhóm thể hiện, áp dụng giảm thiểu trình điều chỉnh/tái chế Thử nghiệm(test-first design) Các lập trình viên viết đơn vị thử nghiệm (unit test) (trường hợp thử nghiệm) trước viết mã (thiết kế thử nghiệm đầu tiên) Tất đơn vị thử nghiệm (trường hợp thử nghiệm) thực thường xuyên trình phát triển sản phẩm module mã lập trình viên Các lập trình viên thay đổi cách linh hoạt quy trình thử nghiệm mắc lỗi hay sai so với thiết kế ban đầu (điều chỉnh trường hợp thử nghiệm) Lập trình cặp đôi Tất trình phát triển sản phẩm thực người chia sẻ công việc máy Điều hiệu người làm việc độc lập Việc quay vòng cặp thường xuyên phổ biến kinh nghiệm kiến thức cho toàn nhóm Mã xem lại liên tục Quyền sở hữu mã kết tập Bất kỳ người đội dự án có quyền thay đổi mã trình làm việc với khách hàng cần tuân theo Tiêu chuẩn mã hoá phải đảm bảo thực thử nghiệm lại toàn sau hoàn tất công việc sửa đổi Điều loại bỏ vấn đề sai lệch cấu trúc chương trình, … xảy cá nhân mã hoá độc lập Tái chế Tái chế kỹ thuật làm tăng hiệu việc thết kế mã có sẵn mà không làm thay đổi chức Tái chế khả thi nhóm XP có quy trình thử nghiệm tự động bắt lỗi, cho phép ta thay đổi mã ( phản ánh khả hiểu toán ngày cao thành viên ) Qua mở rộng thiết kế lên Tương tác liên tục Các nhóm XP chia công việc thành bước nhỏ tích hợp mã họ vài lần ngày Do vậy, vấn đề xem xét sau thực dễ dàng sửa chữa gặp cố Quá trình đảm bảo cho người làm việc với phiên hệ thống Phát hành nhỏ gọn Do nhóm XP làm việc bước nhỏ việc phát hành chia thành phát hành nhỏ ( khoảng vài tuần lần ) Và thành viên phải tích hợp liên tục Có đề án XP thực việc phát hành hàng ngày Khách hàng trực diện Các lập trình viên phải tiếp xúc với khách hàng để xác định rõ nhu cầu nỗ lực tốn Các nhà lập trình XP không nên suy đoán vấn đề cụ thể chức mà phải hỏi trực tiếp khách hàng Trò chơi kế hoạch Thao tác thực tái lập ( vài tuần lần ) để định xem chức phát hành Các lập trình viên đưa dự đoán khách hàng lựa chọn có lợi nhất, người thực Tuần lễ 40 Việc phát triển phần mềm công việc sáng tạo, họ sáng tạo họ kiệt sức Việc giới hạn số làm việc tuần đảm bảo sức khoẻ thành viên tăng cường chất lượng sản phẩm Metaphor Dùng hệ thống thuật ngữ business object việc discuss vấn đề solutions cho chúng ( the system Metaphor ) Dưới số nhận xét XP Rational Unified Process(RUP) Giống RUP không đề cập tỉ mỉ đến định lý, nhiên nguyên lý phương pháp luận đề rõ ràng ta thấy rõ, ví dụ phản hồi từ khách hàng, thay đổi tăng dần, đầu tư ban đầu ít, thử nghiệm cụ thể tuỳ biến theo nơi Có số điểm tương đồng chiến lược lập kế hoạch, hai phương pháp phát biểu không lập kế hoạch cụ thể từ ban đầu bạn biết công việc quan từ lúc đầu Cả hai phương pháp sử dụng quan niệm vòng quay dự án, nhấn mạnh ưu tiên theo mức độ quan trọng chức User story use case dùng để định hướng kiến trúc phần mềm đóng vai trò định cho việc lập kế hoạch trình phát triển Phương pháp luận hướng đối tượng công cụ hai phương pháp User story XP giống hệt với Use case RUP Trong yếu tố quan trọng cấu thành dự án phạm vi dự án, tính hạn, chất lượng tài nguyên dự án, XP khuyến cáo cần giữ cố định mục tiêu tính hạn, chất lượng tài nguyên Phạm vi dự án phép điều chỉnh RUP không đặt quan điểm cách chặt chẽ vậy, nhiên RUP cho phép dùng phương pháp xây dựng ma trận định, yếu tố điều chỉnh để phù hợp theo đặc tính dự án Dẫu RUP không phát biểu cụ thể vây cho phép thay đổi phạm vi dự án, nhiên quan điểm tương đồng thể phương pháp phát triển phần mềm “to dần” RUP Thử nghiệm cụ thể nguyên lý XP ta thấy RUP Trong giai đoạn Elaboration, RUP đòi hỏi bạn phải tiến hành nghiên cứu vấn đề quan trọng và thử nghiệm công nghệ Việc kiểm tra chương trình cách tự động XP RUP khuyến cáo XP dựa việc để đảm bảo chi phí thấp cho thay đổi, nhiên RUP không đòi hỏi Khác Sự khác biệt đáng kể RUP XP RUP hướng đến dự án lớn so với XP thế, phức tạp Chi phí cho thay đổi rủi ro RUP cho chi phí thay đổi tăng theo hàm mũ tập trung vào cho bước để giảm thiểu chi phí sau trình phát triển phần mềm RUP quan tâm nhiều đến việc giảm thiểu rủi ro, theo dõi để tìm kiếm rủi ro tiếp cận mục tiêu bước từ trình xây dựng kiến trúc đến trình phát triển phần mềm sau XP cho chi phí thay đổi không lớn XP xây dựng với mục tiêu giảm thiểu rủi ro (rủi ro định nghĩa “những vấn đề bản”) hướng tới thiết kế kiến trúc tốt với mục tiêu trước tiên cho lò chức quan trọng Tuy nhiên, với giả định giá cho thay đổi thấp, kiến trúc phần mềm phép phát triển cách hữu cơ, xương cần phát triển vừa đủ để nâng đỡ thể thời điểm định Điều then chốt XP đơn giản Một đôi điều tài liệu dự án XP khuyến nghị bạn có “hành lý” gọn nhẹ luôn cập nhật tài liệu dự án, trừ bạn cần dùng chúng RUP nhìn nhận vấn đề theo cách khác dựa cập nhật kịp thời thiết kế nhằm phục vụ cho việc phát triển phần mềm XP cần có mã nguồn phải viết tốt dựa để trao đổi thiết kế cho bước Chia sẻ mã nguồn XP khuyến nghị cần có chia sẻ mã nguồn nhóm, điều có nghĩa vào lúc thay đổi phần mã nguồn RUP gợi ý người thiết kế phần mềm có trách nhiệm cho phân hệ gói đó, tương tự lập trình viên Vị trí trách nhiệm thành viên Khi triển khai công việc vai trò dự án, RUP đồ sộ nhiều so với XP Những vai trò XP đơn Lập trình viên, Khách hàng, Coach Manager Đối với RUP ta thấy LTV KH, Coach tương tự Architect Manager tương tự Project Leader Tuy nhiên, trách nhiệm vị trí không giống có số hành động concept XP Những vị trí XP thường có nhiều trách nhiệm so với RUP, ví dụ Programmer Designer, Customer có trách nhiệm xây dựng yêu cầu Các bước dự án RUP có bước định nghĩa rõ ràng : Inception, Elaboration, Construction, and Transition XP nói Exploration, Commitment Steer với đầu mục công việc khác phân chia thời gian theo phương pháp khác RUP chia toàn trình sản xuất phần mềm thành số release XP chia thực dự án theo bước Những bước XP gợi ý khoảng thời gian ngắn C.Parallel Paradigms 1.Giới thiệu Parallel Paradigms phương thức lập trình mà : • • • Những dẫn thực cách đồng thời Những vấn đề , toán đươcj chia thành phần nhỏ giải cách đồng thời Những dẫn phần thực đồng thời CPU khác -So sánh serial va parallel programming : Trong đầu máy tính , chương trình thực nồi tiếp , tức chương trình bao gồm chuỗi lệnh , lệnh thực sau thực xong lênh trước Nó chay từ đầu đến cuối xử ly Parallel programming xuất phương tiện cải thiện hiệu xuất hiệu Trong chương trình song song , xử lý chia thành phần , phần số thực đồng thời Các lệnh từ phần chạy đồng thời CPU khác , CPU tồn máy chúng CPU hợp máy tính kết nối qua mạng Rõ rang lập trình song song có ưu điểm : Serial programming Vậy , phải cần lập trình parallel programming Đó từ lý sau : - Tiết kiệm thời gian Giải vấn đề lớn Cung cấp tương tranh : Có thể làm nhiều thứ lúc Ngoài lý có số lý sau : - Tận dụng tài nguyên non-local Chi phí tiết kiệm – sử dụng tài nguyên tính toán có hiệu Giải phóng nhớ bị chiếm đóng Thoát khỏi giới hạn truyền serial programming tốc độ kinh tế 2.Xây dựng chương trình song song Bước việc xây dựng chương trình song song xác định tập hợp nhiệm vụ chạy đồng thời / phần liệu xử lý đồng thời Bởi nhiệm vụ hay lieuj chạy , xử lý cách đồng thời Ta lấy ví dụ hàm Fibonacci : F(k+2) = F(k) + F(k+1) Hàm thực song song giá trị tính phụ thuộc vào giá trị tính trước Một tình trạng phổ biến có lượng lớn liệu quán cần phải xử lý Nếu liệu phân tích thành phần có kích thước , nghĩ mọt giải pháp song song Xem xét mảng lớn mà chia thành tiểu mảng : Nếu xử lý mà cần thiết cho phần tử mảng , không phụ thuộc vào tính toán, yêu cầu thông tin liên lạc tác vụ , có ý tưởng tính toán song song Đây kĩ thuật phổ biến gọi Master/Worker Master :  Khởi tạo mảng chia tách theo Worker có sẵn  Gửi cho Worker subarray  Nhận kết từ Worker Worker :  Nhận subarray từ Master  Thực xử lý subarray  Trả kết cho Master Mô hình đươc sử dụng phổ biến tất nhiệm vụ thực số lượng công việc máy tính giống hệt Nhìn chung , đề cập đến kỹ thuật mà cố gắng tản nhiệm vụ vi xử lý hệ thống song song để tránh số vi xử lý nhàn rỗi khác có nhiệm vụ phải xếp hang để thực Mô hình tính toán song song ứng dung rông rãi , language/library có sử dụng : MPICH ,OpenMP,FORTRAN 90/95 Và Software Package : Gaussian, GAMESS, MM5… Nó giúp phát triển siêu máy tính máy tinh đa nhân D.Distributed Programming 1.Giới thiệu Thông thường mã lệnh chương trình thực thi tập trung máy, cách lập trình truyền thống Sự phát triển vũ bão mạng máy tính đặc biệt mạng Internet toàn cầu, khiến chương trình truyền thống không đáp ứng yêu cầu Các chương trình yêu cầu phải có hợp tác xử lý, tức mã lệnh không tập trung máy mà phân tán nhiều máy Khi ứng dụng có mã lệnh thực thi phân tán nhiều máy chương trình gọi chương trình phân tán việc lập trình để tạo chương trình gọi lập trình phân tán Có nhiều công nghệ lập trình phân tán như: DCOM, CORBA, RMI, EJB RMI công nghệ Java dễ lập trình Có mô hình lập trình phân tán : Mô hình client/server Mô hình tác tử di động Mô hình dựa thành phần , mô hình đối tượng phân tán Tính toán phân tán lĩnh vực khoa học máy tính mà mghiên cứu hệ thống phân tán Một hệ thống phân tán bao gồm nhiều máy tính tự trị mà truyền thong liên lạc suốt mạng máy tính Những máy tính tương tác với để đạt mục đích chung Một chương trình máy tính mà chạy hệ thống phân tán gọi chương trình phân tán , lập trình phân tán trình việc viết chương trình Sự tính toán phân tán dựa vào việc sử dụng hệ thống phân tán để giải để giải vấn đề Trong tình toán phân tán , vấn đề chia thành nhiều công việc , công việc giải máy tính 2.So sánh parallel distributed computing Nhìn chung lập trình song song lập trình phân tán giống hệt chia nhỏ vấn đề xử lý Nhưng thực chất khác hoàn toàn :  Trong lập trình song song tất xử lý truy nhập đến nhớ dung chung Bộ nhớ dùng chung dung để trao đổi thông tin xử lý  Trong lập trình phân tán xử lý có nhớ riêng (bộ nhớ phân tán) , thong tin trao đổi chuyển qua thong báo xử lý (a)–(b) A distributed system (c) A parallel system 2.Ứng dụng Những hệ thống phân tán lan rộng mạng local – area networks Ethernet phát minh vào khoảng năm 1970 Nghiên cứu tính toán phân tán trở thành phận nganh khoa học máy tính vào cuối năm 1970 đầu năm 1980 Có hai lý để sử dụng hệ thống phân tán tính toán phân tán :  Tính tự nhiên ưng dụng yêu cầu sử dụng mọt mạng thong tin mà nối số máy tính  Có lợi lý thực tế Ví dụ tăng hiệu , giảm chi phí với việc sử dụng nhiều máy tinh cấp thấp so với việc sử dụng máy tính cấp cao E.Concurrent Programming 1.Giới thiệu Tính toán Concurrent hình thức chương trình thiết kế tập hợp việc tương tác tính toán xử lý mà thực song song Những chương trình concurrent thực xử lý đơn việc xem xét đặt bước thực hiên trình tính toán , thực đường song song việc gắn trình tính toán cho số tập hợp xử lý gần phân tán mạng Những thách thức việc thiết kế chương trình concurrent đảm bảo xếp trình tự tương tác truyền thong trình tính toán xử lý khác phối hợp truy nhập tới tài nguyên chia sẻ trình Một số phương pháp khác sử dụng để thực chương trình concurrent ,như việc thực trình tính toán hệ điều hành xử lý , hay việc thực trình tình toán tập hợp hoạt động đơn lẻ quy trình hệ thống Những người tiên phong lĩnh vực concurrent computing bao gồm : Edsger Dijkstra, Per Brinch Hansen C.A.R Hoare 2.Những mô hình concurrent Có số mô hình concurrent computing mà dung để hiểu phân tích hệ thống concurrent system : • • • Actor model o Object-capability model for security Petri nets Process calculi such as o Ambient calculus o Calculus of Communicating Systems (CCS) o Communicating Sequential Processes (CSP) o π-calculus 3.Concurrent programming languages Những ngôn ngữ concurrent programming ngôn ngữ lập trình mà sử dụng cấu trúc ngôn ngữ cho concurrent , cấu trúc lien quan đến multithreading (đa luồng) , hỗ trợ tính toán phân tán , shared resources (bao gồm shared memory)… Ngày , ngôn ngữ lập trình thường sử dụng có cấu trúc cụ thể cho concurrent Java C# [...]... and Transition XP thì nói về Exploration, Commitment và Steer với những đầu mục công việc khác nhau và phân chia thời gian theo những phương pháp khác nhau RUP chia toàn bộ quá trình sản xuất phần mềm thành một số release XP chia và thực hiện dự án theo từng bước kế tiếp Những bước này được XP gợi ý trong khoảng thời gian ngắn hơn C.Parallel Paradigms 1 .Giới thiệu Parallel Paradigms là một phương thức... trên còn có một số lý do sau : - Tận dụng được những tài nguyên non-local Chi phí tiết kiệm – sử dụng tài nguyên tính toán có hiệu quả Giải phóng bộ nhớ bị chiếm đóng Thoát khỏi sự giới hạn truyền của serial programming về tốc độ và kinh tế 2.Xây dựng một chương trình song song Bước đầu tiên trong việc xây dựng một chương trình song song là xác định tập hợp các nhiệm vụ có thể chạy đồng thời và /... language/library có sử dụng nó như : MPICH ,OpenMP,FORTRAN 90/95 Và những Software Package như : Gaussian, GAMESS, MM5… Nó giúp phát triển những siêu máy tính và những máy tinh đa nhân D.Distributed Programming 1 .Giới thiệu Thông thường mã lệnh của một chương trình khi thực thi được tập trung trên cùng một máy, đây là cách lập trình truyền thống Sự phát triển như vũ bão của mạng máy tính đặc biệt là mạng Internet... máy tính  Có lợi vì lý do thực tế Ví dụ có thể tăng hiệu quả , giảm chi phí với việc sử dụng nhiều máy tinh cấp thấp so với việc sử dụng một máy tính cấp cao duy nhất E.Concurrent Programming 1 .Giới thiệu Tính toán Concurrent là một hình thức trong đó những chương trình được thiết kế như những tập hợp của những việc tương tác tính toán xử lý mà có thể thực hiện song song Những chương trình concurrent... những dự án lớn hơn so với XP và vì thế, nó phức tạp hơn Chi phí cho thay đổi và rủi ro RUP cho rằng chi phí thay đổi tăng theo hàm mũ và tập trung vào cho những bước đầu tiên để giảm thiểu những chi phí về sau trong quá trình phát triển phần mềm RUP quan tâm nhiều đến việc giảm thiểu rủi ro, theo dõi để tìm kiếm rủi ro và tiếp cận mục tiêu này từng bước từ quá trình xây dựng kiến trúc đến các quá trình... và chia tách nó theo các Worker có sẵn  Gửi cho mỗi Worker các subarray của nó  Nhận được các kết quả từ mỗi Worker Worker :  Nhận được subarray từ Master  Thực hiện xử lý trên subarray  Trả về kết quả cho Master Mô hình này đươc sử dụng phổ biến khi tất cả các nhiệm vụ đang được thực hiện cùng số lượng công việc trên các máy tính giống hệt nhau Nhìn chung , nó đề cập đến kỹ thuật mà cố... thấp, kiến trúc của phần mềm được phép phát triển một cách hữu cơ, như một bộ xương chỉ cần phát triển vừa đủ để nâng đỡ cơ thể tại thời điểm nhất định Điều then chốt trong XP là sự đơn giản Một đôi điều về tài liệu dự án XP khuyến nghị bạn có một “hành lý” gọn nhẹ và không phải luôn luôn cập nhật tài liệu dự án, trừ khi bạn cần dùng chúng RUP nhìn nhận vấn đề theo một cách khác và dựa trên sự cập nhật... hình lập trình phân tán như : Mô hình client/server Mô hình tác tử di động Mô hình dựa trên thành phần , mô hình đối tượng phân tán Tính toán phân tán là một lĩnh vực khoa học máy tính mà mghiên cứu về những hệ thống phân tán Một hệ thống phân tán bao gồm nhiều máy tính tự trị mà có thể truyền thong liên lạc trong suốt một mạng máy tính Những máy tính tương tác với nhau để đạt được một mục đích... (a)–(b) A distributed system (c) A parallel system 2.Ứng dụng Những hệ thống phân tán lan rộng đầu tiên đó là những mạng local – area networks như Ethernet được phát minh vào khoảng năm 1970 Nghiên cứu về tính toán phân tán đã trở thành một bộ phận của nganh khoa học máy tính vào cuối những năm 1970 và đầu những năm 1980 Có hai lý do để chúng ta sử dụng hệ thống phân tán và tính toán phân tán :  Tính... tuy nhiên RUP cho phép chúng ta dùng phương pháp xây dựng ma trận quyết định, trong đó các yếu tố đó có thể được điều chỉnh để phù hợp theo đặc tính của từng dự án Dẫu RUP không phát biểu cụ thể như vây về sự cho phép thay đổi phạm vi dự án, tuy nhiên quan điểm tương đồng cũng thể hiện ở phương pháp phát triển phần mềm “to dần” của RUP Thử nghiệm cụ thể là một nguyên lý của XP và ta cũng có thể thấy ở ... lập trình trực quan chính: - Các ngôn ngữ trực quan tuý - Những hệ thống lai trực quan văn (text) - Những hệ thống lập trình ví dụ - Những hệ thống ràng buộc đối tượng - Những hệ thống xây dựng... chúng không cho phép người lập trình móc nối đơn vị lô-gíc đến m - un thủ tục Phương pháp có lợi nhiều ngôn ngữ thuộc lĩnh vực đặc biệt ví dụ mô lô-gíc Những ngôn ngữ lập trực quan đa thường bao phủ... có cho phép ta thay đổi giá thay đổi (cost-of-change) ( dạng hàm mũ trước ) XP giữ cho giá phải trả mức thấp thúc đẩy môi trường sản xuất phần mềm - Ưu điểm Extreme Programming : Như ta biết

Ngày đăng: 25/01/2016, 15:33

Xem thêm: Giới thiệu về Visual Paradigm

TỪ KHÓA LIÊN QUAN

Mục lục

    2. Phương thức tiến hành XP

    3. Các phương án thực hành

    Tiêu chuẩn hoá mã nguồn

    Thiết kế đơn giản

    Dạng thức Thiết kế và Nguyên lý Thiết kế

    Thử nghiệm(test-first design)

    Lập trình cặp đôi

    Quyền sở hữu mã kết tập

    Tương tác liên tục

    Khách hàng trực diện

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w