Quy trình thiết kế tại FPT SOFTWARE – BÁO cáo THỰC tập DOANH NGHIỆP tại CÔNG TY TNHH PHẦN mềm F –

Một phần của tài liệu BÁO CÁO THỰC TẬP DOANH NGHIỆP TẠI CÔNG TY TNHH PHẦN MỀM FPT 3

2.2.1 Tổng quan

Mục đích:

Khai thác các giải pháp yêu cầu.

Hình 2.3: Quy trình thiết kế tại FPT Software

2.2.2 Quy trình thiết kế

Phát triển thiết kế

AD/HLD, DD: Các bước và các hoạt động
– Xem lại và phê duyệt thiết kế ở mức cao:

+ Chuẩn bị cho việc xem lại HLD, báo và gửi tài liệu, các bản ghi tới
người xem lại đó.

+ Review: Phương pháp thiết kế, kiến trúc hệ thống, tính khả thi của quá
trình thiết kế chi tiết và coding

+ Thiết kế màn hình, báo cáo, các giải thuật và các module khác.
+ Tại tài liệu thiết kế chi tiết.

2.2.3 Thiết kế quy trình làm việc

Tổng quan:

Hình 2.4: Lưu đồ thiết kế quy trình làm việc
Các bước thiết kế:

a. Bước 1: Lập kế hoạch.

Mục đích: Nó để thành lập kế hoạch thiết kế.

Trigger: Dự án được mở và quản lý dự án được bổ nhiệm.
Đầu vào:

– Kế hoạch dự án .

– Các yêu cầu của khách hàng.
Các bước:

– Nghiên cứu yêu cầu thiết kế: các mẫu và mô tả; các chuẩn. các quy
định, hướng dẫn, các thiết kế tương tự và có thể sử dụng lại, các công cụ.

– Nghiên cứu các đầu vào (hiệu năng và các yêu cầu chức năng; các quy
định và các yêu cầu pháp lý; các yêu cầu khác), các quyết định yêu cầu chưa
rõ ràng và chưa thống nhất.

– Tạo kế hoạch thiết kế: Phạm vi và mục đích, các nhiệm vụ và kết quả,
các gia đoạn và cột mốc, lịch trình và nguồn lực, các giao diện, các tiêu chuẩn
thiết kế và tiêu chí.

– Đầu ra:

– Kế hoạch thiết kế được tạo và phê chuẩn: Quá trình thiết kế, nguồn lực
cho thiết kế, các tools được sử dụng, lịch trình.

– Các chuẩn, mẫu và checklist được sử dụng cho thiết kế đã được thành
lập.

b. Bước 2: Phát triển thiết kế cấp cao.
Mục đích:

Để phát triển kiến trúc thiết kế.
Trigger:

Kế hoạch cho thiết kế được phê duyệt.
Đầu vào:

– Nghiên cứu các tài liệu phân tích công việc và đặc tả yêu cầu người
dùng.

Định nghĩa các điểm chính của kiến trúc hệ thống như mô hình kỹ thuật,
mô hình hoạt động, mô hình cơ sở dữ liệu ,mô hình cấu trúc chương trình,
nguyên mẫu (nếu cần).

Đầu ra:

– Các mẫu yêu cầu phần mềm.

– Mô hình phần mềm, nguyên mẫu (nếu có).
– Các kết quả thiết kế chương trình.

– Các kết quả thiết kế giao diện.

– Tài liệu thiết kế kiến trúc.

c. Bước 3: Đánh giá, phê duyệt thiết kế cấp cao.
Mục đích:

Để làm rõ và xác nhận kiến trúc thiết kế.
Trigger:

Kiến trúc thiết kế sẵn sàng để xem xét và phê duyệt.
Đầu vào:

– Tài liệu thiết kế kiến trúc.
– Chuẩn, các yêu cầu thiết kế.
Các bước:

– Chuẩn bị cho đánh giá thiết kế cấp cao, thông báo và gửi tài liệu, các
bản ghi tới người xem xét.

– Đánh giá thiết kế cấp cao: Giải pháp thiết kế, các tool và các chuẩn,
kiến trúc hệ thống, tính khả thi của quá trình thiết kế chi tiết và coding.

