You are on page 1of 4

Học ở trường lý thuyết

- Kiến thức cơ bản


o Trở thành nền móng để phát triển các kỹ năng cho sinh viên
o Lập trình với một vài ngôn ngữ cơ bản: C, Java, Python,…
- Kiến thức rộng nhiều lĩnh vực ở trình độ Cử nhân
o Chứng chỉ: tập trung vào một kỹ năng
- Các môn hỗ trợ: quản lý dự án, luật sở hữu trí tuệ
Công việc thực tế
- Công ty có công nghệ và quy trình riêng biệt
o Web platform: HTML, CSS, PHP, JSON,…
o .Net: Java, C#,…
o Security: C/C++
o R&D: Matlab, Python
- Thực tập để học các kiến thức mới, công nghệ mới
o Technology, framework, API
o Quy trình làm việc
 Collaboration
 Quality assurance
Kỹ năng và năng lực của Cử nhân
- Tự học, tự khám phá
o Công nghệ, kỹ thuật mới
o Phần mềm mới
- Phân tích bài toán và đề xuất giải pháp: top-down approach
o Bổ bài toán thành các bài toán nhỏ
o Đề xuất giải pháp cho từng bài toán nhỏ
o Tối ưu thuật toán, công nghệ
o So sánh, đánh giá ưu điểm/nhược điểm
Software Engineering plan
1. Planning
- User: Multiple, Single, Admin, Staff, etc.
- Platform: web, module, stand-alone
- Online/Offline
- Duration/Cost
Ví dụ: Trang web bán hang
- Lĩnh vực: Business
- Kiểu loại trang web: Giống shopee, Tiki hay chỉ private store website
- User: Guest hay cần authentication
- Platform: web, nhưng có thể chạy ổn trên mobile, tablet
2. Designing and Conception:
- Architecture Systems: Top-down
- Security and Firewall
- Storage and backup
3. Specification
- Functional and non-functional requirements: Xác định các tính năng chính của
hệ thống
- UML: Class, use-cases, entitiy-relation, activity, sequence diagrams
- Detailed function: chi tiết các hàm/chức năng cần thiết
o Input/Output
o Data structures
o Thuật toán xử lý, scenarios (alternatives)
o Error/Exception management
4. Implementation: các môn cần thiết
- Programming courses
- Web/Mobile App development
5. Deployment and Testing: các môn cần thiết
- Operating System
- Network/Distributed System
- Software Engineering
- Software Testing and Quality Assurance
6. Deploy and Update: quay lại bước 4
Sửa 1 bug, phát sinh vài bug khác
Intership evaluation
- Work (20%) by supervisor
- Report (30%) by reviewer
- Presentation (50%) by jury (3 members)
o Duration: 12 – 15 mins
o Demo (optional)
o Q&A: must answer all questions
Requirements
- You must understand the problem in your intership.
- You must know what you do during your intership.
- You have to explain the proposed solution.
o Context, input data, output results
o Consistent technologies used in the system
- Your solution must be clear and optimized.
- You have a time limit to present:
o Emphasize your important works (not others’)
o Focus on main tasks (preferable)
- Problematics (in 2-3 slides) (at least 20 slides)
o Context: the background of the problem?
o Motivation: What is the aim of the problem solution?
o Objectives: What are the objectives?
o Analysis/Comparison: How do other products work?
- Outcomes:
o What are the outcomes?
o Your contribution/work?
o How does your team organize?
- Transition and Analysis are recommended
- Main content:
o Architecture: proposed solution with technologies
 Specify your contribution
 What is the flow? Input/output?
 How do you analyze and process?
o Difficulties/Challenges inside the system
 Data process?
 Functional and non-functional requirements
- Existing features, modules, functions
o How are your works integrated into the system?
o Do you design the system using the top-down approach?
- Design approach:
o System architecture: Layer architecture, C4 model, etc.
o Business decomposition
o Flowchart, pipeline, sequence, activity and use-case diagrams
o Database, class, object, and entity-relation diagram
- Algorithm/Approach/Solution
o Function design
o Experiments/Tests?
o Results: explanation, discussion, comparison, analysis?
- Future work:
o How can your work be improved?
o What are be the next tasks?

- Incomplete demo
- Propose solution, algorithms, designs
o Complete
o Optimized
o Consistent
- 3 months => Example: 10 use-cases, 3 completed (main)

You might also like