Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của nhóm trainer, nhóm thực tập chúng em đã tiếp thu được những kiến thức quan trọng để có thể làm được các chức năng của mộ
Trang 1KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO THỰC TẬP
LẬP TRÌNH WEB ASP.NET
Công ty thực tập : CÔNG TY TNHH CÔNG NGHỆ &
DỊCH VỤ ĐẤT VIỆT Người phụ trách :Phạm Đình Hòa
Thực tập sinh : Nguyễn Đăng Hưng
TP Hồ Chí Minh, tháng 7 năm 2020
Trang 2Ngày nay, ngành công nghiệp thiết kế web là một bộ phận không thể thiếu của ngành công nghiệp phần mềm Với tốc độ phát triển vô cùng mạnh mẽ, ngành web đã và đang là nhân
tố kích thích sự phát triển của công nghệ thông tin thế giới, cả về phần cứng và phần mềm
Cùng với xu thế phát triển của thế giới, Việt Nam cũng không phải ngoại lệ Ngành công nghiệp web Việt Nam đã và đang phát triển mạnh mẽ, để hòa nhập với những công ty hàng đầu
về phát triển phần mềm trên thế giới Bên cạnh những công ty phát triển phần mềm lớn trong nước, ngày càng nhiều công ty phát triển phần mềm gia nhập vào thị trường Việt Nam, góp phần rất lớn vào sự phát triển tích cực của ngành công nghệ thông tin Việt
Ngành lập trình web được sinh ra là do nhu cầu giải trí của giới trẻ bằng những thiết bị công nghệ mới nhất Và cũng chính giới trẻ sẽ là nguồn nhân lực quan trọng cho việc phát triển của ngành web sau này Vì lý do này, em quyết định chọn lập trình web làm định hướng cho việc học tập của mình
Sau ba năm học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũng như muốn được tham gia làm website trong một môi trường chuyên nghiệp, em có dự định là sẽ thực tập học kỳ 2 năm học 2019-2020
Trang 3LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty Đất Việt đã tạo điều kiện cho em có cơ hội được thực tập tại công ty
Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của nhóm trainer, nhóm thực tập chúng em đã tiếp thu được những kiến thức quan trọng để có thể làm được các chức năng của một website theo yêu cầu của khách hàng Chân thành cảm ơn các anh chị trong nhóm trainer đã bỏ ra nhiều thời gian,công sức để hướng dẫn chúng em hoàn thành đợt thực tập này
Đặc biệt cảm ơn anh Phạm Đình Hòa, đã training ,hướng dẫn, giúp đỡ cho chúng em tận
tình cả những khó khăn trong công việc, đến những khó khăn việc làm quen với môi trường mới Cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điều kiện em làm bài báo cáo này
Nguyễn Đăng Hưng TpHCM, ngày 28 tháng 7 năm 2020
Trang 4NHẬN XÉT CỦA KHOA
Trang 7
MỤC LỤC
MỤC LỤC 1
Chương 1: Giới thiệu công ty thực tập 2
1 Giới thiệu về công ty công ty TNHH công nghệ & dịch vụ Đất Việt 2
2 Sản phẩm của công ty 2
Chương 2: Nội dung thực tập 3
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 3
2 Nghiên cứu kỹ thuật 3
3 Thực hiện project 7
4 Lịch làm việc 7
Chương 3: Chi tiết về project 9
1 Giới thiệu về web 9
2 Thực hiện 11
3 Kế hoạch 11
TÀI LIỆU THAM KHẢO 13
TỔNG KẾT 14
Trang 8Chương 1: Giới thiêu công ty thực tập
1 Giới thiệu công ty TNHH công nghệ & dịch vụ Đất Việt
Đất Việt Software được thành lập vào tháng 10 năm 2011 với tiền thân là một đội chuyên gia phần mềm và giải pháp viễn thông có kinh nghiệm từ Hàn Quốc Chuyên môn của chúng tôi bao gồm xây dựng các giải pháp phát triển phần mềm, ứng dụng
di động và dịch vụ đám mây Chúng tôi cân bằng tư duy chiến lược với chuyên môn
kỹ thuật trong các công nghệ đột phá, như điện thoại di động, đám mây và phân tích
để phát triển các giải pháp đáp ứng nhu cầu kinh doanh cụ thể của bạn
2 Sản phẩm của công ty
2.1 Phần mềm hóa đơn điện tử – sản phẩm bán chạy nổi bật
Sản phẩm nổi bật của công ty là Hóa đơn điện tử. Giúp bạn có thể rút ngắn các quy trình lập xuất hóa đơn, cơ sở dữ liệu thông tin được bảo mật an toàn, giảm thiểu những sai sót, lưu trữ dữ liệu được nhiều hơn Nhỏ gọn hơn thay cho việc bạn phải lưu trữ hàng chục quyển hóa đơn mỗi năm Qua năm tháng không thể tránh khỏi việc mối mọt, mất mát hay nhầm lẫn do vô tình Giảm mọi rủi ro trong việc khai báo thuế
2.2 Phần mềm quản lý bán hàng
Phần mềm quản lý bán hàngchúng tôi tạo ra các giải pháp quản lý từ đầu đến cuối, từ khái niệm và chiến lược, cho đến thiết kế Thực hiện và hỗ trợ, giúp khách hàng giải quyết các thách thức trong việc điều hành để đạt được mục tiêu kinh doanh. Đây cũng là 1 trong những sản phẩm nổi bật của chúng tôi
Trang 92.3 ERP Đại Học
Sản phẩm phần mềm quản lý trường học ERP được phát triển bởi Đất Việt Software giúp cán bộ giáo viên thực hiện các nghiệp vụ quản lý trường học như: Quản lý học sinh/sinh viên, Quản lý cán bộ giáo viên, Quản lý giảng dạy, Quản lý thiết bị, Quản
lý thu học phí,…
2.4 Phần mềm Quản lý kho
Phần mềm quản lý kho giúp bạn kiểm soát hàng hóa xuất nhập hàng ngày một cách chi tiết Bạn dễ dàng kiểm tra tình trạng hàng hóa, số lượng hàng tồn kho một cách chính xác đến từng mặt hàng và từng chi nhánh Nắm bắt dễ dàng những mặt hàng bán chạy và hàng tồn để có kế hoạch bổ sung hàng hóa, xả hàng, khuyến mãi, giảm giá
2.5 Phần mềm Quản lý Chứng chỉ
Phần mềm Quản lý Chứng chỉ của chúng tôi cung cấp cho trung tâm của bạn một giải pháp quản lý các chứng chỉ, con người, lớp học trở nên dễ dàng và tiện lợi hơn 2.6 Phần mềm Kế toán
Phần mềm Kế toán AccomNET là giải pháp dành cho các doanh nghiệp , được xây dựng trên công nghệ tiên tiến tại Việt Nam, đảm bảo tuyệt đối nhiều người dùng cùng thao tác trên dữ liệu, làm việc từ xa mọi nơi, mọi lúc qua Internet với cơ chế bảo mật an toàn
Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình web với asp.net” nhằm mục đích giúp sinh viên thực tập được đào tạo toàn diện về lập trình web với asp.net, đồng thời rèn luyện những kỹ năng mềm như làm việc nhóm, thuyết trình, giao tiếp Tại công ty, sinh viên có cơ hội được học tập, khám phá và làm việc trong một môi trường chuyên nghiệp
1. Tìm hiểu công ty và các kỹ năng cơ bản trong công ty
Thời gian : 1 ngày
Nội dung : Giới thiệu về công ty, cách tổ chức của công ty
Được nghe người phụ trách giới thiệu về công ty, quá trình thành lập và phát triên (như đã nhắc đến ở trên), quy trình làm việc từ cao xuống thấp, cách thức tổ chức của công ty, những công nghệ sử dụng
Trang 10Kết quả : Hiểu thêm về công ty Đất Việt Software, quá trình thành lập và phát triển Có thêm các kỹ năng về việc sử dụng email trong công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn
2. Nghiên cứu kỹ thuật
2.1 Các công cụ làm việc
Thời gian : Tuần 1
Nội dung : Tìm hiểu về các công cụ sẽ được sử dụng trong quá trình làm việc.
Trong thời gian này, supervisor đã hướng dẫn thực tập sinh tìm hiểu về các công
cụ sẽ giúp ích cho trong công việc sau này Một số phần mềm trong số đó như Tortoise SVN - sử dụng trong làm việc nhóm
Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên.
Kết quả : Lập trình sử dụng các công cụ miễn phí, giúp dễ dàng kết hợp các công cụ
với nhau, so với việc dung các IDE
2.2 Tìm hiểu ngôn ngữ C# nâng cao
Thời gian : Tuần 2
Nội dung : Được training về các kỹ thuật C# nâng cao, những kiến thức quan trọng
cho việc tối ưu web
- Lập trình hướng đối tượng
Các kiến thức cơ bản về lập trình hướng đối tượng như khái niêm, các đặc tính như tính kế thừa, tính đóng gói, tính ảo hóa, tính đa hình Ngoài ra, thực tập sinh còn được hướng dẫn về cách thiết kế lớp cho các đối tượng của một website
Thực hiện :
- Tham gia đầy đủ các buổi training của công ty
- Làm các bài thực hành, kiểm tra về kiến thức đã học
Kết quả :
- Nâng cao kỹ năng lập trình với ngôn ngữ C#
- Có được những kiến thức quan trọng cho việc lập trình web sau này
- Ngoài ra còn được biết thêm một số quy tắc trong việc viết code sao cho đúng chuẩn, dễ đọc, dễ hiểu
2.3 Lập trình web với ASP.Net MVC
Thời gian : Tuần 3
Trang 11Nội dung: Tìm hiểu về mô hình MVC, Entity Framework.
- Mô hình MVC.
Kiến trúc MVC (Model – View – Controller) chia ứng dụng thành ba thành phầnchính: Model, View và Controller Bộ framework ASP.NET MVC cung cấp thêm một lựa chọn để tạo các ứng dụng web dựa bên mô hình MVC Bộ framework ASP.NET MVC được tích hợp với các chức năng sẵn có của ASP.NET, chẳng hạn như các master page và khả năng xác thực khách hàng dựa trên membership Framework MVC được định nghĩa trong không gian tên
System.Web.Mvc và được hỗ trợ bởi không gian tên System.Web.Rendering
pipeline:
Hình 1: cấu trúc MVC Làm thế nào để tạo ra được hình ảnh 3D trong khi màn hình chỉ là một mặt phẳng 2D Thực chất là chúng ta dữ liệu vào là những thông tin về hình ảnh 3D, sau đó cái mà ta nhận được là một hình ảnh 2D mô phỏng lại hình ảnh 3D đó Quá trình
đó gọi là renderring pipeline Vậy, có thể định nghĩa renderring pipeline là một chuỗi các phép biến đổi của các thông tin về hình ảnh 3D ra thành hình ảnh 2D trên màn hình
- Bộ framework MVC bao gồm các thành phần sau:
o Models Các đối tượng Model là các phần của ứng dụng sẽ thực hiện phần logic cho vùng dữ liệu chính của ứng dụng Thông thường, các đối tượng model nhận và lưu trữ trong một cơ sở dữ liệu Ví dụ, một đối tượng Product có thể nhận thông tin từ một CSDL, thực hiện các thao tác xử lý
dữ liệu trên đối tượng đó, và sau đó update thông tin đã thay đổi ngượi trở lại cho một bảng Product trong SQL Server
o Views Các View là các thành phần hiển thị giao diện khách hàng của ứng dụng Và giao diện khách hàng được tạo ra từ dữ liệu trong các đối tượng Model Ví dụ, có thể chỉnh sửa phần hiển thị của một bảng Products để
Trang 12o Controllers Các Controllers là các thành phần sẽ điều khiển sự tương tác của khách hàng, sau đó làm việc với các đối tượng model tương ứng, và cuối cùng sẽ chọn một đối tượng View phù hợp để trả lại và hiển thị giao diện khách hàng Trong một ứng dụng MVC, đối tượng View chỉ hiển thị thông tin, Controller điểu khiển và trả lại dữ liệu tương ứng với các tương tác và dữ liệu khách hàng nhập vào
- Lợi ích của mô hình MVC
Có tính mở rộng do có thể thay thế từng thành phần một cách dễ dàng
Không sử dụng viewstate, điều này làm các nhà phát triển dễ dàng điều khiển ứng
dụng của mình
Hệ thống định tuyến mới mạnh mẽ
Hỗ trợ tốt hơn cho test-driven development (TDD) cài đặt các unit tests tự động, xác định và kiểm tra lại các yêu cầu trước khi bắt tay vào viết code
Hỗ trợ kết hợp rất tốt giữa người lập trình và người thiết kế giao diện
Sử dụng các tính năng tốt nhất đã có của ASP.NET
Nhược điểm của ASP.NET MVC
Không hướng đến sự kiện làm cho các nhà phát triển ASP.NET webform khó khăn
Yêu cầu hiểu biết về HTTP, HTML, CSS và JavaScript
Thư viện của nhà phân phối thứ ba không mạnh bằng
- Entity Framework.
Tổng quan:
Microsoft ADO.NET Entity Framework là một khuôn khổ đối tượng Object/ Bảng đồ quan hệ Relational Mapping (ORM) cho phép các nhà phát triển dể dàng làm việc với dữ liệu quan hệ như là các đối tượng domain-specific, loại bỏ đi sự khó khăn trong việc truy cập dữ liệu trước đây Bằng cách sử dụng Entity Framework, truy vấn LINQ, thì việc lấy và thao tác dữ liệu như các đối tượng trở nên mạnh mẽ hơn Entity Framework ORM cung cấp các dịch vụ như change tracking, idenity resolution, lazay loading, và truy vấn dữ liệu tập trung vào business logic của ứng dụng Entity Framework là một bộ ánh xạ đối tượng – quan hệ cho phép người lập trình NET làm việc với dữ liệu quan hệ qua các đối tượng (object) nó
Trang 13giúp lập trình viên không cần viết mã cho (hầu hết) những gì liên quan đến truy cập dữ liệu
Các thành phần trong Entity Framework:
o Code là mã lệnh tạo thành các lớp đối tượng dữ liệu cho phép thao tác với dữ liệu
o Model là sơ đồ gồm các hộp mô tả các thực thể và các đường nối kết
mô tả các quan hệ
o Database là cơ sở dữ liệu (có thể là SQL Server, Compact SQL Server, Local database, MySQL, Oracle,…)
Có 3 cách sử dụng Entity Framework: Code First, Models First, Database First
Database first: là phương pháp chỉ nên dùng khi ta đã có sẵn CSDL (không phải tạo), EF Wizard sẽ tạo Model và Code cho ta
Models first: nên dùng khi ta bắt đầu thiết kế CSDL từ đầu (từ chưa có gì) Ta sẽ thiết kế mô hình CSDL (Model) EF sẽ tự tạo code cho ta, sau đó nhờ EF Wizard tạo CSDL
Code first: nên dùng khi đã có mô hình CSDL, ta sẽ chỉ viết code
từ đó tạo database
Thực hiện :
- Tham gia đầy đủ các buổi trainning
- Làm các bài tập thực hành như tạo mô hình MVC, sử dụng Entity Framework …
- Tìm kiếm tài liệu trên mạng để tìm hiểu thêm
Kết quả :
- Hiểu được những khái niệm cơ bản trong lập trình web asp.net MVC
2.4 Tìm hiểu về Jquery, Javascript
Thời gian : Tuần 4
Nội dung : Các kỹ thuật tạo ra một ứng dụng cơ bản trong Android, sử dụng OpenGL
trong Android
JavaScript là một ngôn ngữ lập trình website, được tích hợp và nhúng trong
HTML giúp website sống động hơn JavaScript cho phép kiểm soát các hành vi của trang web tốt hơn so với khi chỉ sử dụng mỗi HTML Vậy ứng dụng thực tiễn
Trang 14- Nên dùng JavaScript vì:
Triển khai tập lệnh phía máy khách
Viết mã phía máy chủ
Đơn giản hóa phát triển ứng dụng web phức tạp
Thiết kế web responsive
Google AMP
Nhiều bộ chuyển đổi
- Ưu điểm của JavaScript:
JavaScript là ngôn ngữ lập trình dễ học
Lỗi của JavaScript dễ phát hiện hơn và vì vậy dễ sửa hơn
JavaScript hoạt động trên nhiều trình duyệt, nền tảng
JavaScript giúp website tương tác tốt hơn với khách truy cập
JavaScript nhanh hơn và nhẹ hơn các ngôn ngữ lập trình khác
- Nhược điểm của JavaScript
Dễ bị khai thác
Có thể được dùng để thực thi mã độc trên máy tính của người dùng
Có thể bị triển khai khác nhau tùy từng thiết bị dẫn đến việc không đồng nhất
Thực hiện :
- Tham gia đầy đủ các buổi training
Trang 15- Sủ dụng những câu lệnh JavaScript đơn giản.
Kết quả:
- Đã có thể sử dụng JavaScript trong web
3. Thực hiện project
Sau một tháng được training và thực hành, thực tập sinh đã nắm được những kiến thực
cơ bản về C#, Entity Framework, JavaScript Trong tháng thứ hai, trainer đã hướng dẫn thực tập sinh áp dụng những kiến thức đã học để phát triển các tính năng của một website quản lý bán hàng
Chi tiết đồ án sẽ được nói ở phần sau
4 Lịch làm việc
Mức độ hoàn thành
Nhận xét của người hướng dẫn
1
- Tìm hiểu về công ty, cách tổ chức của công ty
- Làm quen với các công cụ làm việc trong công ty
- Học cách trao đổi, làm việc qua email
Nguyễn Phi Công 100%
2
- Tìm hiểu ngôn ngữ lập trình C# nâng cao
- Thực hành C#
- Làm bài test C#
Nguyễn Phi Công 100%
3
- Tìm hiểu về MVC, Entity Framework
- Thực hành project đơn giản
Nguyễn Phi Công,
JavaScript
- Thực hành viết các
Trang 165 - 6 - Thực hiện các chứcnăng theo yêu cầu
của khách hàng
7 - 8
Giai đoạn Beta và giai
đoạn kết thúc, báo cáo :
- Xem phải hồi và fix
bug còn tồn tại
- Báo cáo cuối đợt
thực tập
Trang 17Chương 3: Chi tiết về project
1 Giới thiệu web quản lý bán hàng
Web cung cấp cho khách hàng kinh doanh dịch vụ spa
1.1 Nhiệm vụ được giao
Phát triển tính năng quy đổi dịch vụ, thêm các chức năng tìm kiếm, thêm mới các báo cáo quản lý, fix bug còn tồn tại trong web
2 Thực hiện
- Nguyễn Đăng Hưng
Và sự giúp đỡ tận tình của người hướng dẫn
3 Kế hoạch
Giai đoạn Alpha:
- Phát triển, bổ sung các tính năng,tạo mới các báo cáo , fix bug
Kết quả :
- Các chức năng trên đã được thực hiện
Giai đoạn Beta:
- Xem xét các phản hồi của khách hàng về các phần đã thực hiện, sửa các phần đã thực hiện theo yêu cầu của khách hàng
Kết quả : Đã hoàn thành toàn bộ những yêu cầu mà khách hàng muốn đạt được