– Phê duyệt thiết kế cấp cao và thay đổi yêu cầu (nếu cần).
Đầu ra:

– Design Checklist.

– Đánh giá báo cáo, yêu cầu thay đổi (nếu cần).

– Thiết kế kiến trúc được phê duyệt và các yêu cầu thay đổi của nó.
d. Bước 4: Phát triển thiết kế chi tiết.

Mục đích:

Để phát triển thiết kế chi tiết.
Trigger:

– SRS, URD, và các yêu cầu của khách hàng.
– Tài liệu thiết kế kiến trúc.

– Kế hoạch thiết kế.
Các bước:

– Thiết kế các báo cáo.
– Thiết kế các giải thuật.
– Thiết kế các module khác.
– Tạo tài liệu thiết kế chi tiết.
Đầu ra:

– Tài liệu thiết kế chi tiết.
– Các mâu thiết kế.

e. Bước 5: Tiến hành chuyển đổi thiết kế.
Mục đích:

Cung cấp các gói thiết kế cho giai đoạn tiếp theo.
Trigger:

Các gói thiết kế là sẵn sàng để chuyển giao.
Đầu vào:

– Thiết kế kiến trúc.
– Thiết kế chi tiết.
– Mẫu thiết kế (tùy ý).

Các bước:

– Tổng quát hóa các kết quả thiết kế, xem lại các chú ý và định nghĩa
thêm công việc.

– Xem xét và phê duyệt các sản phẩm thiết kế trước khi cung cấp cho
khách hàng, nếu cần.

– Cung cấp các sản phẩm thiết kế tới các đơn vị sản xuất, và tới khách
hàng (nếu cần).

– Tạo báo cáo tóm tắt thiết kế.
Đầu ra:

– Các sản phầm thiết kế được cung cấp.
– Báo cáo 2 tóm tắt thiết kế.

CHƯƠNG 3: THỰC TẬP CÔNG TY TNHH PHẦN MỀM FPT
(FSOFT)

3.1 Vị trí, mô tả công việc và quá trình thực hiện công việc Mô tả công việc được phân công
Mô tả công việc được phân công

Nội dung công việc: Thực tập sinh C/ Embedded
A, Lập trình ngôn ngữ C

Bảng 3.1: Lộ trình thực tập tháng thứ nhất

Ngày học Tên bài học Nội dung, kiến thức

12/01/2022 Variable in C

– Introductory question?
– Basic Data Types
– Store Class

– Key word for variable
– Pointer variable

– Struct Data type
– Structure

13/01/2022

Array, Decision and
Looping
Array in C
Decision in C
Looping In C
14/01/2022 Function
What is function

Inline keyword, inline function
Phân biệt macro-like function và
function

Variable argument list

Function argument, function return
Recursion

18/01/2022

Memory

Management &
Pointer Basics

1 Memory layout

2 Variable and memory location
3 Linker file and memory

4 Pointer variable

5 Assigning values to a pointer
6 Memory allocation for a pointer
7 Pointer arithmetic

19/01/2022 Practicce and review Practice Time: Assignment

20/01/2022 Macro and Bit Operations

C Preprocessor Overview
Macro

C Preprocessor Directives
Bit Operations

21/01/2022 Data Structure &

Algorithms Data structure and Algorithms

24/01/2022 Practicce and review Practice Time: Assignment

25/01/2022 Pointer Advances Day 1

Assigning pointer to address
Wrong using pointer

Pointer essence
Function pointer
Callback function

26/01/2022 Pointer Advances Day 2 Assignment Review & Guides
27/01/2022 Pointer Advances Day 3 Assignment Review & Guides
28/01/2022 Optimization in C Optimization

07/02/2022 C_Common defects C_Common defects
08/02/2022 FILE handing FILE handing

10/02/2022 Mock project 1 (6 Days)

Do The Mock test

Do the Mock test – Day 1

11/02/2022 Mock project 1 (6 Days)

Review Mock test

Do the Mock test – Day 2
Review Mock test

14/02/2022 Mock project 1 (6 Days)

Do mock test Do the Mock test – Day 3

15/02/2022 Mock project 1 (6 Days)

