1. Trang chủ
  2. » Cao đẳng - Đại học

Báo cáo thực tập hệ thống quản lý tài sản

25 2 0

Đ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

Định dạng
Số trang 25
Dung lượng 1,61 MB

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

Nội dung

Trong vòng ba tháng, em đã hoàn thành được một trang web thương mại điện tửgồm các chức năng đáp ứng nhu cầu của người dùng hiện nay, tham gia mô hìnhscrum để phát triển một trang web qu

Trang 1

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Trang 2

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 web trong một môi trường chuyên nghiệp, em có

dự định là sẽ thực tập sau hè Vì vậy, em quyết định chọn Công ty TNHH NashTech –một môi trường lý tưởng, hiện đại, chuyên nghiệp – là nơi sẽ giúp em thực hiện được

dự định này

Trang 3

LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn Công Ty TNHH NashTech đã tạo điều kiện cho em có

cơ hội được thực tập tại một môi trường chuyên nghiệp tại công ty

Trong vòng ba tháng, em đã hoàn thành được một trang web thương mại điện tửgồm các chức năng đáp ứng nhu cầu của người dùng hiện nay, tham gia mô hìnhscrum để phát triển một trang web quản lý tài sản cho người dùng Các kiến thức cơbản về code, git và các kiến trúc phần mềm NET, cùng với đó là các khóa học kỹnăng mềm vô cùng hữu ích của công ty Hiểu được vị trí của một full stack developertrong thời kỳ công nghệ hiện đại Chân thành cảm ơn lòng nhiệt tình giúp đỡ của cácanh chị Leader, Mentor và trưởng HR đã dìu dắt hỗ trợ, hướng dẫn từ những ngày đầu

em vào công ty

Vì kiến thức còn hạn chế cũng như là lần đầu tiên được tiếp xúc với các kiến thứcthực tế, áp dụng lý thuyết vào công việc nên bản thân còn bỡ ngỡ và lúng túng, khôngtránh khỏi những thiếu sót, mong quý Thầy (Cô) có thể đóng góp ý kiến để em có thểhoàn thiện hơn

Cuối cùng em xin cảm ơn thầy cô trong khoa Công Nghệ Phần Mềm đã hỗ trợ, tạođiều kiện cho em có thể hoàn thành bài báo cáo này

Đỗ Ngọc Thành

TP Hồ Chí Minh, ngày 28 tháng 5 năm 2022

Trang 4

NHẬN XÉT CỦA KHOA

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 5

MỤC LỤC

Chương 1 : Giới thiệu công ty thực tập 1

Chương 2: Nội dung thực tập 2

1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 2

2 Nghiên cứu kỹ thuật 2

2.1 Tìm hiểu Git 2

2.2 Tìm hiểu NET 4

2.3 Tìm hiểu RESTful API 6

2.4 Tìm hiểu về ReactJS 7

2.5 Tìm hiểu về Agile - Scrum 9

3 Lịch làm việc 14

Chương 3: Dự án Website quản lý tài sản 16

1 Bối cảnh ra đời của web 16

2 Các chức năng 16

3 Kế hoạch 18

Chương 4: Kết quả đạt được 19

1 Kết quả thu được 19

2 Điểm yếu của bản thân 19

TÀI LIỆU THAM KHẢO 20

Trang 6

Chương 1 : Giới thiệu công ty thực tập

NashTech là công ty thuộc tập đoàn Harvey Nash, có trụ sở chính tại Anh.NashTech là một trong những công ty công nghệ hàng đầu tại Việt Nam với bề dàykinh nghiệm trong việc tư vấn, cung ứng giải pháp công nghệ có quy mô toàn cầu chonhiều khách hàng là những tập đoàn lớn như Ford, Google, Nestle, Honda,Prudential,…

Với lịch sử hơn 21 năm phát triển tại Việt Nam cùng đội ngũ nhân lực hơn 1.600

