Nghiên cứu về một số mô hình phát triển phần mềm của các công ty lớn ở việt nam và một số bài toán ứng dụng

30 660 1
Nghiên cứu về một số mô hình phát triển phần mềm của các công ty lớn ở việt nam và một số bài toán ứng dụng

Đ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

Nghiên cứu về một số mô hình phát triển phần mềm của các công ty lớn ở việt nam và một số bài toán ứng dụng

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌC Lớp: Toán Tin K7 TÊN ĐỀ TÀI NGHIÊN CỨU VỀ MỘT SỐ MÔ HÌNH PHÁT TRIỂN PHẦN MỀM CỦA CÁC CÔNG TY LỚN Ở VIỆT NAM VÀ MỘT SỐ BÀI TOÁN ỨNG DỤNG Thái nguyên ,2012 Page TRƯỜNG ĐẠI HỌC KHOA HỌC KHOA TOÁN TIN TÊN ĐỀ TÀI ĐỀ TÀI SINH VIÊN NGHIÊN CỨU KHOA HỌC Người hướng dẫn khoa học: Page CHƯƠNG 1: CƠ SỞ LÝ THUYẾT CÁC MÔ HÌNH LẬP TRÌNH I Ngôn ngữ lập trình Giới thiệu ngôn ngữ c# Ngôn ngữ C# phát triển đội ngũ kĩ sư Microsoft, người dẫn đầu Anders Hejlsberg Scott Wiltamuth Cả hai người người tiếng Trong đó, Anders Hejlsberg biết đến tác giả Turbo Pascal, ngôn ngữ lập trình phổ biến ông đứng đầu nhóm thiết kế Borland Delphi, thành công việc xây dựng môi trường phát triển tích hợp(IDE) cho lập trình client/server Ngôn ngữ C# đơn giản, khoảng 80 từ khóa mười kiểu liệu xây dựng sẵn Tuy nhiên, ngôn ngữ C# có ý nghĩa cao thực thi khái niệm lập trình đại C# bao gồm tất hỗ trợ cho cấu trúc, thành phần, component, lập trình hướng đối tượng, tính chất diện ngôn ngữ lập trình đại v xây dựng tảng ngôn ngữ mạnh C++ Java Phần cốt lõi ngôn ngữ lập trình hướng đối tượng hỗ trợ cho việc định nghĩa làm việc với lớp Những lớp định nghĩa kiểu liệu mới, cho phép phát triển mở rộng ngôn ngữ tạo mô hình tốt để giải vấn đề Ngôn ngữ C# chứa từ khóa cho việc khai báo kiểu lớp đối tượng phương thức hay thuộc tính lớp cho việc thực thi đóng gói, kế thừa, đa hìnhPage ba thuộc tính ngôn ngữ lập trình hướng đối tượng Trong ngôn ngữ C# thứ liên quan đến khai báo lớp tìm thấy phần khai báo Định nghĩa lớp ngôn ngữ C# không đòi hỏi phải chia tập tin header tập tin nguồn giống ngôn ngữ C++ Hơn nữa, ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn tag XML để phát sinh tự động tài liệu cho lớp C# hỗ trợ giao diện interface, xem cam kết với lớp cho dịch vụ mà giao diện quy định Trong ngôn ngữ c#, lớp kế thừa từ lớp cha Tức không cho cha kế thừa ngôn ngữ C++, nhiên lớp thực thi nhiều giao diện Khi lớp thực thi giao diện cung cấp chức thực thi giao diện Trong ngôn ngữ C#, cấu trúc hỗ trợ khái niệm ngữ nghĩa thay đổi khác với C++ Trong C#, cấu trúc giới hạn kiểu trỏ nhỏ gọn tạo thể yêu cầu hệ điều hành nhớ so với lớp Một cấu trúc kế thừa từ lớp hay kế thừa cấu trúc thực thi giao diện Ngôn ngữ C# cung cấp đặc tính hướng thành phần(component-oriented), thuộc tính, kiện Lập trình hướng thành phần hỗ trợ CLR cho phép lưu trữ metadata với mã nguồn cho lớp Metadata mô tả cho lớp, bao gồm phương thức thuộc tính bảo mật cần thiết thuộc tính khác Mã nguồn chứa đựng logic cần thiết để thực chức Do vậy, lớp biên dịch khối self-contained nên môi trường hosting biết cách đọc Page metadata lớp mã nguồn cần thiết mà không cần thông tin khác để sử dụng Ưu điểm, nhược điểm ngôn ngữ C# 2.1 Ưu điểm Ngôn ngữ C# dẫn xuất từ ngôn ngữ C++ C xây dựng từ tảng phát triển Microsoft bắt đầu với công việc C C++ thêm vào đặc tính để làm cho ngôn ngữ dễ sử dụng Nhiều số đặc tính giống với đặc tính có ngôn ngữ Java Không dừng lại Microsoft đưa số mục đích ưu điểm để xây dựng ngôn ngữ sau: • C# ngôn ngữ đơn giản C# loại bỏ vài phức tạp ngôn ngữ Java, C++ bao gồm việc loại bỏ macro, template, đa kế thừa lớp sở ảo Chúng nguyên nhân gây nhầm lẫn hay dẫn đến vấn đề cho người phát triển C++ C# xây dựng dựa tảng C C++ C# giống C, C+ + hay chí Java diện mạo, cú pháp, biểu thức, toán tử Một số chức khác C# lấy trực tiếp từ ngôn ngữ C C++ cải tiến để làm cho ngôn ngữ đơn giản Một cải tiến loại bỏ dư thừa hay thêm vào cú pháp thay đổi VD: Trong C++ có toán tử làm việc với thành viên ::, , → Để biết dùng ba toán tử phức tạp dễ nhầm lẫn Trong C#, chúng thay với toán tử gọi (dot) • C# ngôn ngữ đại C# có đặc tính ngôn ngữ đại như: Page - Xử lý ngoại lệ - Bảo mật mã nguồn - Thu gom nhớ tự động - Có kiểu liệu mở rộng Ví dụ trỏ tích hợp vào C++ Đó nguyên nhân gây phát sinh số rắc rối C++ Nhưng C#, đặc tính kể loại bỏ phức tạp rắc rối gây trỏ làm cho C# trở nên đơn giản dễ dàng • C# ngôn ngữ hướng đối tượng C# hỗ trợ tất đặc tính ngôn ngữ hướng đối tượng là: - Sự đóng gói(encapsulation) - Sự kế thừa(inheritance) - Đa hình(polymorphism) • C# ngôn ngữ hướng module Mã nguồn C# viết Class(lớp) Những Class chứa Method(phương thức) thành viên Class(lớp) Method(phương thức) thành viên sử dụng lại ứng dụng hay chương trình khác cách truyền mẫu thông tin đến lớp hay phương thức tạo mã nguồn dùng lại có hiệu • C# ngôn ngữ từ khóa C# ngôn ngữ sử dụng giới hạn từ khóa Phần lớn từ khóa sử dụng để mô tả thông tin Nhưng không mà ngôn ngữ C# trở nên mạnh mẽ Chúng ta thấy ngôn ngữ sử dụng để làm nhiệm vụ C# sử dụng cho nhiều dự án khác Page như: Ứng dụng xử lý văn bản, ứng dụng đồ họa hay tạo trình biên dịch cho ngôn ngữ khác • C# ngôn ngữ phổ biến • C chạy Net, cung cấp nhiều đối tượng mạnh, phong phú đa dạng để giải nhiều vấn đề phổ biến lập trình Do sử dụng ngôn ngư lập trình C# tốn thời gian, chi phí, ứng dụng kết chạy đáng tin cậy, phần tính chất hướng đối tượng C#, phần khác ứng dụng dung chủ yếu đối tượng viết sẵn Microsoft 2.2 Nhược điểm KẾT LUẬN: Ta lựa chọn ngôn ngữ C# ưu điểm II Cơ sở liệu 1) Giới thiệu sở liệu SQL server • SQL viết Structured Query Language( Ngôn ngữ truy vấn cấu trúc) • SQL chuẩn ANSI (American National Standards Institute – Viện tiêu chuẩn quốc gia Hoa Kì) truy xuất hệ thống CSDL • Các câu lệnh SQL sử dụng để truy xuất cập nhập liệu sở liệu • SQL ngôn ngữ thao tác liệu(DML- Data Manipulation Language): SQL thực thi truy vấn sở liệu, lấy liệu, chèn liệu, xóa liệu, sửa đổi liệu có sở liệu • SQL ngôn ngữ định nghĩa liệu(DDL- Data Definition Language) Page Phần DDl SQL cho phép tạo xóa bảng Chúng ta định nghĩa khóa (key), mục(index), định liên kết bảng thiết lập quan hệ ràng buộc bảng sở liệu 2) Ưu điểm, nhược điểm ngôn ngữ SQL 2.1) Ưu điểm • Khả bảo mật lớn • Chứa lượng lớn liệu , thích hợp cho nhiều người sử dụng lúc • Truy xuất liệu nhanh • Đảm bảo tính toàn vẹn liệu 2.2) Nhược điểm • Yêu cầu tài nguyên lớn không chạy chậm • Chỉ chạy hệ điều hành Window • Dữ liệu bị hổng dễ bị khai thác 3) So sánh ngôn ngữ SQL Server với ngôn ngữ lập trình khác 3.1) MySQL SQL Server SQL Server MySQL có đặc thù riêng chúng Vì so sánh theo tính năng, hiệu suất, bảo mật khả phuc hồi, tính toàn vẹn liệu … • Tính năng: MySQL SQL Server tính cung cấp nhiều loại storage engine Tuy nhiên, tính mặt tích hợp chặt chẽ cho toàn hệ thống công cụ phát triển phần mềm SQL Server tích hợp tốt MySQL đặc biệt mảng.NET SQL Server hỗ trợ XML trực tiếp sở Page liệu MySQL chưa làm việc Các chức cần thiết View, StoreProcedure, Trigger hai tương đương • Hiệu suất: SQL Server đòi hỏi tài nguyên lớn (CPU mạnh, nhiều RAM ), không chạy chậm MySQL không đòi hỏi nhiều SQL Server Nhưng đáp ứng yêu cầu SQL Server chạy với tốc độ nhanh hiệu suất sử dụng nâng cao nhiều so với MySQL • Bảo mật: SQL Server có độ bảo mật cao Hơn hẳn MySQL tính bảo mật mức độ cột Trong MySQL thiết lập mức truy cập đến hàng bảng Hệ thống xác thực người dùng SQL Server qua mặt MySQL • Bảo đảm tính toàn vẹn liệu Sau thi HK, bạn giao nhiệm vụ cập nhật điểm cho SV Điểm số số thực nằm khoảng từ - 10; có điểm lẻ 6.5, điểm lẻ kiểu 8.2 Dĩ nhiên bạn hoàn toàn viết chương trình để kiểm tra tính đắn điểm trước cập nhật vào CSDL Nhưng lỡ đến lúc đó, trường đổi cách chấm điểm, cho phép điểm lẻ đến 0.25, thay đổi thang điểm từ - 100 điểm lẻ Lúc bạn phải sửa lại chương trình bạn nhiều chỗ, chẳng may bạn quên sửa chỗ hậu trước Các DBMS cao cấp cho phép bạn tránh điều cách thiết lập ràng buộc cho liệu Ví dụ bạn thiết lập ràng buộc table DiemSo field Diem phải số nguyên từ - 100 (nếu thang điểm Page 100) Sau đó, liệu cập nhật vào không với ràng buộc, DBMS từ chối cập nhật hiển thị thông báo lỗi cho bạn biết MySQL version thời chưa có tính • Khả nhân bản: Cả hai có khả nhân cung cấp phương tiện để làm việc Tuy nhiên, MySQL nhanh cố SQL Server tất SQL statements dùng để thay đổi, cập nhật liệu lưu giữ binary log SQL Server cung cấp nhiều phương pháp nhân cao cấp hơn, chi tiết phức tạp chậm • Khả phục hồi: Microsoft SQL cung cấp nhiều phương thức nhân nên việc phục hồi liệu Microsoft SQL dễ dàng MySQL • Câu lệnh SQL phức hợp MySQL version 3.x chưa hỗ trợ câu lệnh SQL phức hợp Ví dụ bạn có bảng SinhVien(MSV, ), MonHoc(MonHocID, TenMonHoc) DangKy(MSV, MonHocID) với MSV = Mã Sinh Viên, record bảng DangKy biểu thị SV có MSV đăng ký học MonHoc Yêu cầu đặt bạn hiển thị danh sách SV có đăng ký môn học Bạn SELECT MSV từ bảng hiển thị record có SinhVien.MSV = DangKy.MSV Hoặc bạn làm gọn với câu lệnh SELECT DISTINCT msv FROM DangKy Nhưng giả sử yêu cầu đặt bạn hiển thị danh sách SV KHÔNG có đăng ký môn học Với MySQL bạn với câu lệnh SQL đạt kết mà bạn phải dùng nhiều câu lệnh SQL đơn liên tiếp nhau, phải tạo bảng tạm thời để lưu trữ kết trung gian Trong đó, thực tế, với SQL Server, bạn cần câu lệnh Page 10 tạo nên ứng dụng, lớp không cần biết bên lớp làm mà cần biết lớp cung cấp dịch vụ cho sử dụng mà Ta có mô hình mô tả mô hình ba lớp sau: • Presentation Layer: Lớp làm nhiệm vụ giao tiếp với người dùng cuối để thu thập liệu, chia sẻ giao diện người dùng, mã ẩn Page 16 thiết kế để hiển thị kết quả/dữ liệu cho người dùng thông qua thành phần giao diện người sử dụng Lớp sử dụng dịch vụ lớp Bussiness Logic cung cấp lớp có thành phần User Interface Components User Interface Process Components User Interface Components phần tử chịu trách nhiệm thu thập hiển thị thong tin cho ngưởi dung cuối User Interface Process Components thành phần chịu trách nhiệm quản lý quy trình chuyển đổi User Interface Components • Business Logic Layer: Lớp thực nghiệp vụ hệ thống, làm việc cầu nối lớp Data Layer Presentation Layer Tất liệu phải qua lớp trước đưa đến lớp Presentation Layer Trong lớp có thành phần Business Components, Business Entities Service Interface Service Interface giao diện lập trình mà lớp cung cấp cho lớp Presentation sử dụng Lớp Presentation cần biết dịch vụ thông qua giao diện mà không cần phải quan tâm đến bên lớp thực Business Entities thực thể mô tả đối tượng thông tin mà hệ thống xử lý Các business entities dùng để trao đổi thông tin lớp Presentation lớp Data Access Business Components thành phần thực dịch vụ mà Service Interface cung cấp, chịu trách nhiệm kiểm tra ràng buộc logic(constraints), qui tắc nghiệp vụ(business rules), sử dụng dịch vụ bên khác để thực yêu cầu ứng dụng Page 17 • Data Access Layer: Về bản, Data Layer máy chủ lưu trữ tất liệu ứng dụng Data Layer bao gồm sở liệu bảng, tập tin XML phương tiện khác lưu trữ Data Aplication Lớp thực nghiệp vụ lien quan đến lưu trữ truy vấn liệu ứng dụng Data Access Logic components (DALC) thành phần chịu trách nhiệm lưu trữ vào truy xuất liệu từ nguồn liệu – Data Sources RDMBS, XML, File systems… Trong NET Các DALC thường thực cách sử dụng thư viện ADO.NET để giao tiếp với hệ sở liệu sử dụng O/R Mapping Frameworks để thực việc ánh xạ đối tượng nhớ thành liệu lưu trữ sở liệu Service Agents thành phần trợ giúp việc truy xuất dịch vụ bên ngòai cách dễ dàng đơn giản truy xuất dịch vụ nội NHẬN XÉT: Mô hình ba lớp mô hình mà thành phần độc lập với nhau, dễ dàng bảo trì mã mà không cần thay đổi toàn mã nguồn Phương pháp thực hữu ích việc thực dự án, số thành phần tái sử dụng dự án khác Hoặc phân phối công việc nhà phát triển trì tương lai mà không gặp trở ngại Page 18 2) Ví dụ minh họa Ví dụ: Cho bảng cở sở liệu có tên ĐIỂM sau: TENSV TRỊNH THU TRANG NINH THỊ HỒNG DUYÊN TRỊNH XUÂN QUẢNG NGUYỄN THỊ TÙNG LÂM TRỊNH THỊ HẠNH HÀ THẢO QUYÊN MALOP 001 001 002 002 003 002 DIEM 5.5 Yêu cầu: Xuất bảng ĐIỂM tạo Button có tên THOÁT Áp dụng mô hình ba lớp DbConnection: Lớp sử dụng chủ yếu để thực truy vấn sở liệu Select, Update Delete Nó kiểm tra kết nối sở liệu mở hay không Nếu kết nối sở liệu không mở cửa, mở kết nối thực truy vấn sở liệu Kết liệu nhận qua Data Table lớp Lớp có thiết lập sở liệu từ file app.config, thực linh hoạt để quản lý thiết lập sở liệu Page 19 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; using System.Windows.Forms; namespace VD { public class dbConnection { private SqlDataAdapter myAdapter; private SqlConnection con; public dbConnection() { myAdapter = new SqlDataAdapter(); = new SqlConnection(@"Data Source=TRANG-PC\\SQLEXPRESS;Integrated Security=True"); } private SqlConnection openConnection() { if(con.State == ConnectionState.Closed || con.State == ConnectionState.Broken) { Page 20 con.Open(); } return con; } public DataTable executeSelectQuery(String _query, SqlParameter[] sqlParameter) { SqlCommand myCommand = new SqlCommand(); DataTable dataTable = new DataTable(); dataTable = null; DataGridView dg = new DataGridView(); try { myCommand.Connection = openConnection(); myCommand.CommandType = CommandType.StoredProcedure; myCommand.CommandText = "HIENTHI"; myCommand.Parameters.AddRange(sqlParameter); myAdapter.SelectCommand = myCommand; myAdapter.Fill(dataTable); dg.DataSource = dataTable; Page 21 } catch(SqlException ) { Console.Write("loi"); return null; } finally { } return dataTable; } } } Database Access Layer: Cơ sở liệu Access Layer (DAO) xây dựng truy vấn dựa tham số nhận từ lớp Bussiness Logic Layer vượt qua lớp dbConnection để thực Và trả kết từ lớp dbConnection tới lớp Bussiness Logic Layer using System; using System.Collections.Generic; using System.Linq; using System.Text; Page 22 using System.Data; using System.Data.SqlClient; namespace VD.DAO { public class UserDAO { private dbConnection con; public UserDAO() { = new dbConnection(); } public DataTable hienthithongtin() { string query = string.Format("select * from DIEM"); SqlParameter[] sqlParameters = new SqlParameter[0]; return con.executeSelectQuery(query, sqlParameters); } } } Value object: Page 23 Value object thực chất lớp với phương pháp GET SET( phương pháp nhận trả liệu) Nó chủ yếu sử dụng để đưa liệu từ lớp sang lớp khác Nó kết nối trực tiếp với Business Logic Layer lớp Presentation Layer using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace VD.DAO { public class UserVO { private float _DIEM; private string _MASV; private string _TENSV; public UserVO() { } public float DIEM { get { return _DIEM; } set { _DIEM = value; } } Page 24 public string MASV { get { return _MASV; } set { _MASV = value; } } public string TENSV { get { return _TENSV; } set { _TENSV = value; } } } } Business Logic Layer: Business Logic Layer (BUS) hoạt động cầu nối lớp Presentation Layer lớp Database Access Layer(DAO) Tất giá trị người dùng nhận từ lớp Presentation thông qua lớp Các kết nhận từ lớp Database Access Layer hàng liệu định dạng bảng liệu, lớp chuyển đổi thành Value Object(VO) Business Logic Layer (BUS) lớp quan trọng toàn chương trình chủ yếu chứa tất business logic chương trình Bất người dùng muốn cập nhật business logic chương trình cần cập nhật lớp Page 25 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; using VD.DAO; namespace VD.BUS { public class UserBUS { private UserDAO _userDAO; private string _ht; public UserBUS() { _userDAO = new UserDAO(); } public UserVO bangdulieu() { UserVO userVO = new UserVO(); DataTable dataTable = new DataTable(); Page 26 dataTable = _userDAO.hienthithongtin(); return userVO; } } } Presentation Layer: Presentation Layer lớp kết nối trực tiếp với người sử dụng Vì vậy, tiếp thị lớp thực quan trọng đối Lớp Presentation Layer chủ yếu sử dụng để nhận liệu người dùng sau đưa tới lớp Business Logic Layer, liệu nhận Value Object chịu trách nhiệm thể cho Value Object dạng thích hợp mà người sử dụng hiểu using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using VD.BUS; Page 27 namespace VD.Presentation { public partial class Form1 : Form { private UserBUS _userBUS; public Form1() { InitializeComponent(); _userBUS = new UserBUS(); } private void Form1_Load(object sender, EventArgs e) { // TODO: This line of code loads data into the 'dataSet2.DIEM' table You can move, or remove it, as needed this.dIEMTableAdapter.Fill(this.dataSet2.DIEM); } private void bntTHOÁT_Click(object sender, EventArgs e) { Page 28 DialogResult traloi; traloi = MessageBox.Show("Chắc không?","Trả lời", MessageBoxButtons.OKCancel,MessageBoxIcon.Question); if (traloi == DialogResult.OK) Application.Exit(); } } } Page 29 Page 30 [...]... hơn hẳn Tuy nhiên mô hình ba lớp là mô hình đáng để lựa chọn hơn cả ngoài những ưu điểm của nó còn vì những lí do sau: • Là mô hình lập trình phổ biến và được sử dụng rộng rãi • Phù hợp với những bài toán vừa và lớn Chương 2: Mô hình ba lớp I Lý thuyết 1) Giới thiệu về mô hình ba lớp Trong phát triển ứng dụng, để dễ quản lý các thành phần của hệ thống, cũng như không bị ảnh hưởng bởi các thay đổi, người... điểm sau: • Đây là ngôn ngữ mạnh, chỉ ứng thứ 2 sau Oracel • Là ngôn ngữ phổ biến • Câu lệnh đơn giản • Khả năng chứa dữ liệu lớn • Mức độ bảo mật cao • Đơn giản, dễ sử dụng • Hiệu suất sử dụng lớn, truy xuất dữ liệu nhanh • Thích hợp sử dụng trong bài toán vừa và lớn III Sự khác nhau giữa các mô hình lập trình 1) Mô hình một lớp Mô hình một lớp thông thường là mô hình mà chương trình chạy từ đầu tới... lý chậm Phần giao diện Presentation Layer sẽ phải thao tác với dữ liệu qua lớp trung gian đó là Bussiness Logic Layer, dữ liệu sẽ phải đóng gói, truyền đi và mở gói trước khi sử dụng được Điều này sẽ làm tăng thời gian thực thi của ứng dụng, làm ứng dụng trở nên “chậm” hơn một cách thông thường • Việc phát triển ứng dụng phức tạp hơn 3) Mô hình đa tầng Page 13 Kiến trúc đa tầng trong phần mềm là kiến... nhiệm kiểm tra các ràng buộc logic(constraints), các qui tắc nghiệp vụ(business rules), sử dụng các dịch vụ bên ngoài khác để thực hiện các yêu cầu của ứng dụng Page 17 • Data Access Layer: Về cơ bản, Data Layer là máy chủ lưu trữ tất cả các dữ liệu của ứng dụng Data Layer bao gồm các cơ sở dữ liệu bảng, các tập tin XML và các phương tiện khác lưu trữ Data Aplication Lớp này thực hiện các nghiệp vụ... các thành phần có cùng chức năng lại với nhau và phân chia trách nhiệm cho từng nhóm để công việc không bị chồng chéo và ảnh hưởng lẫn nhau Ví dụ trong một công ty bạn có từng phòng ban, mỗi phòng ban sẽ chịu trách nhiệm một công việc cụ thể nào đó, phòng này không được can thiệp vào công việc nội bộ của phòng kia như Phòng tài chính thì chỉ phát lương, độc lập với nhau trong công việc Trong phát triển. .. trong cơ sở dữ liệu Service Agents là những thành phần trợ giúp việc truy xuất các dịch vụ bên ngòai một cách dễ dàng và đơn giản như truy xuất các dịch vụ nội tại NHẬN XÉT: Mô hình ba lớp là mô hình mà các thành phần của nó độc lập với nhau, do đó có thể dễ dàng bảo trì mã mà không cần thay đổi toàn bộ mã nguồn Phương pháp này thực sự rất hữu ích trong việc thực hiện các dự án, một số thành phần có... cầu: Xuất ra bảng ĐIỂM và tạo một Button có tên là THOÁT Áp dụng mô hình ba lớp DbConnection: Lớp này được sử dụng chủ yếu để thực hiện truy vấn cơ sở dữ liệu như Select, Update và Delete Nó cũng kiểm tra nếu kết nối cơ sở dữ liệu được mở hay không Nếu kết nối cơ sở dữ liệu không mở cửa, nó sẽ mở ra kết nối và thực hiện các truy vấn cơ sở dữ liệu Kết quả dữ liệu sẽ được nhận và đi qua Data Table trong... lưu trữ và truy vấn dữ liệu của ứng dụng Data Access Logic components (DALC) là thành phần chính chịu trách nhiệm lưu trữ vào và truy xuất dữ liệu từ các nguồn dữ liệu – Data Sources như RDMBS, XML, File systems… Trong NET Các DALC này thường được hiện thực bằng cách sử dụng thư viện ADO.NET để giao tiếp với các hệ cơ sở dữ liệu hoặc sử dụng các O/R Mapping Frameworks để thực hiện việc ánh xạ các đối... Tất cả các công việc được viết trong một lớp 1.1) Ưu điểm • Chương trình đơn giản, dễ hiểu • Tư duy giải thuật rõ ràng 1.2) Nhược điểm • Không hỗ trợ việc tái sử dụng • Không phù hợp với các bài toán lớn • Tốn thời gian và chi phí bảo trì Page 12 2) Mô hình 3 lớp Đặc điểm: Mô hình ba lớp giúp phân việc cần làm ra ba nhóm riêng biệt là Presentation Layer, DataAccess Layer và Bussiness Logic Layer Các lớp... trúc mà trong đó phần mềm được chia thành rất nhiều phần khác nhau, độc lập với nhau và có liên quan đến nhau Để phân chia các chức năng thành các tầng, chúng ta phải dựa vào nhiệm vụ và giới hạn của mỗi phần để chia thành các phần sao cho thật chính xác Kiến trúc đa tầng dùng cho những người phân tích và thiết kế chương trình Mục đích của nó là giảm thiểu sự phức tạp trong việc thiết kế một chương trình ... dụng, làm ứng dụng trở nên “chậm” cách thông thường • Việc phát triển ứng dụng phức tạp 3) Mô hình đa tầng Page 13 Kiến trúc đa tầng phần mềm kiến trúc mà phần mềm chia thành nhiều phần khác... • Đơn giản, dễ sử dụng • Hiệu suất sử dụng lớn, truy xuất liệu nhanh • Thích hợp sử dụng toán vừa lớn III Sự khác mô hình lập trình 1) Mô hình lớp Mô hình lớp thông thường mô hình mà chương trình... • Việc phát triển ứng dụng phức tạp Page 14 KẾT LUẬN: Từ kết so sánh trên, ta nhận thấy rằng: Mô hình lớp mô hình đa tầng mô hình có ưu điểm vượt trội hẳn Tuy nhiên mô hình ba lớp mô hình đáng

Ngày đăng: 12/12/2015, 09:43

Từ khóa liên quan

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

Tài liệu liên quan