Review Mock test

Do the Mock test – Day 4
Review Mock test

16/02/2022 Mock project 1 (6 Days)

Do mock test

Do the Mock test – Day 5

17/02/2022 Mock project 1 (6 Days)

Present Mock

Do the Mock test – Day 5
Review Mock test

B, Embedded system

Bảng 3.2: Lộ trình thực tập tháng thứ hai
Ngày học Tên bài học Nội dung, kiến thức

18/02/2022

Embedded System
Getting Started +
Embedded Software
Development

Introduction to the course
Embedded system Introduction
Setup working environment
and try to create a sample
project for Freedom KL46Z
board by using IAR IDE then
download to the board.

21/02/2022 Embedded Software
Development & Getting
started with Kl46

Embedded Software Overview
and Basic Development

Overview on Freescale
Freedom KL46

Overview on Development
IDE: IAR Workbench

22/02/2022

Getting started with
KL46 freedom board
(Cont)

Write an example application to
blink a led with given

frequency.
23/02/2022
Cortex Microcontroller
Software Interface
Standard (CMSIS)
Overview on Common
Microcontroller Software
Interface Standard (CMSIS).
Update Assignment 1 base on
CMSIS

24/02/2022

ARM Cortex-M

architecture overview

Introduction to ARM Cortex-M
architecture

Describe about the programmer
model in ARM Cortex-M

Explain on Instruction Set
Archtecture

25/02/2022

ARM Cortex-M

architecture overview
(Cont)

Write an example application to
blink a led by using a system
timer (SysTick)

Update the previous exercise,
the blink frequency can be
changed by using the SW1
button

28/02/2022 Exception and Interrupt Introduce on Interrupt

M

Organization of Vector Table
Some important registers:
NVIC & SCB

01/03/2022 Exception and Interrupt

(Cont)

Exceptions sequences and
handling optimization
technique

02/03/2022 Practice and review Assigment guide

03/03/2022 Pheripheral ADC/DAC

ADC/DAC module
Practice time: Write an

example application use light
sensor to show light intensity of
one led (or LCD if have).

04/03/2022 Practice and review Practice time: Write an

software timer

07/03/2022 Peripherals PIT Timer

Overview on KL46 Timer
modules

Periodic Interrupt Timer (PIT)
KL46 PIT Module

08/03/2022 Practice and review Practice time: Write an

software timer

09/03/2022 Pheripheral I2C

I2C module

Practice time: Write an
example application use
read/write EEPROM module
by I2C connection.

10/03/2022 Practice and review Practice time: Write an

11/03/2022 Peripherals UART
Introduction to UART
Data Transmission/Data
Reception
RS232 Standard
Freedom KL46 UART

Practice time: Write a program
sends a “Hello world!” to PC
through UART.

3.2 Tổng hợp, phân tích kết quả thực tập tại doanh nghiệp

Kết quả đạt được sau khóa thực tập tại Fsoft:
– Nắm vững các kiến thức ngôn ngữ C như:

 Biến

 Mảng và vòng lặp
 Hàm

 Quản lý bộ nhớ và con trỏ
 Macro và thao tác bit

 Cấu trúc dữ liệu và giải thuật
 Danh sách liên kết (Linked list)
 Con trỏ nâng cao và tối ưu hóa
 Thao tác với file và 1 số lỗi cơ bản

– Nắm vững các kiến thức Embedded như:
 Vi điều khiển và vi xử lý

 Timer/ counter /PWM

 Các ngoại vi của vi điều khiển
 I/O Ports – Input/output

 Interrupt

 Các chuẩn giao tiếp UART, I2C
 Các bộ chuyển đổi ADC, DAC
 RTOS

– Học được một số kĩ năng mềm như:
 Viết CV

 Viết email

 Làm báo cáo hàng ngày
 Kỹ năng làm việc nhóm

 Kỹ năng xử lý, giải quyết vấn đề với 1 chương trình lập trình
điều khiển

3.3 Đề xuất phương pháp cải tiến, phát triển tại doanh nghiệp

Tổ chức CMM Workshop; tổ chức các lớp đào tạo, các cuộc thi tìm
hiểu về CMMI, luyện thi thử CMM/CMMI