kỹ sư tài năng ở TP Hồ Chí Minh, Hà Nội, Đà Nẵng, NashTech là một trong nhữngdoanh nghiệp góp phần thúc đẩy vị thế của Việt Nam trên bản đồ công nghệ thế giới

Trang 7

Chương 2: Nội dung thực tập

Đợt thực tập vừa rồi với chủ đề “Hệ thống quản lý tài sản” nhằm mục đích giúpsinh viên thực tập được đào tạo toàn diện về lập trình web, đồ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ôi trường phát triển phần mềm chuyênnghiệ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: 01 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, quy trình làm việc và cách thức tổ chức của công ty

Ngoài ra, thực tập sinh còn được giới thiệu cách thức làm việc trongcông ty như thời gian đi làm, các quy định cần phải tuân thủ…

Kết quả: Hiểu thêm về công ty NashTech, quá trình thành lập và phát triển Có

thêm các kỹ năng trong công việc, làm việc có kế hoạch, có kỷ luật, có tráchnhiệm hơn

2 Nghiên cứu kỹ thuật

2.1 Tìm hiểu Git

Hình 2.1: Mô hình công cụ Git.

Git là tên gọi của một Hệ thống quản lý phiên bản phân tán (DistributedVersion Control System – DVCS) là một trong những hệ thống quản lý phiênbản phân tán phổ biến nhất hiện nay DVCS nghĩa là hệ thống giúp mỗi máytính có thể lưu trữ nhiều phiên bản khác nhau của một mã nguồn được nhân

Trang 8

bản (clone) từ một kho chứa mã nguồn (repository), mỗi thay đổi vào mãnguồn trên máy tính sẽ có thể ủy thác (commit) rồi đưa lên máy chủ nơi đặtkho chứa chính Và một máy tính khác (nếu họ có quyền truy cập) cũng có thểclone lại mã nguồn từ kho chứa hoặc clone lại một tập hợp các thay đổi mớinhất trên máy tính kia Trong Git, thư mục làm việc trên máy tính gọi làWorking Tree.

Hình 2.2: Sơ đồ liên hệ giữa các máy tính.

Ngoài ra, có một cách hiểu khác về Git đơn giản hơn đó là nó sẽ giúp bạnlưu lại các phiên bản của những lần thay đổi vào mã nguồn và có thể dễ dàngkhôi phục lại dễ dàng mà không cần copy lại mã nguồn rồi cất vào đâu đó Vàmột người khác có thể xem các thay đổi của bạn ở từng phiên bản, họ cũng cóthể đối chiếu các thay đổi của bạn rồi gộp phiên bản của bạn vào phiên bản của

họ Cuối cùng là tất cả có thể đưa các thay đổi vào mã nguồn của mình lên mộtkho chứa mã nguồn

Cơ chế lưu trữ phiên bản của Git là nó sẽ tạo ra một “ảnh chụp” (snapshot)trên mỗi tập tin và thư mục sau khi commit, từ đó nó có thể cho phép bạn tái sửdụng lại một ảnh chụp nào đó mà bạn có thể hiểu đó là một phiên bản Đâycũng chính là lợi thế của Git so với các DVCS khác khi nó không “lưu cứng”

dữ liệu mà sẽ lưu với dạng snapshot

Trang 9

Hình 2.3: Sơ đồ cơ cấu của Git.

2.2 Tìm hiểu NET

.NET Framework là một khuôn khổ phần mềm chạy chủ yếu trên MicrosoftWindows được phát triển bởi Microsoft Nó có khả năng tương tác ngôn ngữqua nhiều ngôn ngữ lập trình và bao gồm một thư viện lớp lớn có tên làFramework Class Library – viết tắt là FCL .NET Framework thực thi cácchương trình trong môi trường phần mềm có tên là Common LanguageRuntime – viết tắt là CLR Đây là một máy ảo ứng dụng cung cấp các dịch vụnhư: quản lý bộ nhớ, bảo mật và xử lý các ngoại lệ Như vậy, NET Frameworkđược tạo ra từ 2 môi trường FCL và CLR

