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

Đồ án môn Các công nghệ lập trình hiện đại

23 26 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Các công nghệ lập trình hiện đại
Tác giả Nguyễn Vũ Hào, Phạm Lê Hoàng, Lê Thạch Nhật Huy, Phan Văn Huy
Người hướng dẫn Trần Đình Nghĩa
Trường học Trường Đại Học Sài Gòn
Chuyên ngành Kỹ Thuật Phần Mềm
Thể loại Đồ án môn các công nghệ lập trình hiện đại
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 23
Dung lượng 6,11 MB
File đính kèm AppPhoto.rar (15 MB)

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

Nội dung

BAO GỒM SOURCE CODE TRƯỜNG ĐẠI HỌC SÀI GÒN KHOA CÔNG NGHỆ THÔNG TIN CÁC CÔNG NGHỆ LẬP TRÌNH HIỆN ĐẠI Chương trình trình diễn hình ảnh Giảng viên hướng dẫn Trần Đình Nghĩa Sinh viên thực hiện , Universal Windows Platform C,

Trang 1

TRƯỜNG ĐẠI HỌC SÀI GÒN

KHOA CÔNG NGHỆ THÔNG TIN

- -CÁC CÔNG NGHỆ

LẬP TRÌNH HIỆN ĐẠI

Chương trình trình diễn hình ảnh

Giảng viên hướng dẫn: Trần Đình Nghĩa

Sinh viên thực hiện:

Trang 3

MỤC LỤC

I Tìm hiểu về môn Các công nghệ lập trình hiện đại 1

1 Khái niệm LinQ 1

2 LinQ to SQL 1

3 Truy vấn sử dụng LinQ to SQL 2

a) Cấu trúc của câu truy vấn LinQ to SQL 2

b) Cơ chế làm việc với cơ sở dữ liệu của LinQ to SQL 3

c) Các từ khóa để tạo ra các câu truy vấn 3

d) Các đối tượng hay sử dụng trong LinQ to SQL 4

e) Cấu trúc các truy vấn sử dụng LinQ to SQL trong C# 4

4 Điện toán đám mây (Cloud computing) 5

II Lược đồ (Diagram) 7

1 Use case Diagram 7

2 Class Diagram 7

3 Sequence Diagram 8

III Giao diện 9

1 Main Screen 9

2 Edit Screen 10

3 Crop Screen 10

4 Draw Screen 11

5 Screen 5 11

IV Tài liệu tham khảo 12

Trang 4

I Tìm hiểu về môn Các công nghệ lập trình hiện đại

1 Khái niệm LinQ

LINQ (Language Integrated Query) ngôn ngữ tích hợp truy vấn là một sự đổimới trong visual studio 2008 và Net Framework 3.5 là cầu nối khoảng cách giữa thếgiới của đối tượng và thế giới dữ liệu

Theo truyền thống các câu lệnh truy vấn trên dữ liệu được thể hiện một cách dễdàng giống như các chuỗi ký tự đơn giản mà không cần đến kiểm tra tại thời điểm diễn

ra biên dịch hoặc sự hỗ trợ của trình hỗ trợ trực quan Hơn nữa cần phải tìm hiểu mộtngôn ngữ truy vấn khác nhau cho mỗi loại dữ liệu nguồn khác nhau như: Cơ sở dữ liệuSQL, tài liệu XML( Extensible Markup Language), các dịch vụ của LINQ hỗ trợ truyvấn một lớp đầu tiên xây dụng trong ngôn ngữ C# và Visual Basic Sử dụng câu lệnhtruy vấn dựa trên tập hợp của các đối tượng bằng cách sử dụng ngôn ngữ, các từ khóa

và các toán tử quen thuộc

Trong Visual Studio có thể viết câu lệnh truy vấn LINQ trong Visual Basic hoặcC# với cơ sở dữ liệu SQL Server, các tài liệu XML, ADO.NET databasets và bát kỳđối tượng nào được hỗ trợ IEnumerable hoặc có đặc điểm giống giao diệnIenumerable<T> LINQ hỗ trợ cho các thực thể ADO.NET framework và LINQ đangđược các nhà cung cấp hiện nay viết bởi bên thứ ba cho nhiuef dịch vụ và triển khai dữliệu hóa Có thể sử dụng các truy vấn LINQ trong các dự án mới hoặc các dự án hiện

có Một yêu cầu duy nhât là các dự án đó phải được xây dựng trên NET framework3.5

- LinQ có nhiều loại: LinQ to SQL, LinQ to Entities, LinQ to Object TrongProject này sẽ sử dụng LinQ to SQL

- Các Namespace hỗ trợ của LINQ:

Trang 5

