Capstone Project Guide Line

User Manual: Pdf

Open the PDF directly: View PDF PDF.
Page Count: 47

PAGE \* MERGEFORMAT 1
MINISTRY OF EDUCATION AND
TRAINING
FPT UNIVERSITY
Capstone Project Document
Tên đề tài
Nhóm s
Group members
Tên các thành viên trong nhóm Mã s sinh viên
Supervisor
Giảng viên hướng dn
Ext. Supervisor
N/A
Capstone Project
code
Mã đề tài
-Ho Chi Minh City, Ngày bắt đầu làm-
PAGE \* MERGEFORMAT 1
This page is intentionally left blank
PAGE \* MERGEFORMAT 1
Table of Contents
Table of Contents ................................................................................................................................3
List of Tables ........................................................................................................................................4
Definitions, Acronyms, and Abbreviations ..........................................................................................6
A. Report No. 1 Introduction ...........................................................................................................7
1. Project Information .................................................................................................................7
2. Introduction ............................................................................................................................7
3. Current Situation .....................................................................................................................7
4. Problem Definition ..................................................................................................................7
5. Proposed Solution ...................................................................................................................8
5.1 Feature functions ............................................................................................................8
5.2 Advantages and disadvantages .......................................................................................8
6. Functional Requirements ........................................................................................................9
6.1 Name Card Management ................................................. Error! Bookmark not defined.
6.2 Event ................................................................................ Error! Bookmark not defined.
6.3 Searching .......................................................................... Error! Bookmark not defined.
6.4 Suggestion ........................................................................ Error! Bookmark not defined.
6.5 User Management ........................................................... Error! Bookmark not defined.
7. Role and Responsibility ...........................................................................................................9
PAGE \* MERGEFORMAT 1
List of Tables
Table 1: Roles and Responsibilities .....................................................................................................9
PAGE \* MERGEFORMAT 1
List of Figures
Figure 1: Modified Waterfall Development Model .............................. Error! Bookmark not defined.
PAGE \* MERGEFORMAT 1
Definitions, Acronyms, and Abbreviations
Miêu t t viết tt hay các term dùng trong tài liu thuyết minh bên dưới
Name
T viết tt
PAGE \* MERGEFORMAT 1
A. Report No. 1 Introduction
1. Project Information
- Project name: <Tên đề tài>
- Project Code: <Mã đề tài>
- Product Type: <Sn phm (web app, desktop app , mobile app)>
- Start Date: <Ngày bắt đầu>
- End Date: <Ngày kết thúc>
2. Introduction
<Nhập đề: gii thiệu nét về đề tài, th ghi các vấn đề cn gii quyết, các
gii pháp, các công ngh dẫn đến nhu cu của đề tài tm khái quát, tng
quan>
Ví d:
In this document, we introduce a solution for motorbike insurance company. Current insurance
company systems have some problems like delayed in renew contracts for customer or inconvenient
in checking insurance card validation process. Based on our researches and analysis, we proposed
a solution for insurance company in Vietnam and other developed countries.
We build a system, which help the insurance companies to solve current problems. In the process of
analysis, we believe the NFC cards is capable to resolve the problem by using NFC card to save
information about insurance contract. NFC cards are convenient to manage the contract
information and checking, validating process. Beside of that we also provide an information system
to manage NFC cards so that insurance companies will manage the contracts easier.
This document also describes our working process in 4 months includes our perspective in the
system, component designs and detailed core workflows. We hope the system and our solution will
help resolve the problems from insurance companies in Vietnam and other developed countries.
3. Current Situation
<Mô t v h thng hin ti trong thc tế hoc hành vi của người dùng hin
ti>
Ví d
When participating in traffic, vehicle owners are required to have compulsory insurance
(according to Article 6, Decree on compulsory insurance for civil liability of motor vehicle owners,
Decree No. 103/2008/ND-CP by Vietnam Government). Therefore, vehicle owners buy insurance
from insurance companies or its agents. They pay insurance premium by cash or in online website
and receive an insurance certificate with a term of one year, the term can be shorter in some
specific situation. When their insurance out of date, they must buy a new insurance, old certificate
will be useless. Traffic police will read insurance certificate to check traffic participants.
4. Problem Definition
<Định nghĩa vấn đề: nêu ra các khó khăn, khuyết điểm, hn chế h thng hin
ti>
PAGE \* MERGEFORMAT 1
Ví d
Below are disadvantages of current situation:
Forget insurance’s expired date: Vehicle owners usually keeps their insurance certificate
in wallet or somewhere on their vehicle. However, except in cases of necessity, people are
not often check their insurance so they could forget its expired date. An expired insurance
is not good while it be revealed by traffic officers and could get worse in case of traffic
accident.
Hard for traffic officers to check and verify insurance: ....
...
5. Proposed Solution
<Gii thiu v giải pháp mà nhóm đưa ra để gii quyết vấn đề>
Ví d:
Our proposed solution is to build an insurance NFC card system named “MIC system” to resolve
the current situations and compatible with current laws, we also design the system to be scalable
so we can deploy this system to a multiple insurance services company in future plan.
MIC system includes a web application and two mobile applications with following functions:
5.1 Feature functions
<Nêu ra các nh năng cốt li, các vai trò ct lõi trong gii pháp
nhóm đề xut, ch nên nêu các tính năng chủ cht gii quyết bài toán,
không phi lit kê toàn b tính năng>
Ví d
Web application:
o Register insurance: user can register a new insurance card with on website using
online payment. A staff will contact the user to create contract and sends an
insurance NFC card to him/her. If users already have a NFC card, they can use
the website to renew current contract.
o Check card information: ...
o ...
Insurance card printer (mobile app):
o Simulating NFC card printer: staff can print NFC card....
...
5.2 Advantages and disadvantages
<Phân tích ưu và khuyết điểm ca gii pháp của nhóm đề xut>
- Advantages:
<Liệt kê ưu điểm>
Ví d
PAGE \* MERGEFORMAT 1
o The interaction between the insured one and the insurance company: the insured
one and the company now are easier to communicate through the website when
each person has an account.
o ...
- Disadvantages:
<Lit kê khuyết điểm>
Ví d
o Currently not consistent with the law of Vietnam about insurance card issues.
o ...
- Notes: th phân ch điểm vượt tri hay khuyết điểm ca gii pháp s
đưc thc hin so vi h thống đang có sẵn
6. Functional Requirements
Function requirements of the system are listed as below:
<Lit các tính năng theo gom nhóm c th: tìm kiếm, gi ý, qun tài
khon>
Ví d
User component:
o New contract request
o ...
Staff component
o Create new contracts
o ...
...
7. Role and Responsibility
Lit danh sách vai trò theo hình phn mm nhóm s la chn
trong phn tiếp theo. Các thành phần nên đặc t vào bng để d nhìn
Ví d
No
Full Name
Role
Position
Contact
1
Kiu Trng Khánh
Project Manager
Supervisor
khanhkt@fpt.edu.vn
2
Đinh Quang Trung
Developer
Leader
trungdqse60994@fpt.edu.vn
3
Nguyn Hu Phúc
Developer
Member
phucnhse60749@fpt.edu.vn
4
Phùng Quang Minh Trí
Developer
Member
tripqmse60746@fpt.edu.vn
5
Nguyn Chí Kha
Developer
Member
khanc60351@fpt.edu.vn
Table 1: Roles and Responsibilities
PAGE \* MERGEFORMAT 1
B. Report No.2 Software Project Management Plan
1. Problem Definition
1.1 Name of this Capstone Project
- <Tên đề tài kèm mã>
Ví d
Official name: Insurance Card
Vietnamese name: Th bo him
Abbreviation: MIC
1.2 Problem Abstract
<Tng quan v gii pháp ca nhóm s thc hin vi d án, tuyệt đối không
sao chép phn 1 mà din gii li cho phù hp i góc nhìn ca qun tr d
án theo khía cạnh đang lên kế hoch cho gii pháp đã đề ra trong phn
introduction>
Ví d
As current in Viet Nam customer use Motor Insurance Certificate Paper when they get problems
with their motor. Using the Motor Insurance Certificate Paper is inconvenient, for example, it can
be wet or to insert or update the information in to insurance certificate paper is complicate. So we
use the NFC card we call it is insurance card to handle it. Insurance company supplies the NFC
card when the customer buy insurance. The card contains the information of customer, if the
customer joins with many insurance service they just use only one card.
We provide a software to check the validation of card, the expired date of card and insurance
services that customer joined. We also provide other advantages that can help save time and costs
in some process of company. For example, the software can automatic extend the insurance
service, update the information about accidents of motor. In addition, we also provide a system
software to manage the information of customer via some insurance card we bought, this software
will deploy at insurance company
1.3 Project Overview
1.3.1 Current Situation
- <Phân ch vấn đề khi đề tài được trin khai, các ưu/khuyết điểm ca đề
tài: có th là kho sát thc tế t người dùng khi ly yêu cu, hoc các thng
kê mà nhóm đã nghiên cứu, so sánh vi quy trình ca h thng hin ti>
Ví d
Below are the problems encountered in this project:
Security: currently, there is few possible problems encountered with NFC tags, as NFC
tags can be counterfeited, attacked during data transmission caused data loss, data
corruption.
PAGE \* MERGEFORMAT 1
Server crash: all the needed data is stored in the server. So if server crash, all the devices
cannot get card information.
Absence of team members: team members can get sick or unexpected problems.
Currently not consistent with the law of Vietnam about insurance card issues.
...
1.3.2 The Proposed System
<Trình bày gii pháp c th ca nhóm tng quát t cách tiếp cận đến công
ngh, qui trình s áp dng >
Ví d
According to the technology researches, we found out that the NFC technology is very capable of
resolve the current situations in insurance companies. We can use a feature of NFC tag to resolve
the security problem from NFC card. The basic idea is to use a NFC tag (or NFC “card”) which
contains a unique card ID as an insurance card instead of paper card currently.
We also build a high available web server to maintain the main system to work 24/7 to make sure
that if mobile applications need access to the information there will be always available.
We assign responsibility in vertical to make sure if any member in this problem cannot continue to
work in our team there will be the least harmful to the project processes.
To resolve problem from Vietnam laws of insurance for motorbike, we support the insurance
companies to propose new law sections about using technology devices to work with insurance
certificate paper to make our system work legally in current situation.
Our system includes three main subsystems: an online website for company’s staffs, a mobile
application for police officers and a mobile application to simulate the card printer
1.3.2.1 Web Site
- <Liệt kê tính năng chính theo gom nhóm chức năng/vai trò>
Ví d
Website is a common communication portal for insurance company’s staffs and users (customers).
Website provide following features:
For users (customers):
o Users can register new insurance card with online payment.
o ...
For staffs:
o ...
Beside above, website system also provides an API interface for two mobile applications to
retrieve, update data from mobile applications.
1.3.2.2 Mobile Application
- <Liệt kê tính năng chính theo gom nhóm chức năng/vai trò>
PAGE \* MERGEFORMAT 1
Ví d
This is a simulating application to simulate the work of Card Printer. In reality, the company who
deploy this system need to have a NFC Card Printer to write information about the insurance
company and customer information into an NFC card. However, our system currently only support
this as a simulating application. This application is used by company’s staffs and do followings:
Retrieves insurance contract information and write data to a physical NFC card.
...
...
1.3.3 Boundaries of the System
<Xác định ni dung c th phạm vi đề tài s thc hin - fix scope để
tp trung thuyết minh trong các phn tiếp theo - nội dung này căn cứ
vào các ni dung trong phiếu nhận đề tài>
Ví d
This section supposes that the government laws in local area supports the method of using NFC
cards as insurance cards, and accept NFC insurance cards are legal.
Every company who has Information System infrastructure can deploy this system.
Companies who deployed this system has to equip enough devices for the system to run,
includes:
o Computer system with internet connection.
o ...
1.3.4 Future Plans
<Mô t kế hoch phát trin của đề tài để t đó trong thiết kế t
conceptual, erd, đến hình phát trin phn mm thiết kế kiến
trúc phải được chun b để th m rng trong tương lai để chng
t kh năng lý tưởng của đề tài>
Ví d
Current system only can deploy to a company which provides single service: motor insurance card,
we call this is the Isolated Single Service Model. We design the system to make it easy to scale to 2
bigger models:
Isolated Multiple Service Model: system can be deployed to one company which provide
multiple insurance services such as motor insurance, health insurance, assets insurance…
Distributed Multiple Service Model:.....
...
1.3.5 Development Environment
1.3.5.1 Hardware requirements <Yêu cu phn cng>
<Mô t các yêu cu phn cng nhóm s thc hin testing trin
khai cho sn phm. Nên mô t i dng bng>
PAGE \* MERGEFORMAT 1
Ví d:
For server
Windows
Minimum Requirements
Recommended
Internet Connection
Cable, Wi-Fi (4 Mbps)
Cable, Wi-Fi (8 Mbps)
Operating System
Window Server 2008
Window Server 2008
Computer Processor
Intel® Xeon ® 1.4GHz
Intel® Xeon ® Quad Core
(12M Cache, 2.50 GHz)
Computer Memory
1GB RAM
2GB or more
Table 2: Hardware Requirement for Server
...
1.3.5.2 Software requirements <Yêu cu phn mm>
t các yêu cu phn mm nhóm s áp dng trong phát trin
sn phm. Nên mô t i dng bng biu
Ví d:
Software
Name / Version
Description
Operating system
Window Server 2008
Operating system and platform for development
Environment
Java EE 6
Specification for developing web application
Modeling tool
Microsoft Visio 2013
Used to implement website and web service
IDE
Netbeans 7.2.1, Intellij IDEA
14.1
Programming tools
DBMS
MySQL 5.6
Used to create & manage the database for system
Source control
TortoiseSVN 1.8.11
Used for source control
Web browser
Chrome 42 or above
Testing browser
2. Project organization
2.1 Software Process Model
<Mô t v hình phát trin nhóm la chn, ảnh hướng ti
mc 3 Project management plan>
<Các hình v v mô hình và ni dung mô t cn phải được reference>
<Gii thích do la chn hình da trên các ni dung liên quan
đến đề tài nhng nội dung đã được đề ra trong phn introduction,
project plan>
Ví d
This project is developed under waterfall model. We apply customized waterfall model to capable
with current situation in our team. We choose this model because the following reasons:
Based on researches and clarify Vietnam laws of insurance for motorbike and current
system in insurance companies, the requirements of this project are stable, clear, fixed and
well understood by all team members.
This project use NFC technology, ...
...
PAGE \* MERGEFORMAT 1
Figure 1: Waterfall model
Reference: Page 30, chapter 2, Software process model, SOFTWARE ENGINEERING 9th Edition,
by Ian Sommerville.
2.2 Roles and responsibilities <Bng phân chia vai trò>
<Mô t vai trò ca tng thành viên trong d án và công vic phân công
c th cho tng thành viên. Nên mô t i dng bng biu>
Ví d
No
Full name
Role in Group
Responsibilities
1
Kiu Trng Khánh
Project manager
Specify user requirement
Control the development
process
Give out technique and
business analysis support
2
Trn Nguyễn Đăng
Khoa
Team Leader, BA,
DEV, Tester
Managing process
Designing database
Clarifying requirements
Prepare documents
GUI Design
Create test plan
Coding
Testing
...
Table 3: Roles and Responsibilities Details
2.3 Tools and Techniques
<Các công c s dng: chú ý ghi gõ phiên bn. Nên mô t i dng bng
biu>
Ví d
Tool / Technique
Name / version
Frontend
HTML, CSS, JavaScript, jQuery, Bootstrap
Backend
JavaEE, Servlet, JSP, Hibernate
...
PAGE \* MERGEFORMAT 1
3. Project Management Plan
3.1 Software development life cycle
<Mô t c th các công vic s làm kèm theo phân b tài nguyên và đánh
giá ri ro. Chú ý các phase phi phù hp vi mc 2.1 Software Process
Model trên. Nên mô t i dng bng biu và dùng trang giy ngang
để trình bày cho rõ ràng>
Ví d
Phase
Description
Deliverables
Resource
needed
Dependencies
and Constrains
Risks
Requirement
Analysis
- Collect
requirements
from customer.
-Identify and
clarify
requirements for
the system in
general.
-Introduction of
proposed system.
-Software
requirement
specification.
-Project Task
Plan.
- Prototypes
20 man-
days
N/A
- Missing
requirement
- Unclear
scope of
project
- Lack of
member share
of understand
Design
- Architecture
design for the
system
- Detail design
using top-down
break down
- Choose
Architecture style
- Software
Design Document
- Base code
structure
- Technology
notes
20 man-
days
Depend on
“Requirement
Analysis”
- Lack of
experience.
- Not fulfil
requirement.
....
Table 4: Software Development Life Cycle Detail
3.2 Phase Detail
<Mô t c th công việc trong các giai đoạn có ch định thành viên thc
hin tương ứng ni dung mô t trong phn 3.1. Nên mô t i dng
bng biu và dùng trang giấy ngang để trình bày cho rõ ràng>
Ví d
3.2.1 Phase 1: Requirement Analysis
Task
Description
Author
1. Collect requirements
Find which systems currently provide
similar service, their strengths and
weakness.
KhoaTND, HuyDN,
TanNH
2. Identify and clarify
main functions.
Define which main functions system
should provide.
KhoaTND, HuyDN,
TanNH
...
Table 5: Phase 1: Requirement Analysis
PAGE \* MERGEFORMAT 1
3.3 All Meeting Minutes
<To folder trong svn mi bui gp mt ging viên cn ghi nhn form
meeting minute - và lưu trữ lại. Ghi đường dn trên svn vào phn này>
4. Coding Convention
<Mô t tổng quan các code convention rule đưc nhóm áp dng trong d án
đưc thc hiện, sau đó reference đến nơi tham chiếu
Không được phép reference không vì nếu như thế có th xem như buộc trong
project thc hin phi áp dụng đúng như là nội dung references qui định>
PAGE \* MERGEFORMAT 1
C. Report No. 3 Software Requirement Specification
1. User Requirement Specification
<Lit kê các yêu cu v tính năng theo vai trò trong d án>
Ví d
1.1 Guest Requirement
Guest is a person who doesn’t have access to the system. Guest can use some
functions in the system. To use all functions, guest must login. These are some
functions guest can use:
Register.
Login.
...
1.2 Member Requirement
...
1.3 ...
2. System Requirement Specification
2.1 External Interface Requirement
2.1.1 User Interface
<Lit kê các yêu cu v trình bày cho người s dng>
Ví d
General requirement for graphics user interface is the GUI should be simple, clear,
intuitive, and reminiscent.
The interface design is an iterate process includes: design, sketching, prototyping, user
assessment.
Some design principles will be taken into consideration:
o UI for businesss web applications - Janko Jovanovic [Ref:
http://www.smashingmagazine.com/2010/02/25/designing-user-interfaces-for-
business-web-applications/]
o Ten principles of effective web design Vitaly Friedman [Ref:
http://www.smashingmagazine.com/2008/01/31/10-principles-of-effective-web-
design/]
o Principles of mobile interface design Jonathan Stark [Ref:
http://www.oreilly.com/pub/e/2144]
2.1.2 Hardware Interface
<Lit kê các yêu cu phn cng s dng trong d án>
Ví d
Smartphone with NFC support.
2.1.3 Software Interface
<Lit kê các yêu cu v phn mm chú ý ghi rõ phiên bn cũng như kích thưc
màn hình>
Ví d
PAGE \* MERGEFORMAT 1
Web application: work with Firefox (v30 or above), Chromes (v14 or above), Internet
Explorer (v10 or above) browse.
Mobile application: Android operating system (v 4.0 or above).
2.1.4 Communication Protocol
<Yêu cu v giao tiếp gia các thành phn trong ng dng>
Ví d
Use HTTP protocol 1.1 for communication between the web browser and the web server.
2.2 System Overview Use Case
<Hình Overall Use case ca h thng: chú ý s dng b kí hiu phù hp ý
nghĩa và phiên bản UML s dụng để ghi trong mô t use case>
Ví d
Thông tin mô t v đặc t UML tham kho ti http://www.omg.org/spec/UML/2.0/
Chú ý
- Các quan h gia các use case khi dùng extend phi ghi <extension
point> và condition
- Overview usercase phi th hin ràng buc gia các usecase trong h thng,
tuyệt đối không được lit kê usecase
- Nên s dng abstract usecase vi nhóm chức năng liên quan. Không nên
s dng dng abstract usecase ch mt usecase, không s dng dng
abstract usecase có cha thành phn abstract usecase
- Khi mô t usecase nên chú ý tp trung chức năng, view các thành phn
ph tr (có th nói là extend) không phichức năng chính ca h thng
- Cn phân bit usecase chức năng, qui trình. Usecase không phi
màn hình, hay các c - step - trong quá trình x
Ví d
PAGE \* MERGEFORMAT 1
PAGE \* MERGEFORMAT 1
Figure 2: System Overview Use Case
2.3 List of Use Case
c t chi tiêt Use case theo tng role>
<Tách nh thành phn usecase trong overview thành tng nhóm theo vai trò
actor trong h thống đã được phân tích. Hình v phi bao gm luôn các
usecase có quan h>
Ví d
2.3.1 <Guest>Overview Use Case
Figure 3: <Guest> Overview Use Case
<Tách riêng từng usecase để đặc t trong usecase specification, lưu ý nều có
quan h thì phi v hình có luôn quan h>
Ví d
2.3.1.1 <Guest> Register
Use Case Diagram
Figure 4: <Guest>Register
Use Case Specification
PAGE \* MERGEFORMAT 1
GuideLine: Đây giai đoạn ly requirement nên các t phải được din
đạt theo ngôn ng ca khách hàng, không phải nơi tả màn hình giao
din khi ng dụng đã hoàn tất. Ngoài ra, đây chính nơi th hin vai
trò ly requirement với phương pháp ethnography - observate để chun
b thông tin cho thiết kế thc hin sn phm. Các ni dung trong phn
này chính phn thông tin để hình thành nên các thc th trong
conceptual diagram
USE CASE <UC number>
Use Case No.
Đánh số UC
Use Case Version
2.0
Use Case Name
Tên UC
Author
Người thiết kế, hin thc
Date
Ngày viết
Priority
Mức độ quan trng
trong d án. Core
flow thì đánh là
High và gim dn
đến Normal
Actor:
- <Actor s thc hin use case>
Summary:
- <Tóm tt v tính năng của use case>
Goal:
- <Mục đích của use case: kết qu khi usecase kết thúc thành công>
Triggers:
- <Bước làm use case đưc kích hot>
Preconditions:
- <Xác định các ràng buc phải đạt được trước khi chức năng được thc hin,
thông thường là role ca actor, trng thái yêu cu ca d liu, các ràng buc v
toàn vn d liu hay qui trình>
- Ví dụ: để cancel một hóa đơn thì precondition là
o User phi là mt customer
o Hóa đơn vẫn đang trong tình trạng chưa hết thi hn hy ca h thng
là 3 ngày
Post Conditions:
- < Trng thái sau khi tiến hành bt buc phi có 2 trng thái cho success và fail.
Vì vy khi ghi phải có đủ và phn fail bt buc xut hin trong exception
scenario>
- Success: Khi thành công thì tình trng h thng thế nào đối vi h thng
và đối với người dùng
- Fail: Khi có li xy ra thì h thng s x lý thế nào để đảm bo usability
cho người dùng và toàn vn d liu cho h thng
Main Success Scenario: <Hướng x lý chính ca h thng>
Step
Actor Action
System Response
1
-
2
Alternative Scenario: <Hướng x lý khác trong tình hung d liu c th như
PAGE \* MERGEFORMAT 1
mệnh đề if hoc la chn khác của người dùng trong quá trình main flow đưc
din ra>
No
Actor Action
System Response
1
Exceptions: Gm các tình hung x lý ngoi l cũng như xử lý các exception do
người dùng gây ra khi nhp liu
No
Actor Action
System Response
Relationships: Mi quan h vi các Use case khác nếu có trong quá trình x lý, tuy
nhiên nó không phi là abstract usecase
Business Rules:
- Thành phn mô t các yêu cu v mt nghip v ca use case.
- Tt c các gi định v nghip v nếu có phải được ghi vào
- Chú ý ti s chuyển đổi v trng thái ca d liệu cũng phải được ghi tại đây
- Các định nghĩa cũng cần làm rõ (sn phm ni bt, sn phm sp có là sn
phm thế nào trong h thng)
- Các ràng buc d liệu dưới h thống, các rule liên quan đến toàn vn d liu
- Các qui trình, activities, quá trình chuyển đổi trng thái ca h thng
Ví d
USE CASE WG01
Use Case No.
WG01
Use Case Version
2.0
Use Case Name
Login
Author
TrungDQ
Date
27/05/2015
Priority
Normal
Actor:
- Guest
Summary:
- This use case allows guest to log in the system.
Goal:
- Guest can log in the system.
Triggers:
- Guest sends the login command.
Preconditions:
- N/A
Post Conditions:
PAGE \* MERGEFORMAT 1
- Success: Guest login the system.
- Fail: Show error message.
Main Success Scenario:
Step
Actor Action
System Response
1
Guest goes to login view.
System requires identity information from
Guest:
- Email or customer code: free text input
- Password: free text input
2
Guest inputs information.
3
Guest sends command to login
to system
Guest will login system with their specific
role
[Alternative 1]
[Exception 1]
Alternative Scenario:
Step
Actor Action
System Response
1
Guest enter wrong identity
information.
Wrong identity information, System shows
error message.
Exceptions:
Step
Actor Action
System Response
1
System show message the "System is busy"
when the internet is lost
Relationships: N/A
Business Rules:
- Password are encrypted before being sent to server.
- After login to system, guest will be redirected to specific view based on their role on the
system: staff or customer.
o If role is “Customer”, the system will display to Customer view.
o If role is “Staff”, the system will display to Staff Dashboard view.
Ví d
<Guest> Create new contract request
Figure 5 <Guest> Create new contract request
USE CASE WG02
Use Case No.
WG02
Use Case Version
2.0
Use Case Name
Create new contract request
Author
TrungDQ
Date
27/05/2015
Priority
Normal
Actor:
- Guest
PAGE \* MERGEFORMAT 1
Summary:
- This use case allows guest to create new contract request.
Goal:
- Guest can create new contract request.
Triggers:
- Guest sends command to create contract request.
Preconditions:
- N/A
Post Conditions:
- Success: New account and new contract will be created for guest.
- Fail: Show error message.
Main Success Scenario:
Step
Actor Action
System Response
1
Guest goes to new
contract view.
System requires information from guest:
Personal information
- Name: free text input, required, length 3 80.
- Address: free text input, required, length 3 250.
- Email: free text input, required, length 3 250.
- Phone number: free text input, required, length 8
15.
- Personal ID: free text input, length 8 15.
Contract information (all information below are
required)
- Contract’s type: select one of the options.
- Start date: date time input, required.
- Contract term: text
- Contract’s fee: text
Vehicle information
- Plate: free text input, required, length 4 15.
- Brand: free text input, required, length 2 20.
- Model code: free text input, length 2 20.
- Vehicle type: free text input, length 2 20.
- Color: free text input, length 2 20.
- Engine: free text input, required, length 2 20.
- Chassis: free text input, required, length 2 20.
- Capacity: free text input, required, length 2 20.
- Year of manufacture: number text input, value
from 1900 to current year.
- Weight: free text input, value from 1 1000, unit:
kilogram
- Seat capacity: free text input, value from 1 100.
Security question
- Answer: free text input, required, length 1 -
10
2
Guest inputs
information.
3
Guest sends command
to create new contract
request.
System validate information, display contract details
and request for confirmation.
[Exception 1, 2, 3]
4
Guest sends command
to create new contract
request.
Add new account and new contract information to the
system. Show successful message and ask user to
process payment.
5
Guest sends command
Display new view let user select one of following
PAGE \* MERGEFORMAT 1
to process payment
payment gateways:
- PayPal payment gateway.
- Direct payment.
And show guest the fee:
Contract’s fee: text.
6
If user chooses PayPal
gateway and sends
confirm command.
[Alternative 1]
Forward to PayPal payment view to process the
payment.
7
User process the
PayPal payment
If payment succeed:
Show message created successful.
[Exception 4]
Alternative Scenario:
No
Actor Action
System Response
1
If user chooses direct payment
method
Show company address map.
Exceptions:
No
Actor Action
System Response
1
Guest sends command to create
new contract request
System shows error message to ask user
input missing required fields.
2
Guest’s email is existed in the
system
Show message to notify guest that their email
is existed in the system.
3
Guest’s vehicle plate is existed
in the system
Show message to notify guest that their
vehicle is existed in the system.
4
If payment failed
Show message to notify user that payment
failed and the renew request has been
aborted.
Relationships: Payment
Business Rules:
- New customer account and new contract will be created in the system with inputted
information.
- The initial status of contract will be set to “Pending”.
- When customer completed payment process:
+ if the contract’s start date has come, contract’s status would change from “Pending”
to “No Card”.
+ If start date is not come yet, the contract status is not changed.
- Staff will receive a notification about new contract request, they verify contract’s
information and issue a card for this contract, in this case, contract’s status would
change from “No Card” to “Ready”.
- System must ensure has no duplicate customer or vehicle.
- An email contains customer code and password will be sent to user, user can use this
information to login to the system later.
- Start date must not be earlier than the current date.
- Contract term is specified by the system.
- Contract types are loaded from system, contract type can be managed by system
administrator.
- Contract price would be calculated from contract type and contract term.
Table 6 Use case WG02 - <Guest> Create new contract request
Ví d
PAGE \* MERGEFORMAT 1
<Customer> Cancel contract
Figure 6 <Customer> Cancel contract
USE CASE WC03
Use Case No.
WC03
Use Case Version
2.0
Use Case Name
Cancel contract
Author
TriPQM
Date
27/05/2015
Priority
High
Actor:
- Customer.
Summary:
- This use case helps user cancel their contract.
Goal:
- Customer can cancel the contract.
Triggers:
- Customer sends cancel contract request.
Preconditions:
- User must login into the system with role Customer.
- User’s contract has not expired.
- Customer's contract status must not be “Expired”, "Cancelled" or “Request cancel”.
Post Conditions:
- Success: Send to the staff the cancel contract request.
- Fail: Show error message.
Main Success Scenario:
Step
Actor Action
System Response
1
User goes to cancel contract
view.
Display new view require user input some
information:
- Reason to cancel the contract: can be
optional selected from these values:
o Xe cơ giới b thu hồi đăng ký và biển s
theo quy định ca pháp lut
o Xe cơ giới hết niên hn s dng theo
quy định ca pháp lut
o Xe cơ giới b mất được cơ quan công an
xác nhn
o Xe cơ giới hng không s dụng được
hoc b phá hu do tai nn giao thông
được cơ quan công an xác nhận
o Other reason: free text input, required,
length 1-250.
2
User inputs information
3
User sends cancel contract
request command.
- Change contract status.
- Send request to the Staff.
[Exception 1]
Alternative Scenario: N/A
PAGE \* MERGEFORMAT 1
Exceptions:
No
Actor Action
System Response
1
If user didn't check any reason
to cancel contract
Show message to notify user that they have to
choose the reason for cancel contract.
Relationships: N/A
Business Rules:
- Cancel contract request will be sent to the system with inputted information.
- System update status of the contract from “Pending”, “No Card” or “Ready” to
“Request cancel”.
- A notification will be sent to staff after the process is completed.
Table 7 Use case WC03 - <Customer> Cancel contract
Ví d
System
System
Auto parse
Figure 7: <System> Auto parse use case diagram
Use Case Specification
USE CASE ARB08
Use Case No.
ARB08
Use Case Version
2.0
Use Case Name
Auto parse
Author
Pham Nguyen Bich Hien
Date
30/05/2014
Priority
Normal
Actor:
- System.
Summary:
- System can parse resource automatically from many websites at specified time.
Goal:
- Get resource from many websites.
Triggers:
- The time hits configured time.
Preconditions:
- Parse time has been configured.
Post Conditions:
- Success: New data is inserted to storage. Log file is generated.
- Fail: Nothing is changed in the storage. Log file is generated.
Main Success Scenario:
Step
Actor Action
System Response
1
Server checks the current time.
If it hits configured time, parse
process starts.
Send request to the parsed link.
Fetch data from the response based on
the inputted XPaths.
PAGE \* MERGEFORMAT 1
Validate data [Exception 1].
If data is valid, insert to storage
[Alternative 1].
Generate log file.
Alternative Scenario:
Step
Actor Action
System Response
1
Server checks the current time. If
it hits configured time, parse
process starts.
If fetched link resource is already in the
storage, update its information.
Generate log file.
Exceptions:
No
Actor Action
System Response
1
Data is invalid.
Generate log file.
Relationships: N/A
Business Rules:
- If link resource exists in storage, do nothing.
- If link resource is not active, do nothing.
- Log file structure:
ARB LOG FILE
To file lúc: {Created date}, {Created time}
STT
Link
Thi gian
parse
Dng d
liu
Tng s sách
nhận được
Insert thành
công
Insert tht
bi
Tng thi gian parse dng {Data type}: {Elapsed time}
Tng thi gian parse: {Total elapsed time}
Tng sn phm parse được: {Total parsed books}
-
Table 8: Auto parse use case specification table
3. Software System Attribute
<Mô t non-functional requirement, các ni dung phi có dn chng v vic
đã đo đạc, có định lượng bằng các phương pháp, công cụ và phi hiu v các
nội dung đã ghi ra.>
3.1 Usability
3.2 Reliability
3.3 Availability
3.4 Security
3.5 Maintainability
PAGE \* MERGEFORMAT 1
3.6 Portability
3.7 Performance
…..
4. Conceptual Diagram
<Xác định các thc th - không cn thuc tính - mi quan h gia
chúng vi nhau thông qua các business rule, actor, các thành phn có mi
quan h để hình thành nên các thc th thông qua các t trong usecase
diagram và usecase specification đã nêu ra ở trên>
Chú ý
Ch s dng mt tp kí hiu và cn reference đến địa ch mô t tp kí hiu
để s dng cho chính xác
Các Diagram cn ln rõ ràng, phi dàn trang cho phù hp và nên dùng
trang A3 để in
Các thành phn trong diagram phải được th hin thông qua dictionary
Data Dictionary c t các thc th có trong hình>
Entity Data dictionary: describe content of all entities
Entity Name
Description
Ví d
Figure 8 Conceptual diagram
PAGE \* MERGEFORMAT 1
Data Dictionary
Entity Data dictionary: describe all content of all entities
Entity Name
Description
User
Abstract entity describes a user in system
Customer
Contain the customer information.
Contract
Contain the contract information.
Card
Contain the card information
CardInstance
Represent a card assigned to a contract
Payment
Contain the payment information.
Staff
Contain the staff information.
Compensation
Contain the compensation information.
Punishment
Contain the punishment information.
Accident
Contain the accident information.
ContractType
Contain the contract type information.
NewCardRequest
Contain the new card request information.
Notification
Contain the notification information
Table 9 Conceptual Diagram Data Dictionary
PAGE \* MERGEFORMAT 1
D. Report No. 4 Software Design Description
1. Design Overview
<Ni dung này tham kho và có th gi nguyên và ch thay thế các phn phù
hp với đồ án ca nhóm. Nhóm có th viết lại cho hay hơn>
- This document describes the technical and user interface design of MSSC System.
It includes the architectural design, the detailed design of common functions and
business functions and the design of database model.
- The architectural design describes the overall architecture of the system and the
architecture of each main component and subsystem.
- The detailed design describes static and dynamic structure for each component and
functions. It includes class diagrams, class explanations and sequence diagrams
for each use cases.
- The database design describes the relationships between entities and details of
each entity.
- Document overview:
Section 2: gives an overall description of the system architecture design.
Section 3: gives component diagrams that describe the connection and
integration of the system.
Section 4: gives the detail design description which includes class diagram,
class explanation, and sequence diagram to details the application functions.
Section 5: describe screens design.
Section 6: describe a fully attributed ERD.
Section 7: describe algorithms.
PAGE \* MERGEFORMAT 1
2. System Architectural Design
<Kiến trúc h thng mà nhóm xây dng: s dụng các pattern và reference đến
ni dung và xem xét la chọn các diagram mang đầy đủ nội dung như concept,
không sao chép, vay mượn và chế kí hiu. Nếu dùng kí hiu ngoài UML thì ghi
chú gii kí hiu ngay cnh hình v.>
<Mô t kiến trúc ca tng thành phn trong ng dng nếu có.>
Ví d
Figure 9 System architecture design
This diagram is referenced and modified from an original concept from: Chapter 6
Architecture Design, SOFTWARE ENGINEERING 9th Edition, by Ian Sommerville.
2.1 Web application architecture description
<Gii thích lý do ti sao la chn mô hình này da trên SRS, Introduction, và
project plan đã nêu ra các phn trên>
<Mô t các thành phn ca kiến trúc theo dng bng, và s tương tác gia các
thành phn theo kiến trúc.>
Ví d
In Web Application, the system is developed under J2EE MVC architecture style. We choose this
architecture for Web application because of following advantages:
Web app contains a Web service (public API for mobile app), with MVC architecture, we
can separate business code with Controller and View, so we can use the business code in
web service without repeat the code.
...
This project follows MVC architecture with following components:
Servlet (Controller) is the parts of the application that acts like event handler to handles
user interaction. Typically, controller read data from a request and calls appropriate
Business’s method then selects view to return to user.
...
2.2 ...
PAGE \* MERGEFORMAT 1
3. Component Diagram
<Th hin vic chia h thng thành các component. Ni dung này da trên
kiến trúc đã đề ra phần trên để chia cho phù hợp và đúng mô hình>
Ghi chú: Xem li b quy ước kí hiu của UML 2.0 trước khi v các mi quan h
cũng như hiểu rõ thiết kế để v chính xác. Nếu tool không phù hp thì nhóm
nên dùng Paint để v
<Mô t tng thành phn trong hình v theo bng biểu bên dưới.>
Component dictionary: describe component
Component Name
Description
Ví d
Figure 10 Component Diagram
Component Dictionary: Describes components
Web Application
Web application package: View, Controller
Mobile Application
Mobile application package
PayPal
Handle payment process with PayPal API
Payment Component
Component to handle payment process
Web Service
Provide API for mobile applications to interact with the
system.
Staff Component
Component to handle staff activities in the system
Customer Component
Component to handle customer activities in the system
Public Component
Component to handle guest activities in the system
Admin Component
Component to handle admin activities in the system
Schedule Component
Component to handle scheduler in the system
Business Objects
Common objects to handle domain business operations for
each components
Data Access Objects
Component to handle interaction between the system and
database
Table 10 Component Dictionary
PAGE \* MERGEFORMAT 1
4. Detailed Description
4.1 Class Diagram
<Hình thiết kế class diagram: tham kho các mi quan h gia các lp trong
đặc t UML, nm rõ v dependency, association, composition, aggregation,
inheritance. Bên cạnh đó, cần xác định rõ cardinality gia các quan h vi
nhau. Đây là dạng conceptual class diagram, do vy, cần căn cứ trên
conceptual diagram và ni dung xây dng object cn thiết khi lp trình và xây
dng ng dng trong lúc viết chương trình>
<Mô t tng thành phn class theo bng biểu bên dưới.>
Class dictionary: describe Class
Class Name
Description
Ví d
Figure 11 Class Diagram
PAGE \* MERGEFORMAT 1
Class dictionary: describe Class
Class Name
Mapping column
with Conceptual
diagram
Description
PaymentEntity
Payment
Contain the payment information.
CardEntity
Card
Contain the card information.
CardInstanceEntity
CardInstance
Contain the card instance information
CustomerEntity
Customer
Contain the customer information.
ContractEntity
Contract
Contain the contract information.
StaffEntity
Staff
Contain the staff information.
CompensationEntity
Compensation
Contain the compensation information.
PunishmentEntity
Punishment
Contain the punishment information.
AccidentEntity
Accident
Contain the accident information.
ContractTypeEntity
ContractType
Contain the contract type information.
NewCardRequestEntity
NewCardRequest
Contain the new card request information.
CardAccessLogEntity
N/A
Not exist in conceptual diagram. But needed
in class diagram to contain the card access
log information.
NotificationEntity
N/A
Not exist in conceptual diagram. But needed
in class diagram to contain the notification
information.
NotificationReadEntity
N/A
Not exist in conceptual diagram. But needed
in class diagram to know what notifications
is read.
Table 11 Class dictionary
4.2 Class Diagram Explanation
<Mô t các thành phn c th cho các lp đã được v ra phn trên>
Ví d
4.2.1 Role
Attribute
Attribute
Type
Visibility
Description
RoleID
int
Private
Unique identifier of a role
Name
string
Private
Role name
Method
Method
Return type
Visibility
Description
Getter
Attribute type
Public
Get attribute value
Setter
Void
Public
Set value of attribute
4.2.2 ...
4.3 Interaction Diagram
4.3.x Tên Interaction Diagram
<S dng sequence diagram ch yếu để trình bày ni này. Sequence diagram
cn kết hp giữa các class đã trình bày trên kết hp vi các kiến trúc đã được
thuyết minh để có mô hình phù hp. Đối vi ng dụng điện thoại di động thì nên s
dng activity diagram>
PAGE \* MERGEFORMAT 1
Summary: <Nên có phn tóm tắt trước diagram để trình bày v
mục đích của diagram trước khi th hin hình v>.
Ví d
4.3.1.1 Create new contract
Summary: this diagram show process of staff creates new contract
Figure 12 Sequence diagram - <Staff> Create new contract
4.3.1.2 <Member> View Friend List
Summary: This diagram shows how member views all contacts that
include MSSC contacts and android cell phone contacts.
PAGE \* MERGEFORMAT 1
Figure 13: <Member> View Friend List
5. Interface
5.1 Component interface
<Mô t các interface như của web service hay các signature ca core flow đưc s
dng trong h thng>
Nội dung được đặc t theo dng bảng như sau
Signature
Description
Input
Output
Output
Format
Exception
Tên hàm
Mô t mc
đích
Tham s
truyn
Kết xut khi
hàm x
xong
Kiu d
liu
X lý li
Ví d
Web Service Interface
Signature
Description
Input
Output
Output
Format
Exception
public ResponseObject
getCheckConnection(R r)
Check
server
status
Request object r
Json Boolean
the status of
server
Boolean
JsonProcessi
ngException
PAGE \* MERGEFORMAT 1
...
5.2 User Interface Design
<Chp và mô t màn hình>.
Lưu ý phải đánh số đặc t các control trên giao din cùng vi các
thành phn trong ràng buc
Ví d
5.3 Guest Interface Design
5.3.1 Login
Figure 14: Login
Fields
No
Field
Name
Description
Read
only
Mandatory
Control
Type
Data
Type
Length
1
Username
Fill user
name
No
Yes
Textbox
String
N/A
2
Password
Fill
password
No
Yes
Password
String
N/A
Buttons/Hyperlinks
No
Function
Description
Validation
Outcome
3
Signin
Log-in into the system
N/A
Transfer to home page
6. Database Design
6.1 Entity relationship diagram (ERD)
<Thiết kế ERD. Được suy ra và hình thành t conceptual
diagram, class diagram và quá trình hình thành architectural>
PAGE \* MERGEFORMAT 1
6.2 Data Dictionary
<Mô t v các thc th>
Entity Data dictionary: describe content of all entities
Entity Name
Description
<Mô t các thành phn bên trong thc th>
Entity name
Attributes
Description
Domain
Null
Tên
Thuc tính 1 {PK}
Mô t
Kiu d liu
Y/N
...
...
...
...
Table 12: Detail Data Dictionary
* Business integrity constraint:
<Mô t các ràng buc v toàn vn d liệu để đảm bo nghip v>
7. Algorithms
<Các thành phn thut toán - các giải pháp để gii quyết phn core flow mà nhóm
đã áp dụng>
Chú ý
Không nht thiết phi thut toán ni tiếng th cách t chc d
liệu cũng như giải thuật do nhóm đang thực hin bên trong h thng: ghi
rõ bn cht, phân tích v độ phc tp, nếu tham kho phi ghi rõ ngun
Cách gii quyết hay cách áp dng các qui trình nghip v hay cách chuyn
đổi bài toán khi làm bng tay - chưa áp dụng máy tính chương trình để
cho thy vic áp dng gii bài toán hay gii quyết vấn đề ri chuyển đổi
cách đó sang thành chương trình máy tính
Ví d
7.1 Document Breakdown
7.1.1 Definition
Document breakdown is the way to break the document into many small parts.
Each part has it own title and contents of it. And the final data has tree
structure.
7.1.2 Define Problem
All content of document is quite difficute for manage so we must re-construc
structure of document for using.
7.1.3 Solution
To solve this problem, we should follow these steps:
- Convert (save) document DOCX file as html type by using Microsoft
Word save as Web Filtered.
- Import both html file and directory that incluses all pictures of
document.
- Using xpath to get data of html file as we need, include h1, h2, h3,…,
image, text content,..
- Save them with structure as below:
-TitleA: contentA
PAGE \* MERGEFORMAT 1
---TitleA1: contentA1
------TitleA1.1: contentA1.1
------TitleA1.2: contentA1.2
---TitleA2: contentA2
7.1.4 Complexity
- In total, the complexity of this algorithm is
7.1.5 Flowchart
PAGE \* MERGEFORMAT 1
PAGE \* MERGEFORMAT 1
Figure 15: Breakdown document flow chart
7.2 String Comparison
7.2.1 Define Problem
Given two strings. Calculate their matching percent.
7.2.2 Requirement
- Robustness to changes of word order: two strings which contain the
same words, but in a different order, should be recognised as being
similar.
- Language independence: the algorithm should work not only in English,
but in many different languages.
7.2.3 Solution
- If a string contains many words, break it into a list of words.
- For each word, we find out how many adjacent character pairs are
contained in it.
- Create a function pairs(s) which returns a list of adjacent character
pairs of string s.
- Then, we use below formula to calculate matching percent.
7.2.4 Example
Calculate the matching percent of 2 strings: France and French.
- Upper case 2 strings:
+ France FRANCE.
+ French FRENCH.
- Break string into list of adjacent character pairs:
+ FRANCE
+ FRENCH
- Calculate its matching percent.
PAGE \* MERGEFORMAT 1
E. System Implementation & Test
1. Introduction
1.1 Overview
<Mô tả tống quát mục đích test chủ yếu với thời gian và scope và số lượng nhân lực
thì nhóm áp dụng phương pháp gì cho việc test>
Ví d
This section provides in detail all necessary information about implementation information and
testing procedure of MSSC includes test plans, test cases, test result and risks estimations.
1.2 Test Approach
<Phương pháp kiểm thử của nhóm : black box, white box ...>
2. Database Relationship Diagram
2.1 Physical Diagram
<V database khi cài đặt vt lý trên các RDBMS: chú ý b cục cũng nhu kích thước
cho d đọc>
2.2 Data Dictionary
<Mô tả thành phần theo bảng biểu bên dưới>
Data dictionary: describe content of all tables
Table Name
Description
Tên
Explanation
<Mô tả thành phần chi tiết>
Entity name
Attributes
Description
Domain
Null
Tên
Thuc tính 1 {PK}
Mô t
Kiu d liu
Y/N
...
...
...
...
Table 13: Attribute Data Dictionary
3. Performance Measures
<Cách nhóm ước lượng vic đo đạc h thng>
Ví d
3.1 Clustering Performance
Clustering is performed by running K Mean Algorithm which has complexity
of : O(n * k * I * d)
o n : number of points
o k : number of cluster
o I : number of iteration
o d : number of attributes (3)
PAGE \* MERGEFORMAT 1
Clustering take almost the time of process that we can ignore the time needed
to load data from database, digitalize data.
The speed of clustering will vary and increase dramatically when n increase.
The purpose of this project is not about optimizing K-Mean Algorithm so it is
accepted to let the process run till it completes. Moreover, the clustering is
designed to run by staff, wait time is acceptable.
4. Test Plan
<Đưa ra kế hoạch test>
Ví d
The purpose of this section is to verify and ensure that MSSC meets its design specification and
other requirements from user. The following part will describe which features to be tested and
which will not.
4.1 Features to be tested
<Tính năng sẽ kim th>
4.2 Features not to be tested
<Tính năng sẽ không kim th>
5. System Testing Test Case
<Nên v các workflow tính năng sẽ test để d hình dung, chú ý dàn trang in
ngang, chú ý đánh số, ngày tháng, kết qu, không sao chép>
Ví d
PAGE \* MERGEFORMAT 1
Figure 16: Guest, Member Core Flow
MSSC - Introduction
5.1 Guest Test Case
5.1.1 Search Event
ID
Test Case
Description
Test Case Procedure
Expected output
Inter-test Case
Dependence
Result
Test Date
Note
MSSC - Introduction
47
F. Software User’s Manual
1. Installation Guide
1.1 Setting up environment at server side
The following software must be installed into the server machine:
1.1.1 Hardware requirements
<Yêu cu phn cng server, chú ý xem lại các report trước để nht
quán>
1.1.2 Software requirements
<Yêu cu phn mm server, chú ý xem lại các report trước để nht
quán>
1.2 Deployment at server side
<Mô t quá trình trin khai lên server thc tế, gi ý có th gm các
c sau, chú ý khi làm phi chp hình c th để ng dẫn cũng
như so sánh kết qu thành công>
1.2.1 Prepare deployment package
1.2.2 Configure Server before deploy
1.2.3 Deploy web application on server
1.3 Setting up the environment at client side
1.3.1 Setting up for computer
<Ghi rõ phiên bn ti thiểu để s dng>
2. User Guide
<Viết hướng dn s dụng cho người dùng>
G. Appendix
<Các thành phn tham kho ca tài liu chú ý tham kho thêm cách ghi ti
http://www.khoahocviet.info/meresci/vi/meresci03d4.html>

Navigation menu