FCL cung cấp giao diện cho người dùng, kết nối cơ sở dữ liệu, truy cập dữliệu, mật mã, truyền thông tin mạng, các thuật toán số và phát triển ứng dụngweb và thiết kế web Các lập trình viên tạo ra các phần mềm bằng các kết hợp

Trang 10

các thư viện và mã nguồn NET Ngoài ra, Microsoft cũng đã tạo ra một môitrường phát triển tích hợp của NET đó chính là Visual Studio.

.NET Framework được tạo ra nhằm hoàn thành các mục tiêu sau:

• Nhằm cung cấp cho người dùng một ngôn ngữ lập trình hướng đốitượng, tương thích hầu hết với các mã lưu trữ và thực hiện của đối tượng

• Nhằm giảm thiểu việc triển khai phần mềm và xung đột, thúc đẩy việcthực hiện mã an toàn, cũng như loại bỏ các vấn đề về hiệu suất của các môitrường kịch bản hoặc diễn giải bằng cách cung cấp môi trường thực thi mã

• Nhằm làm cho trải nghiệm của nhà phát triển nhất quán trên nhiều ứngdụng như: các ứng dụng dựa trên web, các ứng dụng dựa trên Windows

• NET Framework có khả năng tích hợp với bất kỳ mã khác nên có thểxây dựng được tất cả thông tin liên lạc về các tiêu chuẩn ngành côngnghiệp

.NET Framework bao gồm: thư viện lớp và thời gian chạy ngôn ngữ phổbiến Thời gian chạy phổ biến chính là nền tảng của NET Framework, nó cungcấp các dịch vụ cốt lõi như: quản lý luồng và remoting, quản lý bộ nhớ, thúcđẩy tính mạnh mẽ và tính bảo mật Nguyên tắc cơ bản của thời gian chạy đóchính là khái niệm về quản lý mã Mã quản lý nhắm vào mục tiêu thời gianchạy, mã không quản lý không nhắm vào mục tiêu thời gian chạy

.NET Framework bắt đầu thời gian chạy bằng mã được quản lý và có khảnăng lưu trữ bằng những mã không được quản lý nhằm tạo ra một một trườngphần mềm có cả 2 tính năng được quản lý và không được quản lý .NETFramework ngoài chức năng cung cấp thời gian chạy cho máy chủ còn hỗ trợphát triển thời gian chạy

Thư viện lớp NET Framework là tập hợp tất cả các loại tái sử dụng được tíchhợp một cách chặt chẽ với thời gian chạy thông dụng Đây chính là công cụhướng đối tượng cung cấp các loại tính năng mà từ đó mã được quản lý đượcthực hiện Điều này không chỉ làm cho NET Framework dễ dàng sử dụng màcòn làm giảm thời gian kết hợp các tính năng

Từ một thư viện hướng đối tượng của NET Framework cho phép bạn hoànthành các tác vụ như: Thu thập dữ liệu, quản lý chuỗi, kết hợp cơ sở dữ liệu vàtruy cập tệp

Web app là một mảng được NET thực hiện rất nhiều Đây là mảng mà các

Trang 11

2.3 Tìm hiểu RESTful API

API (Application Programming Interface) là một tập các quy tắc và cơ chế

mà theo đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụnghay thành phần khác API có thể trả về dữ liệu mà bạn cần cho ứng dụng củamình ở những kiểu dữ liệu phổ biến như JSON hay XML

REST (REpresentational State Transfer) là một dạng chuyển đổi cấu trúc

dữ liệu, một kiểu kiến trúc để viết API Nó sử dụng phương thức HTTP đơngiản để tạo cho giao tiếp giữa các máy Vì vậy, thay vì sử dụng một URL choviệc xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như GET,POST, DELETE, vv đến một URL để xử lý dữ liệu

RESTful API là một tiêu chuẩn dùng trong việc thiết kế các API cho các

ứng dụng web để quản lý các resource RESTful là một trong những kiểu thiết