Chọn KPMG Ấn độ, tập đoàn tư vấn đa quốc gia với chuyên gia của
Ấn Độ, có thương hiệu lớn và chi phí tư vấn hợp lý hơn so với thuê các
chuyên gia từ Mỹ

Lãnh đạo quan tâm, cam kết giành nguồn lực có kinh nghiệm, đáp ứng
yêu cầu tham gia dự án

CHƯƠNG 4: KẾT LUẬN
4.1 Đánh giá về chương trình thực tập và ý kiến

Trong thời gian thực tập em nhận thấy rằng ở mỗi công ty có sự khác
nhau, đều có những điểm thuận lợi và khó khăn nhất định đối với sinh viên
chúng em. Từ đó giúp chúng em có những sự lựa chọn đúng đắn: Fsoft là một
môi trường tốt cho những sinh viên ra trường cũng như sinh viên muốn đi làm
thêm để lấy kinh nghiệm với một môi trường làm việc đầy tính năng động
khoa học, chuyên nghiệp, hợp lí giúp phát triển tốt năng lực của mỗi thành
viên. Tại Fsoft công việc có tính gợi mở và đầy sáng tạo. Điều đó cũng đòi
hỏi ở mỗi sinh viên phải có những kiến thức chuyên môn nhất định và cả
những kĩ năng mềm mới đáp ứng được đòi hỏi của công việc. Với Fsoft,
chúng ta có thể chọn cho mình con đường thăng tiến phù hợp nhất với khả
năng và nguyện vọng. Để bắt kịp với những thay đổi công nghệ mà khách
hàng yêu cầu, cũng như nhu cầu thăng tiến, nhân viên làm việc tại Fsoft sẽ
thường xuyên được phát triển bản thân, đào tạo kỹ năng mới. Trong quá trình
làm việc, đóng góp cho Công ty, nhân viên có những quyền lợi tương xứng,
bao gồm thu nhập, khen thưởng và những quyền lợi khác.

Nhờ kỳ thực tập này, sinh viên sẽ thấy được cơ hội việc làm và phát triển
của mình, trong môi trường doanh nghiệp thông qua các buổi tọa đàm tuyển
dụng, con đường học tập của sinh viên từ nhà trường tới dự án doan nghiệp
cũng trở nên rõ ràng hơn.

Trong thời gian hai tháng thực tập tại FPT Software, em đã định hướng
được nghề nghiệp cho mình, ngoài kiến thức chuyên môn thì việc học tập kỹ
năng mềm cũng như văn hóa doanh nghiệp cũng rất thú vị và bổ ích. Tuy sự

trải nghiệm này không dài nhưng thu hoạch từ kỳ thực tập đối với em là
không nhỏ và đáng quý vượt qua sự mong đợi lúc đầu.

4.2 Những góp ý cho cơ sở thực tập và cho việc tổ chức thực tập thực tế

Công ty đã tạo mọi điều kiện cho công việc thực tập của sinh viên, tuy
nhiên nếu được công ty nên cho sinh viên được tận mắt thấy quy trình làm
phần mềm tại nơi làm việc. Có thể cho sinh viên vào một dự án thực tế nhỏ để
được làm việc thực tế.

Đợt thực tập trong thời gian ngắn vừa qua đã mang lại cho mỗi sinh viên
chúng em nhiều kinh nghiệm quý giá! Rất thiết thực và bổ ích. Nó là cơ sở là
nền tảng định hướng cho chúng em xác định đúng đắn được vị trí mình thích
và làm trong tương lai. Vì vậy có kế hoạch mục tiêu chiến lược rõ ràng để đạt
được mục tiêu đó.

PHỤ LỤC

Danh sách hình ảnh

Hình 2.1: Quy trình phân tích yêu cầu tại FPT SOFTWARE…22

Hình 2.2: Tiến trình để phát hiện và phân tích yêu cầu phần mềm…23

Hình 2.3: Quy trình thiết kế tại FPT Software…25

Hình 2.4: Lưu đồ thiết kế quy trình làm việc…26

Danh sách bảng biểu
Bảng 3.1: Lộ trình thực tập tháng thứ nhất…30