SQL là một phiên bản hiện thực hoá của O/RM (object relational mapping) có bêntrong NET Framework Nó cho phép người dùng mô hình hoá một cơ sở dữ liệu dùngcác lớp NET Sau đó, có thể truy vấn chúng bằng cách dùng LinQ – tất nhiên nó chophép các thao tác: Insert, Update, Delete, View, Store Procedure, Transaction LinQ toSQL chỉ hỗ trợ cho SQL Server, và người dùng là người mới bắt đầu nghiên cứu thìLinQ to SQL là sự lựa chọn tuyệt vời nhất

Hình 1: Mô hình LinQ to SQL

3 Truy vấn sử dụng LinQ to SQL

a) Cấu trúc của câu truy vấn LinQ to SQL

Một câu lênh truy vấn trong LinQ to sql luôn gồm có 3 đối tượng: Nguồn dữ liệu,tạo câu truy vấn, thực hiện câu truy vấn:

Trang 6

Hình 2: Cấu trúc hoạt động LinQ to SQL

Nguồn dữ liệu ở đây là một danh sách các item

Câu lệnh truy vấn bao gồm có from là xác định dữ liệu lấy từ bảng nào, where làthỏa mãn điều kiện gì thì lấy ra, select là lựa chọn các trường nào của đối tượng , hay

là chọn cả đối tượng

Thực hiện câu truy vấn ở đây có thể là lên thêm, sửa , xóa.Thêm , sửa , xóa ởđây có thể là một hoặc nhiều đối tượng

b) Cơ chế làm việc với cơ sở dữ liệu của LinQ to SQL

LinQ thông qua ứng dụng hỗ trợ biên dịch lin để dịch thành các câu lệnh tươngứng trong Sql để thực hiện thao tác với cơ sở dữ liệu Các câu lệnh thao tác với cơ sở

dữ liệu thì khi gọi đến các câu lệnh thì nó chưa thực hiện Nó chỉ thực hiên khi gọi đếnphương thức Submitchange() Các câu lệnh thao tác này cũng phải thông qua ứng dụng

hỗ trợ biên dịch các câu lệnh LinQ thành các câu lệnh sql tương ứng để thao tác với cơ

sở dữ liệu

c) Các từ khóa để tạo ra các câu truy vấn

from itemName in srcEX

joinitemName in srcEx on keyEx equal keyEX (into ItemName)

where predExpr

group SelExpr by keyEX

into itemName query-body

orderby(keyEX(ascending descending)?)*

select selExpr

Trong đó:

 From là chọn đối tượng từ nguồn nào

 Join là thực hiện tham gia liên kết với bảng nào để lấy ra các trường dữ liệu

mong muốn

 Where để ghi điều kiện các đối tượng trong nguồn phải thỏa mãn điều kiện này

thì mới được lấy ra

Trang 7

 Group là thực hiện gom nhóm các đối tượng lấy ra theo một trường nào đó Ví

dụ có một danh sách các sinh viên thì các bạn sẽ muốn các sinh viên thuộc cùng

1 lớp sẽ đứng gần nhau Để làm được điều này trong LinQ dùng group

 Orderby là thực hiện sắp xếp các đối tượng được lấy ra theo 1 trường nào đó và

theo thứ tự giảm dần hay tăng dần

d) Các đối tượng hay sử dụng trong LinQ to SQL

- Các hàm Sum/ Min/ Max/ Average là các hàm tính tổng, lấy giá trị nhỏ nhất,lấy giá trị lớn nhất, lấy giả trị trung bình

- Hàm take, skip là hàm lấy ra bao nhiêu bản ghi được hiển thị trong danh sáchcác bản ghi và lấy ra từ bản ghi thử mấy

- Hàm First, FirstOrDefault là hàm dùng để lấy ra phần tử đầu tiên trong danhsách các phần tử:

+ First: Khi dùng mà phần tử lấy ra mà rỗng thì nó sẽ xảy ra lỗi.

+ FirstOrDefault : Có thể cho phép đối tượng lấy ra là null nhưng nhớ khi thực

hiện thì kiểm tra nó khác null thì mới thực hiên câu lênh bên trong if là được

- Tương tự như FirstOrDefault thì Last, LastOrDefault là lấy ra phần tử cuốicùng

e) Cấu trúc các truy vấn sử dụng LinQ to SQL trong C#

 Hiển thị dữ liệu lên một GridView

List<Sach> list = new List<Sach>();

var query = (from n in db.Saches

select n);

Trang 8

list = query.ToList<Sach>();

DataGridView1.DataSource = list;

 Tìm kiếm dữ liệu từ CSDL

var query1 = (from sach in db.Saches

where sach.MaSach == cbb_masach.Text

select sach);

list = query1.ToList<Sach>();

DataGridView1.DataSource = list;

 Thêm một bản ghi vào CSDL

Sach saches = new Sach();

saches.CMT = txt_cmt.Text;

saches s.MaSach = txt_masach.Text;

saches s.TenSach = txt_tensach.Text;