kế API được sử dụng phổ biến ngày nay để cho các ứng dụng (web, mobile…)khác nhau giao tiếp với nhau REST hoạt động chủ yếu dựa vào giao thứcHTTP Các hoạt động cơ bản nêu trên sẽ sử dụng những phương thức HTTPriêng

● GET (SELECT): Trả về một Resource hoặc một danh sách Resource

● POST (CREATE): Tạo mới một Resource

● PUT (UPDATE): Cập nhật thông tin cho Resource

● DELETE (DELETE): Xóa một Resource

Những phương thức hay hoạt động này thường được gọi là CRUD tương

ứng với Create, Read, Update, Delete – Tạo, Đọc, Sửa, Xóa

Trang 12

2.4 Tìm hiểu về ReactJS

React.js là một thư viện Javascript đang nổi lên trong những năm gần đây

với xu hướng Single Page Application Trong khi những framework khác cốgắng hướng đến một mô hình MVC hoàn thiện thì React nổi bật với sự đơn

giản và dễ dàng phối hợp với những thư viện JavaScript khác Nếu nhưAngularJS là một Framework cho phép nhúng code JavaScript trong code htmlthông qua các attribute như ng-model, ng-repeat thì với React là một library

cho phép nhúng code html trong code javascript nhờ vào JSX, bạn có thể dễdàng lồng các đoạn HTML vào trong JS.Tích hợp giữa javascript và HTMLvào trong JSX làm cho các component dễ hiểu hơn

Trang 13

▪ Được gọi khi hiển thị component ra ngoài trình duyệt

▪ Sẽ return về nội dung mà bạn đã viết, có thể là một component hoặc nullhoặc là false (trong trường hợp không muốn render gì cả)

Đầu tiên khi component được gọi thì hàm hàm constructor() được gọi, sau

đó đến componentWillMount(), tiếp theo là render() ra ngoài và cuối cùng hàmcomponentDidMount được gọi khi đã render() xong

▪ Được thực hiện ngay sau khi state và props thay đổi

▪ Sẽ trả về kết quả true or false Phương thức này sẽ xác định 1 component

có được update hay không Mặc định giá trị này là true Nếu bạn khôngmuốn component render lại sau khi update state hay props thì return giá trịthành false

Trang 14

componentWillUpdate(nextProps, nextState)

▪ Được gọi khi chúng ta update state của component trước khi nó render lại

▪ Bạn không thể gọi this.setState trong componentWillUpdate

▪ Hàm render sẽ được gọi ngay sau hàm này

▪ (từ phiên bản 16.3 thì hàm này không được khuyến khích dùng và sẽ bịloại bỏ ở bản 17)

▪ Được gọi trước khi một component bị remove khỏi một DOM

2.5 Tìm hiểu về Agile - Scrum

2.5.1 Agile

Sự khác nhau giữa phương pháp làm việc truyền thống-Waterfall và Agile

có thể tổng kết trong 2 từ: cứng nhắc và linh hoạt Trong khi Waterfall là 1process khá cứng nhắc và nguyên tắc, thì Agile lại rất linh hoạt và không ngừngthay đổi sao cho phù hợp với thời đại và ý kiến của khách hàng Chi tiết hơn về

sự khác nhau như sau:

- Waterfall là quy trình có cấu trúc, bạn không thể bắt đầu công đoạn mới

cho đến khi công đoạn trước đấy được hoàn thành Agile là quy trìnhlinh hoạt, cho phép bạn chạy dự án theo cách mà bạn muốn Waterfall

là tuần tự, vàAgile thì không ép buộc vào 1 quy trình tuần tự nào.

- Các dự án theo quy trình Waterfall thường cần define cụ thể yêu cầu của

dự án, trong khi các yêu cầu trong các dự án Agile có thể thay đổi vàphát triển

- Trong các dự án Waterfall, bạn không thể thay đổi những thứ bạn đãlàm trong những công đoạn trước, tuy nhiên Agile rất phù hợp và có thểđáp ứng được các thay đổi

Trang 15

Hình 2.5: Mô hình Agile và Waterfall.

