TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO THỰC TẬP
LẬP TRÌNH .NET WEB
Cơng ty thực tập : NashTech Vietnam
(Công ty TNHH Harvey Nash Việt Nam)
Người phụ trách : Lê Hằng Toàn
Thực tập sinh : Trần Thị Hà Phương - 18521279
TP. Hồ Chí Minh, tháng 6 năm 2022
LỜI MỞ ĐẦU
Trong thời điểm mà ngành công nghệ thông tin nói chung và phát triển phần mềm
nói riêng đang phát triển với tốc độ chưa từng có tiền lệ. Nhu cầu cho các sản phẩm
phần mềm thuộc nhiều lĩnh vực càng ngày càng tăng.
Từ những giai đoạn đầu phát triển của phần mềm đến hiện tại thì .NET
Framework ln một trong công nghệ được sử dụng rộng rãi trên tồn thế giới. Theo
số liệu thống kê khơng chính thức thì số lượng lập trình viên sử dụng ngơn ngữ C#
của .NET cũng rơi vào khoảng 6 triệu, cho thấy mức độ hấp dẫn của .NET đối với
lập trình viên lớn như thế nào.
Để có thể nắm vững và sử dụng hiệu quả .NET, tránh những lỗi khó xử lý thì
chúng ta cần phải hiểu được kiến trúc của .NET cũng như cách thức hoạt động của
nó. Vì mong muốn có thêm kinh nghiệm thực tế em quyết định chọn NashTech - một
môi trường lý tưởng, hiện đại, chuyên nghiệp - là nơi sẽ giúp em trau dồi kiến thức
và kinh nghiệm tế.
2
LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn NashTech VN đã 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 đã hồn thành được một trang web thương mại điện tử
gồm các chức năng cơ bản, trải nghiệm làm việc trong mơ hình scrum để 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 developer trong 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ác anh chị Leader,
Mentor và trưởng HR đã giúp đỡ tận tình trong thời gian qua.
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ức
thự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ơng tránh khỏi những thiếu sót, mong q Thầy (Cơ) có thể đóng góp ý kiến để em
có thể hồ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.
Trần Thị Hà Phương
TpHCM, ngày 15 tháng 6 năm 2022
3
NHẬN XÉT CỦA KHOA
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
4
MỤC LỤC
Chương 1: Giới thiêu công ty thực tập ......................................................................... 6
1. Giới thiệu công ty NashTech Vietnam .............................................................. 6
2. Sản phẩm của công ty ........................................................................................ 6
Chương 2: Nội dung thực tập ....................................................................................... 7
1. Kiến thức kỹ thuật .............................................................................................. 7
1.1.
Git ................................................................................................................ 7
1.2.
HTML/CSS/JS ............................................................................................ 8
1.3.
.NET ............................................................................................................ 9
1.4.
SQL ............................................................................................................. 9
1.5.
ReactJS ...................................................................................................... 10
1.6.
Unit Test, Integration Test ........................................................................ 12
1.7.
Scrum ........................................................................................................ 13
2. Thực hiện project ............................................................................................. 14
3. Lịch làm việc .................................................................................................... 14
Chương 3: Chi tiết về project ..................................................................................... 16
1. Project giữa kỳ ................................................................................................. 16
2. Project cuối kỳ ................................................................................................. 17
2.1
Đề tài............................................................................................................. 17
2.2
Kế hoạch ....................................................................................................... 18
2.3
Kết quả thu được .......................................................................................... 19
5
Chương 1: Giới thiêu công ty thực tập
1. Giới thiệu cơng ty NashTech Vietnam
NashTech là cơng ty thuộc tập đồ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ày
kinh nghiệm trong việc tư vấn, cung ứng giải pháp cơng nghệ có quy mơ tồn cầu
cho nhiều khách hàng là những tập đoàn lớn như Ford, Google, Nestle, Honda,
Prudential,…
2. Sản phẩm của công ty
Trong 20 năm qua, NashTech là một trong những doanh 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. Doanh nghiệp này hiện kinh
doanh với bốn mảng chủ chốt gồm: tư vấn giải pháp và phát triển phần mềm, giải
pháp quy trình kinh doanh, bảo trì và hỗ trợ kỹ thuật ứng dụng và quản lý chất lượng,
kiểm thử phần mềm.
6
Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình .NET” nhằm mục đích giúp sinh viên thực tập
được đào tạo tồn diện về lập trình fullstack .NET 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ột môi trường chuyên nghiệp.
1. Kiến thức kỹ thuật
1.1.
Git
Thời gian: 2 tiếng
Nội dung:
• Tìm hiểu khái niệm cơ bản về Git, các command cần biết khi sử dụng Git
(rebase, merge, reset, revert, stash, cherry pick).
• Làm quen với các Git GUI Clients như Sourcetree, GitHub Desktop,
Tortoise Git.
• Các workflow cơ bản của Git:
o Centralized Workflow sử dụng một repository trung tâm là đầu vào
duy nhất cho mọi thay đổi trong project. Nhánh để code mặc định là
master và mọi thay đổi đều được commit vào master, không cần tạo
thêm một nhánh khác.
o Feature Branch là một bản mở rộng có logic của Centralizes
Workflow. Ý tưởng nằm sau Feature Branch Workflow là việc phát
triển các tính năng nên thực hiện ở những nhánh riêng thay vì ở
nhánh master. Việc này giúp cho nhiều dev có thể cùng phát triển
những tính năng khác nhau mà khơng làm rối tung codebase chính.
Điều này giúp cho nhánh master khơng bao giờ chưa code hỏng,
khiến cho việc tích hợp liên tục trở nên dễ dàng hơn.
o Gitflow Workflow là một mơ hình phân nhánh chặt chẽ xung quanh
việc release. Workflow này không bao gồm khái niệm nào mới hay
lệnh nào nằm ngoài những cái được sử dụng cho Feature Branch
7
Workflow. Điểm khác biệt là nó gán những vai trị, nhiệm vụ cụ thể
cho các nhánh khác nhau và quy định các nhánh cần tương tác với
nhau như thế nào.
o Forking Workflow là t vì chỉ sử dụng 1 server-side repository để làm
codebase trung tâm, thì mỗi developer đều có một server-side
repository của riêng mình.
1.2.
HTML/CSS/JS
Thời gian: 14 tiếng
Nội dung:
Giới thiệu sơ đồ hoạt động đơn giản của 1 trang web, giới thiệu về các browser.
• Tìm hiểu về HTML, các tags trong HTML và thực hành viết Hello World!
• Tìm hiểu về CSS:
o Cú pháp
o CSS selectors
o CSS combinator (phần tử kết hợp)
8
o CSS – Pseudo
o Cách sử dụng CSS với HTML
o Responsive web bằng CSS
• Tìm hiểu Javascript
o Cú pháp
o Các kiểu dữ liệu
o Operator
o Function
Giữa các kiến thức của Javascript là từng bài toán thực hành nhỏ do giảng viên
hướng dẫn thực hiện
1.3.
.NET
Thời gian: 12 tiếng
Nội dung:
• .Net Core
• ASP .Net Core MVC
• Entity Framework Core
1.4.
SQL
Thời gian: 14 tiếng
Nội dung:
• Giới thiệu SQL
• Tìm hiểu về các query như: SELECT, JOINS, SET, GROUP BY,
HAVING. Cách viết functions
• Tìm hiểu Common Table Expressions
9
• Giới thiệu về Index là Clustered Index và Non-Clustered Index
o Clustered Index lưu trữ và sắp xếp dữ liệu vật lý trong table hoặc
view dựa trên các giá trị khóa của chúng. Các cột khóa này được chỉ
định trong định nghĩa index. Mỗi table hoặc view chỉ có duy nhất
một Clusterd Index vì bản thân các dịng dữ liệu được lưu trữ và sắp
xếp theo thứ tự vật lý dựa trên các cột trong loại Index này. Khi dữ
liệu trong table hoặc view cần được lưu trữ và sắp xếp theo một thứ
tự nhất định chính là lúc cần dùng đến Clustered Index. Khi một
table có một Clusted Index thì khi đó table được gọi là Clustered
Table. Giống như bạn có 1 mục lục, bạn tìm kiếm đến 1 mục và chỉ
việc click vào expand thông tin ra là xong, khơng cần phải đi đâu
khác nữa.
o Non-Clustered Index có một cấu trúc tách biệt với data row trong
table hoặc view. Mỗi một index loại này chứa các giá trị của các cột
khóa trong khai báo của index, và mỗi một bản ghi giá trị của key
trong index này chứa một con trỏ tới dòng dữ liệu tương ứng của nó
trong table. Mỗi con trỏ từ một dịng của Non-Clustered index tới
một dòng dữ liệu trong table được gọi là “row locator”. Cấu trúc của
row locator phụ thuộc vào việc các trang dữ liệu được lưu trong
HEAP hay trong một Clustered Table như đã diễn giải ở mục
Clustered Index ở trên. Đối với HEAP, row locator là một con trỏ tới
dịng dữ liệu, với clustered table, row locator chính là khóa index
của clustered index.
1.5.
ReactJS
Thời gian: 10 tiếng
Nội dung:
• JSX: Đây đơn giản là một syntax extension của Javascript. Với nó bạn có
thể viết Javascript với những tag giống như XML (XML-like). Về bản chất,
các tag thực sự là những lời gọi hàm, sẽ được chuyển đổi trong React code
và end up dưới dạng HTML và Javascript trong cây DOM.
10
• Component: React được xây dựng xung quanh các component, chứ khơng
dùng template như các framework khác. Bạn có thể tạo ra một component
bằng các gọi phương thức createClass của đối tượng React, điểm bắt đầu
khi tiếp cận với thư viện này.
• Prop vs State: Có hai kiểu của data trong React đó là props và state. Sự
khác biệt giữa hai kiểu thì hơi khó khăn để hiểu ngay từ ban đầu, ít nhất là
về mặt khái niêm. Nhưng một khi bạn bắt đầu code, bạn sẽ nhanh chóng
tách biệt được hai loại. Điểm mấu chốt của sự khác nhau là state thì private
và chỉ có thể được thay đổi bên trong bản thân component. Props thì mang
tính external, và khơng bị kiểm sốt bởi bản thân component. Nó được
truyền từ component cao hơn theo phân cấp, hay có thể hiểu đơn giản là
truyền từ component cha xuống component con, cái mà điều khiển dữ liệu
trước khi truyền xuống. Vì thế trong khi một component không thể thay đổi
props của nó một cách trức tiếp (điều này có thể làm một cách gián tiếp
nhưng hãy để nó vào những phần sau), thì nó có thể tự thay đổi state của
bản thân.
• Vịng đời
o React: Tìm hiểu về 3 giai đoạn chính 3 giai đoạn chính: Mounting,
Updating và Unmounting trong vịng đời của 1 component và các
class liên quan đến nó.
o React Hook: được giới thiệu trong phiên bản React 16.8.0. Khi hook
ra đời thì nó cung cấp cho chúng ta api gọi là useState và chính
useState đã giúp stateless component trở thành stateful component.
Hook cũng giúp chúng ta cả thiện hạn chế không thể sử dụng
lifecycle method của functional component bằng cách cung cấp cho
các api như là useEffect được sử dụng để thay thế cho các lifecycle
method
như
componentDidMount,
componentDidUpdate,
componentWillReceiveProps, componentWillUnMount.
• React router DOM: Tìm hiểu về và ứng dụng React Router - một thư viện
định tuyến (routing) tiêu chuẩn trong React. Nó giữ cho giao diện của ứng
dụng đồng bộ với URL trên trình duyệt. React Router cho phép bạn định
tuyến "luồng dữ liệu"(data flow) trong ứng dụng một cách rõ ràng.
11
• Axios: Sử dụng Axios dễ dàng gửi đi các request HTTP bất đồng bộ đến
các REST endpoint và thực hiện các chức năng CRUD.
• Redux: Làm quen với để có thể quản lý state có trong ứng dụng javascript.
Hỗ trợ giải quyết những bài toán quan trọng như chia sẻ state. Việc chia sẻ
state giữa các component với nhau sẽ dựa theo các thức truyền khác nhau.
1.6.
Unit Test
Thời gian: 4 tiếng
Nội dung: Unit Test là một loại kiểm thử phần mềm trong đó các đơn vị hay thành
phần riêng lẻ của phần mềm được kiểm thử. Kiểm thử đơn vị được thực hiện trong
quá trình phát triển ứng dụng. Mục tiêu của Kiểm thử đơn vị là cô lập một phần code
và xác minh tính chính xác của đơn vị đó.
Các khái niệm thường gặp trong Unit test:
• Assertion: Là một phát biểu mô tả các công việc kiểm tra cần tiến hành, thí
dụ: AreEqual(), IsTrue(), IsNotNull()… Mỗi một UT gồm nhiều assertion
kiểm tra dữ liệu đầu ra, tính chính xác của các lỗi ngoại lệ ra và các vấn đề
phức tạp khác như: – Sự tồn tại của một đối tượng – Điều kiện biên: Các
giá trị có vượt ra ngồi giới hạn hay khơng – Thứ tự thực hiện của các
luồng dữ liệu …
• Test Point: Là một đơn vị kiểm tra nhỏ nhất, chỉ chứa đơn giản một
assertion nhằm khẳng định tính đúng đắn của một chi tiết mã nào đó. Mọi
thành viên dự án đều có thể viết một test point. Test Case: Là một tập hợp
các test point nhằm kiểm tra một đặc điểm chức năng cụ thể, thí dụ tồn bộ
giai đoạn người dùng nhập dữ liệu cho đến khi thông tin được nhập vào cơ
sở dữ liệu. Trong nhiều trường hợp kiểm tra đặc biệt và khẩn cấp có thể
khơng cần đến test case.
• Test Suite: Là một tập hợp các test case định nghĩa cho từng module hoặc
hệ thống con.
• Regression Testing (hoặc Automated Testing): Là phương pháp kiểm
nghiệm tự động sử dụng một phần mềm đặc biệt. Cùng một loại dữ liệu
kiểm tra giống nhau nhưng được tiến hành nhiều lần lặp lại tự động nhằm
12
ngăn chặn các lỗi cũ phát sinh trở lại. Kết hợp Regression Testing với Unit
Testing sẽ đảm bảo các đoạn mã mới vẫn đáp ứng yêu cầu thay đổi và các
đoạn mã cũ sẽ không bị ảnh hưởng bởi các hoạt động bảo trì.
• Production Code: Phần mã chính của ứng dụng được chuyển giao cho
khách hàng.
• Unit Testing Code: Phần mã phụ để kiểm tra mã ứng dụng chính, không
được chuyển giao cho khách hàng.
1.7.
Scrum
Thời gian: 2 tiếng
Nội dung: Scrum là một phương pháp Agile dùng cho phát triển sản phẩm, đặc
biệt là phát triển phần mềm. Scrum là một khung quản lý dự án được áp dụng rất
rộng rãi, từ những dự án đơn giản với một nhóm phát triển nhỏ cho đến những dự án
có yêu cầu rất phức tạp với hàng trăm người tham gia, và kể cả những dự án đòi hỏi
khung thời gian cố định.
Đặc thù
Để có thể dùng Scrum, chúng ta cần hiểu rõ và vận dụng đúng các thành tố tạo nên
Scrum bao gồm các giá trị cốt lõi đặc thù của Scrum gồm:
• Minh bạch (transparency): Muốn thành cơng với Scrum, thơng tin liên quan
tới q trình phát triển phải minh bạch và thơng suốt. Các thơng tin đó có
thể là: tầm nhìn (vision) về sản phẩm, yêu cầu khách hàng, tiến độ cơng
việc, các khúc mắc và rào cản v.v.
• Thanh tra (inspection): Công tác thanh tra liên tục các hoạt động trong
Scrum đảm bảo cho việc phát lộ các vấn đề cũng như giải pháp để thông tin
đa dạng và hữu ích đến được với các bên tham gia dự án. Truy xét kĩ càng
và liên tục là cơ chế khởi đầu cho việc thích nghi và các cải tiến liên tục
trong Scrum.
• Thích nghi (adaptation): Scrum rất linh hoạt như các phương pháp Agile
khác. Nhờ đó nó mang lại tính thích nghi rất cao. Dựa trên các thơng tin
minh bạch hóa từ các q trình thanh tra và làm việc, Scrum có thể phản
13
hồi lại các thay đổi một cách tích cực, nhờ đó mang lại thành cơng cho dự
án.
Đội ngũ
Trong Scrum, đội ngũ tham gia phát triển phần mềm được phân chia ra ba vai trò
với trách nhiệm rõ ràng để đảm bảo tối ưu hóa các cơng việc đặc thù như sau:
• Product Owner (chủ sản phẩm): Là người chịu trách nhiệm về sự thành
công của dự án, người định nghĩa các yêu cầu và đánh giá cuối cùng đầu ra
của các nhà phát triển phần mềm.
• Scrum Master: Là người có hiểu biết sâu sắc về Scrum và đảm bảo nhóm
có thể làm việc hiệu quả với Scrum.
• Development Team (Đội sản xuất, hay Nhóm phát triển): Một nhóm liên
chức năng (cross-functional) tự quản lý để tiến hành chuyển đổi các yêu
cầu được tổ chức trong Product Backlog thành chức năng của hệ thống.
2. Thực hiện project
Sau khi đã training 3 tuần, mentor mỗi cá nhân thực hiện 1 project web thương
mại áp dụng các kiến thức đã học. Khi hoàn thành project giữa kỳ, các intern sẽ được
chia vào từng nhóm gồm dev và tester để bắt đầu giai đoạn đầu project cuối.
Chi tiết đồ án sẽ được nói ở chương 3.
3. Lịch làm việc
Tuần
1
Cơng việc
Người hướng dẫn
Tìm hiểu về cơng ty và chương
trình thực tập
Training Tiếng Anh
Ms.Kim
Git cơ bản
Mr. Thien Nguyen
Lập trình Web cơ bản
Mr. Toan Le
HTML/CSS cơ bản
Mr. Tuan Mai
14
Mức độ
hoàn
thành
100%
2
3
4
5
6
7
8
9
Javascript cơ bản
C# cơ bản
Workshop thực hành trang web tĩnh
sử dụng HTML/CSS/JS
Training Tiếng Anh
.Net Core cơ bản
Lập trình ASP .Net Core MVC
SQL Server cơ bản
Workshop viết query cho database
Training Tiếng Anh
Enity Farmework Core
Unit Test sử dụng xUnit
Thực hiện project giữa kỳ
Training Tiếng Anh
Kỹ năng giao tiếp
Kỹ năng quản lý thời gian
Kỹ năng tư duy và giải quyết vấn
đề
Kỹ năng lập kế hoạch
Thực hiện project giữa kỳ
Training Tiếng Anh
Lập trình React JS
Giới thiệu Automation Test
Thực hiện project giữa kỳ
Training Tiếng Anh
Thực hiện project giữa kỳ
Training Tiếng Anh
Azure cơ bản
Workshop động lực nơi làm việc
công sở
Training Tiếng Anh
Giới thiệu Scrum
Azure DevOps
Thực hiện project cuối kỳ
Training Tiếng Anh
Thực hiện project giữa kỳ
15
Mr. Tuan Mai
Mr. Phong Nguyen
Mr. Tuan Mai
Ms. Kim
Mr. Loc Nguyen
Mr. Huy Ho
Mr. Long Hoang
Mr. Long Hoang
Ms. Kim
Mr. Nghia Dinh
Mr. Hung Nguyen
Mr. Toan
Ms. Kim
100%
100%
100%
Mr. Toan
Ms. Kim
Mr. Tuan Mai Chung
Mr. Tien Nguyen
Mr. Toan
Ms. Kim
Mr. Toan
Ms. Kim
Mr. Phuc Nguyen
100%
100%
100%
Ms. Kim
Mr. Phuc Nguyen
Mr. Toan
Ms. Kim
Mr. Toan
100%
100%
Chương 3: Chi tiết về project
1. Project giữa kỳ
Link Github của dự án: />Dự án cá nhân với đề tài: Xây dựng trang web thương mại điện tử
Trang web phải gồm những thành phần như sau:
• Trang khách hàng (sử dụng mơ hình MVC):
o Trang chủ: Menu loại sản phẩm, sản phẩm nổi bật
o Xem sản phẩm theo loại
o Xem chi tiết sản phẩm
o Đánh giá sản phẩm
o Đăng ký tài khoản
o Đăng nhập/ Đăng xuất
• Trang admin (Single Page Application gồm: API + ReactJS):
o Đăng nhập/Đăng xuất
o Quản lý loại sản phẩm
o Quản lý sản phẩm
o Xem danh sách tài khoản khách hàng
• Yêu cần sử dụng nhiều kỹ thuật như: TagHelpers, ViewComponents,…
• Viết UnitTest
16
Figure 1: Sơ đồ cấu trúc dự án
2. Project cuối kỳ
2.1 Đề tài
Trong các công ty hoặc các tổ chức lớn đều có các vật phẩm hoặc các thiết bị điện
tử ( điện thoại, máy tính, đồng hồ, ...) với số lượng rất lớn và cần phải đưa cho rất
17
nhiều người. Vì vậy cần phải có một ứng dụng để người dùng có thể yêu cầu mượn
và trả các vật phẩm đó. Web app hiện tại cơng ty đưa ra mục đích để đáp ứng nhu
cầu vay mượn và trả các sản phẩm liên quan của tổ chức và có thể kiểm sốt các
hành vi đó liên tục và nhanh chóng khơng phải qua các bên trung gian thứ 3.
Ở NashTech với số lượng các vật phẩm như máy tính, điện thoại được cung cấp
cho nhân viên thì việc cần có một ứng dụng để quản lý các sản phẩm này là việc hết
sức cần thiết nên công ty đã đưa ra ứng dụng quản lý tài sản này cho các sinh viên
thực tập có cơ hội được thử sức mình.
Trang web bao gồm các chức năng:
• Đăng nhập/Đăng xuất
• Đổi mật khẩu
• Quản lý người dùng (xem danh sách, xem chi tiết, thêm/sửa, xóa)
• Quản lý tài sản (xem danh sách, xem chi tiết, thêm/sửa, xóa)
• Chức năng cho mượn tài sản: Người Admin có thể giao tài sản cho một
nhân viên khác sử dụng.
• Chức năng yêu cầu hồn trả tài sản: Người admin có thể u cầu người
mượn tài sản hoàn trả tài sản.
2.2 Kế hoạch
Thành viên thực hiện gồm 4 .NET developer, 4 QC/QA/Tester
Dự án được hồn thành trong vịng 4 tuần, mỗi tuần tương đương với 1 sprint
• Sprint 1: Setup Database và các mơi trường cho dự án
• Sprint 2: Chức năng thêm người dùng, người dùng có thể login vào hệ
thống, người dùng mới login vào hệ thống lần đầu sẽ phải đổi mật khẩu.
• Sprint 3: Chức năng thêm tài sản quản lý và chức năng cho mượn tài sản.
• Sprint 4: Chức năng yêu cầu hoàn trả tài sản, đưa ra bản release và demo
sản phẩm.
18
2.3 Kết quả thu được
Figure 2: Màn hình đăng nhập
Figure 3: Màn hình đổi mật khẩu
19
Figure 4: Màn hình quản lý người dung
20
Figure 5-7: Màn hình quản lý tài sản
21
TỔNG KẾT
Như vậy, chỉ trong vòng một tháng ngắn ngủi, nhóm đã hồn thành một dự án bài
bản theo mơ hình scrum. Những thời gian đầu, nhóm lần đầu tiếp cận với mơ hình
scrum, nên tốn nhiều thời gian làm việc hơn dự định. Sau nhiều lần họp, làm quen
nhóm cũng đưa ra sản phẩm cuối, tuy do thời gian có hạn nên web khơng có những
chức năng nâng cao, đột phá, nhưng web đã có các chức năng cơ bản, sử dụng đủ các
kiến thức đã học.
Chân thành cảm ơn sự giúp đỡ của các anh chị mentor NashTech và các thành
viên trong nhóm để có thể hồn thành dự án này.
22