1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO CÁO THỰC TẬP-TẠI Công ty cổ phần phần mềm FPT (FPT Sofware).

18 1.1K 10

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • I. Giới thiệu chung

    • I.1. Giới thiệu công ty

    • I.2. Giới thiệu công việc

  • II. Đề tài thực tập

    • II.1. Giới thiệu bài toán

      • Mô hình Use case:

      • Mô hình mối quan hệ giữa các thực thể:

    • II.2. Mô tả công việc

  • III. Tóm tắt lý thuyết, giải pháp và thuật toán liên quan

    • III.1. Các công nghệ đã nghiên cứu và áp dụng

    • III.2. Giải pháp và thuật toán giải quyết các vấn đề

    • III.3. Quá trình phát triển hệ thống

  • IV. Kết quả thu được

    • IV.1. Các kiến thức thu được

    • IV.2. Kết quả dự án

      • List Organisation

      • Organisation Detail

      • Lookup

    • IV.3. Các kỹ năng thu được

Nội dung

MỤC LỤC LỜI CẢM ƠN Lời đầu tiên, tôi xin chân thành cảm ơn Trường Đại học Công nghệ nói chung và Khoa Công Nghệ Thông Tin nói riêng đã tạo điều kiện cho tôi được tham gia thực tập chuyên ngành, đây là cơ hội cho tôi cọ sát thực tế, ứng dụng những kiến thức ở trường vào thực tiễn, hoc tập quy trình và kĩ năng làm việc. Dù không dài nhưng đây thực sự là một bài học thực tế đáng giá cho những sinh viên cuối khóa, giúp tôi tự tin hơn khi đối diện với các công ty, với các cơ hội việc làm sau này, cho phép tôi bày tỏ lời cảm ơn sâu sắc tới TS Nguyễn Thị Huyền Châu, cô đã tận tình hướng dẫn, chỉ bảo tôi trong quá trình thực hiện đề tài thực tập chuyên ngành này. Tôi xin cảm ơn chân thành tới Ban lãnh đạo công cổ phần phần mềm FPT, cùng anh Hoàng Việt Thắng, anh Đàm Anh Tuấn, chị Trịnh Thị Thanh Huyền và các anh chị quản lý, hướng dẫn trong công ty đã tạo mọi điều kiện giúp đỡ tôi trong quá trình thực tập chuyên ngành này. Mặc dù đã cố gắng thực hiện đề tài thực tập chuyên ngành trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, tôi rất mong nhận được sự đánh giá, góp ý, chỉ bảo tận tình của các thầy cô và anh chị để đề tài thực tập chuyên ngành này được hoàn thiện hơn. Tôi xin chân thành cảm ơn! Hà Nội, ngày 30 tháng 8 năm 2013 Sinh viên thực hiện Lê Văn Hưng I. Giới thiệu chung I.1. Giới thiệu công ty  Tên đơn vị thực tập: Công ty cổ phần phần mềm FPT (FPT Sofware).  Địa chỉ: Tầng 4, tòa nhà Toyota Mỹ Đình, số 15 Phạm Hùng, Quận Cầu Giấy, Hà Nội  Lịch sử phát triển: Được thành lập năm 1988 bởi một nhóm các nhà khoa học trẻ trong các lĩnh vực Vật lý, Toán, Cơ, Tin học, chỉ sau một năm, FPT đã thành lập một bộ phận tin học mang tên ISC (Informatic Service Center). Đến tháng 12 năm 1994, khi đã đủ lớn, ISC được tách thành các bộ phận chuyên sâu về dự án, phân phối, phần mềm… Bộ phận phần mềm lúc đó có tên là FSS (FPT Software Solutions - tên tiếng Việt là Xí nghiệp Giải pháp Phần mềm FPT). Từ 1994 đến 1998, FSS tiếp tục phát triển và cung cấp các giải pháp phần mềm cho các lĩnh vực Ngân hàng, Kế toán, Thuế, Hải quan, Công an. Cuối năm 1998 đầu 1999, sau khi chiến lược xuất khẩu phần mềm được định hình, một nhóm chuyên gia được tách ra từ FSS để thành lập FSU1 (FPT Strategic Unit #1) như bộ phận chịu trách nhiệm mũi nhọn trong sứ mệnh Toàn Cầu Hoá. FSU1 chính là tiền thân của FSOFT ngày nay. Năm 2001 được đánh dấu bằng các hợp đồng OSDC với Mỹ và đặc biệt là OSDC với NTT-IT - khách hàng Nhật bản đầu tiên của FSOFT. Năm 2001 cũng là năm FSOFT bắt đầu dự án CMM-4, với mục tiêu đạt chứng chỉ CMM mức 4 trong vòng một năm. FSOFT đạt CMM mức 4 vào tháng 3/2002, trở thành công ty đầu tiên ở khu vực Đông Nam Á đạt chứng chỉ này. Năm 2002 cũng là năm FSOFT củng cố lại sơ đồ tổ chức, bằng việc thành lập các Trung tâm sản xuất và các Phòng chức năng. Cuối 2002, lần đầu tiên doanh số FSOFT vượt ngưỡng 1 triệu USD. Năm 2003 đem về cho FSOFT nhiều khách hàng mới, đặc biệt là các khách hàng lớn của Nhật như Hitachi, Sanyo, Nissen, IBM Japan. FSOFT thành lập Văn phòng tại thành phố Hồ Chí Minh. Đầu năm 2004, FSOFT trở thành Công ty cổ phần phần mềm FPT. Trụ sở tại Tp. Hồ Chí Minh được chuyển về toà nhà e-town. FSOFT đạt CMM mức 5 (mức cao nhất) vào tháng 3. Để phục vụ tốt hơn các khách hàng Nhật, Văn phòng đại diện của FSOFT được mở tại Tokyo. Năm 2004 cũng là năm gặt hái nhiều thành công của Công ty Phần mềm FPT, với doanh số xuất khẩu năm 2004 tăng trưởng hơn 200% so với năm 2003. Năm 2005 là năm đánh dấu bước phát triển của công ty về mọi mặt, giúp FSOFT khẳng định vị trí công ty phần mềm hàng đầu Việt Nam. Tháng 8/2005 thành lập Chi nhánh Đà Nẵng, tháng 11 thành lập Công ty FSOFT JAPAN tại Tokyo, tháng 12 khai trương Trung tâm Tuyển dụng và Đào tạo tại toà nhà Simco, Hà nội. Hết năm 2005, FSOFT tăng trưởng 114% doanh số, trở thành công ty phần mềm đầu tiên của Việt Nam có 1000 nhân viên. Tháng 10, năm 2007, các Trung tâm sản xuất phần mềm được chuyển đến làm việc tập trung tại Tòa nhà FPT tại Phạm Hùng (Hà nội). Cuối năm 2007, doanh số của Fsoft đạt 29,6 triệu USD, tăng 79% so với doanh thu năm 2006; số nhân viên chính thức là 2,287 người. Năm 2008 diễn ra với việc thành lập 4 Công ty chi nhánh tại Pháp, Malaysia, Mỹ, Australia; doanh số đạt 42 triệu USD với 2600 nhân viên. FSOFT có hệ thống khách hàng rộng lớn trên toàn thế giới ở Mỹ, Châu Âu, Nhật Bản, và các nước Châu Á Thái Bình Dương (Malaysia, Singapore, Australia). Trong chiến lược gia nhập hàng ngũ những nhà cung cấp dịch vụ phần mềm hàng đầu thế giới, Công ty tập trung phát triển nguồn nhân lực chất lượng cao – giá trị cốt lõi đóng góp vào tăng trưởng của công ty. Với 80% nhân viên FSOFT thuần thục về tiếng Anh và hơn 200 người sử dụng tiếng Nhật, FPT Sofware không ngừng tìm kiếm và tạo cơ hội cho những tài năng trẻ. Mục tiêu trong năm 2009, Fsoft sẽ đạt doanh thu 47 triệu USD với số nhân viên 2600 người.  Các lĩnh vực hoạt động chính FPT Sofware hoạt động trong lĩnh vực gia công và xuất khẩu phần mềm. Hiện nay FPT Software đang gia công và xuất khẩu phần mềm sang nhiều nước trên thế giới như Mỹ, Châu Âu, Nhật Bản và các nước Châu Á Thái Bình Dương (Malaysia, Singapore, Australia). I.2. Giới thiệu công việc Bắt đầu thực tập từ ngày 1/7/2013, em đã bắt đầu làm quen với môi trường thực tập: - Thời gian làm việc: các buổi sáng từ thứ 2 tới thứ 6, giờ làm việc từ 8h30 đến 12h. - Trong những ngày đầu tiên, em được làm quen với các anh chị tham gia hướng dẫn chúng em trong quá trình thực tập. Được nghe các anh chị giới thiệu về các nhóm công nghệ mà chúng em có thể lựa chọn để tìm hiểu trong quá trình thực tập, tiếp theo em được giới thiệu về lịch sử phát triễn, về đặc điểm, về lĩnh vực hoạt động, các đối tác cũng như về văn hóa của tập đoàn FPT, cũng như FPT Sofware. - Trong 2 tuần tiếp theo, em được tham gia khóa học về Technical Java và SQL, khóa học này cung cấp cho em những kiến thức về Java Core, JSP, Struts2 framework, mô hình MVC… và các kiến thức cơ bản nâng cao về Microsoft SQL Server. - Sau các buổi học trên lớp, em được giao bài tập và công việc theo từng ngày. Trước khi bắt đầu buổi học, em cùng các bạn trong lớp được làm các bài Quizzes test để đánh giá kiến thức chúng em thu được từ việc học và làm bài trong ngày hôm trước. Kết thúc mỗi môn Technical Java và SQL, chúng em có một bài Final test để đánh giá toàn bộ về khả năng của từng người sau mỗi môn học. - Tiếp sau khóa học đó, em bắt đầu tham gia vào Mock Project, nhóm chúng em gồm 5 thành viên. Giai đoạn đầu sau khi kick off, chúng em vừa được hướng dẫn về quy trình phát triển phần mềm và áp dụng trực tiếp vào chính project Service Directory. Sau cùng, khi đã nắm vững về quy trình phát triển, nhóm chúng em trực tiếp triển khai phát triển các module của project dưới sự hướng dẫn của anh Đàm Anh Tuấn. II. Đề tài thực tập II.1. Giới thiệu bài toán Bài toán được lựa chọn làm Mock Project là ứng dụng framework Struts2, Hibernate, Spring trong việc phát triển ứng dụng Service Diretory quản lý các dịch vụ (services) mà một công ty (và các tổ chức liên quan) cung cấp. • Mô hình Use case: • Mô hình mối quan hệ giữa các thực thể: User UserID Account Email Role Password Organisation OrgID OrgName ContactID (FK) ReferenceData RefID RefCode RefValue Contact ContactID FirstName ManagerID Address AddressID PostCode TownID (FK) CountyID (FK) CountryID (FK) Service ServiceID ContactID (FK) Programme ProgrammeID ContactID (FK) Town TownID CountyID (FK) CountryID (FK) TownName County CountyID CountryID (FK) CountyName Country CountryID CountryName TrustRegion TrustRegionID Name Description CountryID (FK) GovOfficeRegion GovOfficeRegionID GovOfficeRegionName CountyID (FK) CountryID (FK) TrustDistrict TrustDistrictID Name Description TrustRegionID (FK) SupportingMaterial SupportingMaterialID OrgID (FK) UserID (FK) Directorate DirectorateID OrgID (FK) ContactID (FK) Department DepartmentID DirectorateID (FK) ContactID (FK) Team TeamID DepartmentID (FK) ContactID (FK) Premise PremiseID ServiceID (FK) II.2. Mô tả công việc Nhóm dự án em tham gia, gồm 5 thành viên. a. Vai trò: Thành viên b. Công việc: - Đọc, hiểu rõ ràng tài liệu Software Requirements Specification, đặt câu hỏi. - Phân tích yêu cầu, hoàn thiện Detail Design. - Thiết kế cơ sở dữ liệu. - Lập trình:  Tìm hiều 3 frame work Struts2 , Hibernate, Spring và cách tích hợp chúng, cách mapping chúng trong 1 project.  Proper type.  Validate form, điều hướng các hành động,… với Javascript.  Xử lý tab động.  Các module: Lookup (Contact, Address, Business) và Department.  Chỉnh sửa, hoàn thiện toàn bộ giao diện với CSS. - Ngoài ra, trong quá trình thực hiện project, em cùng các thành viên trong nhóm luôn phối hợp, giúp đỡ nhau trong công việc, giải quyết các vấn đề lớn như: Paging, Filter, Sorting Colunm, cấu hình và tích hợp các framework. III. Tóm tắt lý thuyết, giải pháp và thuật toán liên quan III.1. Các công nghệ đã nghiên cứu và áp dụng 1. J2EE là gì? J2EE(J2EE là một khung ứng dụng Web hoạt động hiệu quả mà các công ty trên thế giới như IBM, Oracle, Sun áp dụng rất hiệu quả trong các dự án của họ. Điểm đặc biệt hơn nữa là khung ứng dụng này sử dụng các công nghệ mới nhất luông mang tính cạnh tranh cao ví dụ như Struts, Hibernate, Spring, JSF, EJB … Tuy nhiên, J2EE không phải là một sản phẩm cụ thể mà chỉ là các đặc tả đưa ra bởi hãng Sun. Với kiến trúc J2EE, bạn phải lựa chọn, kết nối các thành phần khác nhau để hình thành nên mô hình phát triển ứng dụng. Bản thân Sun không đưa ra mô hình phát triển ở dạng đóng gói nhưng có khá nhiều sản phẩm từ các hàng thứ ba như : IBM, WebSphere, và BEA WebLogic, là các mô hình xây dựng hỗ trợ lập trình. J2EE chỉ hỗ trợ ngôn ngữ lập trình Java và trong tương lai có lẽ cũng không có ngôn ngữ lập trình nào được hỗ trợ thêm bởi kiến trúc này. Nhưng khung ứng dụng J2EE và ngôn ngữ Java có tính khả chuyển cao. Một chương trình viết bởi Java được thực thi trên máy ảo Java (Java Virtual Machine) thay vì trực tiếp trên hệ điều hành cụ thể. Do đó, mã chương trình có thể chuyển từ một hệ điều hành này sang một hệ điều hành khác (có hỗ trợ JVM) để thực thi một cách dễ dàng. Tính khả chuyển về hệ điều hành này của J2EE có được là do phần lớn các sản phẩm J2EE đều hỗ trợ cho nhiều hệ điều hành. Hơn thế nữa, J2EE cung cấp một thiết kế mẫu (design pattern) mà đã được đúc rút từ những kinh nghiệm thực tế của các chuyên gia phần mềm trên thế giới. Và bạn hoàn toàn được thừa hưởng các mẫu thiết kế này mà không cần phải bắt đầu xây dựng chi tiết từ đầu trong khi một loạt các công ty và nhóm phần mềm đã tiêu tốn thời gian và công sức để tìm ra những phương án tối ưu cho từng vấn đề họ đã gặp phải trong quá trình phát triển các dự án. Ví dụ với tầng Web của ứng dụng Kiến trúc J2EE tổng quát + EJB (Enterprice java bean) container : quản lý và thực thi các thành phần enterprice bean + Web Container : quản lý và thực thi các thành phần JSP và Servlet. + Application Client Container : quản lý và thực thi các thành phần phía client (ví dụ như applet) 2. JSP a. JSP Giới thiệu: JSP (viết tắt của tiếng Anh JavaServer Pages) còn được biết đến với một cái tên khác là Java Scripting Preprocessor - "Bộ tiền xử lý văn lệnh Java" - là một công nghệ Java cho phép cácnhà phát triển tạo nội dung HTML, XML hay một số định dạng khác của trang web một cách năng động, trong khi hồi âm yêu cầu của trình khách. Công nghệ này cho phép người ta nhúng mã Java và một số hành động xử lý đã được định trước (pre-defined actions) vào trong nội dung tĩnh của trang. b. Servlet Servlet là một mô-đun của mã Java chạy trong server ứng dụng để trả lời yêu cầu của clients. 3. Struts2 Giới thiệu: Struts 2 là một framework theo mô hình MVC. Struts 2 hỗ trợ Annotation dựa trên cấu hình để dễ dàng tạo và trực quan hơn. Lớp Action trong Struts 2 hoạt động như một mô hình trong ứng dụng web. Không giống như Struts, lớp Action trong Struts 2 là một đối tượng POJO chuẩn vì thế đơn giản hóa việc kiểm tra mãStruts 2 cũng kèm theo các hàm APIs để cấu hình bộ Interceptors nhằm làm giảm đáng kể các Coupling trong ứng dụng. Phần View trong Struts 2 được đánh giá cao và nó hỗ trợ nhiều kiểu kết quả khác nhau như Velocity, FreeMarker, JSP III.2. Giải pháp và thuật toán giải quyết các vấn đề 1. Struts 2.x : MVC Java web framework được sử dụng chính trong dự án, dùng để hiện thị, giao tiếp với người dùng. 2. Spring 3.x : Sử dụng cơ chế Dependency Injection hỗ trợ bởi Spring giúp việc quản lý các đối tượng – beans. 3. Hibernate 3.x : Sử dụng như Object-Relational Mapping (ORM) framework giúp việc mapping tự động các bản ghi lưu trữ trong Relational Database thành Java Objects (POJOs – Plain Old Java Object) và các POJOs thành các bản ghi trong database. 4. MySQL 5.6.x : Sử dụng để lưu trữ dữ liệu của hệ thống. 5. HTML/CSS và JavaScript, Struts tablib : Sử dụng để xây dựng giao diện và xử lý các sự kiện phía client. 6. Git và github để quản lý mã nguồn và quản lý version. 7. Maven : dùng để build project. III.3. Quá trình phát triển hệ thống • Phân tích yêu cầu Hệ thống được xây dựng theo phỏng theo một hệ thống có thật, requirement specification được cung cấp sẵn, vì thế công việc chính của giai đoạn này là nghiên cứu, tìm hiểu yêu cầu để hiểu rõ của hệ thống. • Kiến trúc hệ thống Hệ thống được xây dụng theo kiến trúc 3 tầng, tầng trên sử dụng dịch vụ do tầng dưới cung cấp, tầng trên chỉ sử dụng dịch vụ do tầng liền kề bên dưới cung cấp. • Presentation Layer : Là tầng hiển thị, giao diện các giao tiếp với người dung. • Business Layer : Xử lý các business rules của hệ thống. • Data Access Layer : Xử lý các thao tác với cơ sở dữ liệu Hệ thống xây dựng theo kiến trúc 3 tầng, các tầng có nhiệm vụ riêng, có tính độc lập cao, dễ dàng cho việc phát triển và nâng cấp. Sơ đồ phân chia các tầng [...]... thành viên của nhóm cùng xử lý các vấn đề • Kỹ năng lãnh đạo, quản lý: Cùng team leader biết cách phân chia, điều phối công việc, đảm bảo tiến độ của dự án • Kỹ năng giao tiếp : giao tiếp với thành viên của nhóm để cùng giải quyết các vấn đề • Kỹ năng thuyết trình : thuyết trình, báo cáo tiến độ của dự án • Kỹ năng giải quyết các vấn đề mới • Kỹ năng làm việc dưới áp lực Ý kiến đánh giá: ……………………………………….…………………………... Organiation Các modules khác được xây dựng gồm các chức năng tương tự IV Kết quả thu được IV.1 Các kiến thức thu được • Có kiến thức cơ bản về nền tảng Java Enterprise • Hiểu biết về quy trình phát triển phần mềm • Có kiến thức cơ bản về Java web framework : Struts 2.x • Có kiến thức cơ bản về Spring framework • Có kiến thức cơ bản về Hibernate framework • Có kiến thức về quản lý mã nguồn, quản lý version... interfaces của package dao • Xây dựng hệ thống Module quản lý Organisation • Liệt kê danh sách các Organisation o Sử dụng phương pháp phân trang để hiện thị một phần danh sách các Organisation trong database mà không hiển thị hết, chỉ hiển thị những phần cần dùng tới o Hiển thị Organisation theo các tiêu chí định sẵn o Sắp xếp thứ tự các Organisation theo từng thuộc tính • Thêm mới một Organisation o Sử... ……………………………………….………………………… ……………………………………….………………………… ……………………………………….………………………… ……………………………………….………………………… ……………………………………….………………………… Hà Nội, ngày tháng năm 20 Người hướng dẫn (Ký, ghi rõ họ tên & dấu công ty) Ý kiến đánh giá: ……………………………………….………………………… ……………………………………….………………………… ……………………………………….………………………… ……………………………………….………………………… ……………………………………….………………………… ……………………………………….………………………… ……………………………………….…………………………... Organisation o Sử dụng Search Helper để tìm kiếm dữ liệu trong database để giúp việc nhập dữ liệu vào text-box với những trường bị giới hạn dữ liệu có sẵn trong database o Sử dụng các Ajax tabs để hiển thị các phần của form tạo mới Organisation • Xóa một Organisation – thay đổi trạng thái của một Organisation • Sửa đổi thông tin một Organisation • Viết Unit test cho các Java class o Sử dụng JUnit 4.x để viết . hiện Lê Văn Hưng I. Giới thiệu chung I.1. Giới thiệu công ty  Tên đơn vị thực tập: Công ty cổ phần phần mềm FPT (FPT Sofware).  Địa chỉ: Tầng 4, tòa nhà Toyota Mỹ Đình, số 15 Phạm Hùng, Quận. phận phần mềm lúc đó có tên là FSS (FPT Software Solutions - tên tiếng Việt là Xí nghiệp Giải pháp Phần mềm FPT) . Từ 1994 đến 1998, FSS tiếp tục phát triển và cung cấp các giải pháp phần mềm. thành tới Ban lãnh đạo công cổ phần phần mềm FPT, cùng anh Hoàng Việt Thắng, anh Đàm Anh Tuấn, chị Trịnh Thị Thanh Huyền và các anh chị quản lý, hướng dẫn trong công ty đã tạo mọi điều kiện

Ngày đăng: 23/05/2015, 17:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w