Một cách tổng quát, khi một sản phẩm được xây dựng theo mô hình

Waterfall, thì các công việc trong dự án được xác định theo nguyên tắc lúc ban

đầu, và không tiếp thu được ý kiến của người sử dụng trong quá trình hìnhthành sản phẩm Việc giành quá nhiều thời gian cho một sản phẩm mà khôngbiết được rằng mức độ khả thi cũng như những điều mà người sử dụng quantâm sẽ gây ảnh hưởng rất nhiều đến chất lượng sản phẩm

Trong khi đó, Agile giúp các nhà phát triển có thể nhận dạng, điều chỉnh các

vấn đề và khiếm khuyết một cách nhanh chóng Các điểm mạnh củaAgile là:

- Thực hiện thay đổi dễ dàng: Bởi vì dự án được chia thành các phần nhỏ,

riêng biệt, không phụ thuộc lẫn nhau, nên những thay đổi được thực hiệnrất dễ dàng, ở bất kỳ giai đoạn nào của dự án

- Không cần phải nắm mọi thông tin ngay từ đầu: Phù hợp với những dự

án chưa xác định được mục tiêu cuối cùng rõ ràng, vì việc này không quácần thiết trong giai đoạn đầu

- Bàn giao nhanh hơn: Việc chia nhỏ dự án cho phép đội ngũ có thể tiến

hành kiểm tra theo từng phần, xác định và sửa chữa vấn đề nhanh hơn, nhờ

đó việc bàn giao công việc sẽ nhất quán và thành công hơn

- Chú ý đến phản hồi của khách hàng và người dùng: Cả khách hàng và

người dùng cuối đều có cơ hội để đóng góp các ý kiến và phản hồi, từ đó

họ sẽ có ảnh hưởng một cách mạnh mẽ và tích cực tới sản phẩm cuối cùng

- Cải tiến liên tục: Agile khuyến khích thành viên trong đội ngũ làm việc và

khách hàng cung cấp phản hồi của mình, khi đó các giai đoạn khác nhaucủa sản phẩm cuối có thể được kiểm tra và cải thiện lại nhiều lần nếu cần

Trang 16

Trong ngành công nghiệp phần mềm, phương thức sản xuất phần mềm cómột vai trò vô cùng quan trọng, nó quyết định cấu trúc tổ chức, quy trình pháttriển, khả năng thành công của các dự án Trong những năm gần đây Agile- Scrum nổi lên và thay thế mô hình thác nước (Waterfall) truyền thống như

một phương thức tổ chức sản xuất ưu việt được nhiều công ty phần mềm ápdụng và thành công Quản lý dự án theo nguyên tắc Agile nổi lên như một sự

thay thế tối ưu cho bất kỳ dự án nào

Hình 2.6: Quy trình Agile.

Khái niệm Agile (viết tắt của Agile Software Development) có nghĩa là

phương thức phát triển phần mềm linh hoạt, được ứng dụng trong quy trìnhphát triển phần mềm với mục tiêu là đưa sản phẩm đến tay người dùng càngnhanh càng tốt Nguyên tắc phát triển mô hình là phân đoạn lặp (iterative)

tăng trưởng (incremental), theo đó nhu cầu và giải pháp tiến hóa thông

qua sự hợp tác giữa các nhóm tự quản và liên chức năng

Rất nhiều nơi định nghĩa Agile như một phương pháp Thực chất, Agilegiống như một phương pháp luận, một triết lý dựa trên hơn nguyên tắc phânđoạn vòng lặp (iterative) và tăng trưởng (incremental)

Ngày nay, triết lí Agile đã vượt xa khỏi khu vực truyền thống của mình làphát triển phần mềm để đóng góp sự thay đổi trong cách thức làm việc, quản lý,sản xuất ở các ngành khác như sản xuất, dịch vụ, sales, marketing, giáo dục

và trở thành một phương thức quản lý dự án phổ biến nhất hiện nay với nhiều

Ngày đăng: 16/06/2022, 21:13

🧩 Sản phẩm bạn có thể quan tâm

w