Quy trình thiết kế tại FPT SOFTWARE

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 (Trang 26)

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

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 (Trang 26)