saches s.TacGia = txt_tgia.Text;

saches s.NXB = txt_nxb.Text;

db.Saches.InsertOnSubmit(saches);

db.SubmitChanges();

 Sửa một bản ghi trong CSDL

Sach saches = db.Saches.FirstOrDefault(s => s.CMT == txt_cmt.Text); saches s.MaSach = txt_masach.Text;

saches s.TenSach = txt_tensach.Text;

saches s.TacGia = txt_tgia.Text;

saches s.NXB = txt_nxb.Text;

db.SubmitChanges();

 Xóa một bản ghi trong CSDL

Sach dssach = (from Sach in db.Saches

where Sach.CMT == txt_cmt.Text

 Tìm kiếm dữ liệu từ nhiều bảng

var query = (from dg in db.DocGias

join ms in db.MuonSaches on dg.MaSach equals ms.MaSach where dg.CMT == txt_input.Text

select ms);

sachBindingSource.DataSource = query.ToList();

Trang 9

4 Điện toán đám mây (Cloud computing)

Về khái niệm, điện toán đám mây có thể hiểu là nơi tập hợp chung của các tàinguyên hệ thống máy tính có thể tùy chỉnh và các dịch vụ cấp cao hơn có thể đượccung cấp nhanh chóng với tài nguyên quản lý tối thiểu, thông thường là qua Internet.Điện toán đám mây dựa vào việc chia sẻ tài nguyên để đạt được sự gắn kết và tiết kiệm

về quy mô, tương tự như một tiện ích công cộng

Trước khi có điện toán đám mây, hầu hết ta phải sử dụng CD, Floppy disk hoặcUSB để lưu trữ dữ liệu dự phòng nhưng thường chúng khá tốn kém và bất tiện khi đilại

Hình 3: Mô hình thuật toán đám mây

Lợi ích:

+ Hình thành các dịch vụ lưu trữ thông tin như OneDrive, Google Drive,Dropbox,… có chức năng lưu trữ thông tin trực tuyến, giảm bớt rủi ro khi mang đimang lại thông tin quan trọng trên tay cũng như thuê phần mềm lưu trữ bên thứ ba

+ Đảm bảo hệ thống bảo mật dữ liệu luôn an toàn khi mọi người đều có thể đăng

ký tài khoản dịch vụ miễn phí (Chỉ nhất định đối với các tài khoản Free)

Bất lợi:

+ Mọi thứ liên quan đến Cloud hầu như đều cần kết nối Internet

+ Mạng chậm dẫn đến thiệt hại do thời gian vận chuyển thông tin

Trang 10

+ Quyền riêng tư bị ảnh hưởng do thông tin vẫn chưa đảm bảo bí mật tuyệt đối,đặc biệt là khi đánh mất tài khoản.

+ Nỗi lo về downtime: KHÔNG một nhà cung cấp dịch vụ đám mây nào có thểđảm bảo rằng máy chủ của họ sẽ chạy 100% liên tục

5 Ứng dụng Universal Windows Platform (UWP)

Universal Windows Platform (UWP), là một cấu trúc ứng dụng thống nhất giữa cácnền tảng được tạo bởi Microsoft và được giới thiệu lần đầu trong Windows 10 Mụcđích của nền tảng phần mềm này là giúp phát triển các ứng dụng kiểu Metro chạy trên

cả Windows 10 và Windows 10 Mobile mà không cần phải viết lại ứng dụng cho mỗinền tảng Nó hỗ trợ cho việc phát triển các ứng dụng Windows bằng C++, C#,VB.NET, hoặc XAML API được thực hiện bằng C++, và được hỗ trợ trong C++,VB.NET, C#, và JavaScript Được thiết kế như một phần mở rộng của nền tảngWindows Runtime được giới thiệu lần đầu trong Windows Server 2012 và Windows 8,UWP cho phép nhà phát triển tạo các ứng dụng có thể chạy trên nhiều loại thiết bị.UWP là một phần của Windows 10 và Windows 10 Mobile Các ứng dụng UWPkhông chạy trên các phiên bản Windows cũ hơn

Các ứng dụng sử dụng nền tảng này được phát triển bằng Visual Studio 2015 Các ứngdụng kiểu Metro cũ dành cho Windows 8.1, Windows Phone 8.1 hoặc cho cả hai(universal 8.1) cần được điều chỉnh để chuyển sang UWP

Ứng dựng UWP bao gồm giao diện là file xaml , và file xaml.cs để xử lý chức năngcho giao diện

Trang 11

Giới thiệu một số thanh công cụ của UWP:

 AppBar

 CommandBar

< CommandBar > < AppBarButton Icon = " Back " Label = " Back " Click = " AppBarButton_Click " /> < AppBarButton

Icon = " Stop " Label = " Stop " Click = " AppBarButton_Click " /> < AppBarButton Icon = " Play " Label = " Play "

Click = " AppBarButton_Click " /> </ CommandBar >

Trang 12

Được dùng như một thanh công cụ

 FlipView

Một điều khiển trình bày một bộ sưu tập các mục mà người dùng có thể lướt qua, mỗilần một mục

< FlipView x:Name = " flipView1 " SelectionChanged = " FlipView_SelectionChanged " > < Image

Source = " Assets/Logo.png " /> < Image Source = " Assets/SplashScreen.png " /> < Image

Source = " Assets/SmallLogo.png " /> </ FlipView >

 Flyout

Trang 13

Hiển thị một thông báo yêu cầu tương tác người dùng (Không giống như hộp thoại,flyout không tạo một cửa sổ riêng và không chặn tương tác người dùng khác.)

 InkToolBar

Đi kèm với tool InkCanvas để tự thiết kế lên trên canvas đó

 RelativePanel

Trang 14

RelativePanel cho phép bạn định vị và căn chỉnh các đối tượng con liên quan đến nhauhoặc bảng điều khiển chính.

Trang 15

Microsoft cung cấp các mẫu thiết kế dành cho Adobe Illustrator và MicrosoftPowerPoint gồm tất cả những gì bạn cần để bắt đầu thiết kế các ứng dụng UWP.Những mẫu thiết kế này bao gồm các control và giao diện cho từng dòng thiết bị.

6 Công nghệ xử lý hình ảnh

Lumia Imaging SDK, hiện là phiên bản 3.0, cung cấp các công nghệ mà Microsoft sửdụng trong các ứng dụng hình ảnh của riêng mình cho các nhà phát triển bên thứ ba.Các tính năng cung cấp khả năng giải mã và mã hóa hình ảnh, áp dụng hiệu ứng, phatrộn, cắt, xoay và thay đổi kích thước Nó cho phép các nhà phát triển dễ dàng truy cậpvào các thuật toán hình ảnh đẳng cấp thế giới và việc sử dụng GPU dễ dàng (sử dụngDirect2D) Nó cũng cho phép các nhà phát triển mở rộng chức năng cho các kịch bảntùy chỉnh

Lumia Imaging SDK là một bộ công cụ xử lý khung hình và video phong phú dành chocác nhà phát triển để cung cấp trải nghiệm hình ảnh tuyệt vời trong ứng dụng của họ

Nó cung cấp hơn 60 hiệu ứng được tạo sẵn, nhiều trong số đó có thể được áp dụng màkhông cần giải mã toàn bộ hình ảnh Điều đó có nghĩa là bạn có thể áp dụng hiệu ứngcho hình ảnh có độ phân giải cao mà không phải lo lắng về ngân sách bộ nhớ của mình.Bạn có thể thêm một hiệu ứng cho dự án hiện tại của bạn chỉ bằng một vài dòng C #.Thư viện cũng có thể được gọi từ mã C ++ Các hiệu ứng có thể được kết nối để tạo rahiệu ứng chính xác mà bạn đang tìm kiếm

Một số hiệu ứng:

Trang 17

II Lược đồ (Diagram)

1 Use case Diagram

Flip

MainPage

Open, Zoom, Slide, Detect face

Trang 19

III Giao diện

1 Main Screen

Chọn menu click Open để mở môt hình ảnh

Click nút SlideShow trên thanh AppBar

16

Trang 20

2 Slide show

2 Edit Screen

Trang 21

3 Crop Screen

4 Draw Screen

Trang 23

IV LINK Tải về demo

https://rg.link/SoZhh7V

Nếu không tải được, vui lòng liên hệ : phamlehoang.dct1143@gmail.com

V Tài liệu tham khảo

 Đồ án kỹ sư II – Nguyễn Văn Thụy, Đoàn Mạnh Giỏi

 Giáo trình nhập môn CSDL – Phạm Hùng Phú – 2012

 Phân tích thiết kế hệ thống thông tin quản lý – Phạm Hùng Phú – 2012

 Phân tích thiết kế hệ thống thông tin – Nguyễn Văn Ba – 2002

 Cấu trúc dữ liệu và giải thuật – Đỗ Xuân Lôi – 2009

 Giáo trình LinQ to SQL tiếng Việt – Đào Hải Nam (Bản dịch) - 2013

 Khóa học trực tuyến Duy Thành – CSE.Wordpress 2014

 Giáo trình môn Các công nghệ lập trình hiện đại – Trần Đình Nghĩa - 2018

 Giáo trình tổng quan về LinQ – Đại học Đồng Nai – 2008

 Thư viện ,

https://msdn.microsoft.com/en-us/library/windows/apps/mt185406.aspx?f=255&MSPPError=-2147217396

Ngày đăng: 06/12/2022, 17:29

TỪ KHÓA LIÊN QUAN

w