1 / 314

Bài giảng PHÂN TÍCH THIẾT KẾ HỆ THỐNG (System Analysis and Design )

Bài giảng PHÂN TÍCH THIẾT KẾ HỆ THỐNG (System Analysis and Design ). Giảng viên : Từ Thị Xuân Hiền Email: ttxuanhien@gmail.com https://xuanhien.wordpress.com/phan-tich-thiet-ke-he-thong/. Chương 0. GIỚI THIỆU MÔN HỌC. Chuẩn đầu ra của môn học.

tmiller
Download Presentation

Bài giảng PHÂN TÍCH THIẾT KẾ HỆ THỐNG (System Analysis and Design )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BàigiảngPHÂN TÍCH THIẾT KẾ HỆ THỐNG(System Analysis and Design) Giảngviên: TừThịXuânHiền Email: ttxuanhien@gmail.com https://xuanhien.wordpress.com/phan-tich-thiet-ke-he-thong/ GV: Từ Thị Xuân Hiền

  2. Chương 0 GIỚI THIỆU MÔN HỌC GV: Từ Thị Xuân Hiền

  3. Chuẩnđầu ra củamônhọc • Vận dụng được các kỹ thuật thu thập yêu cầu để thu nhận các yêu cầu của một hệ thống • Phân tích được yêu cầu chức năng và quy trình nghiệp vụ của hệ thống • Mô hình hóa được yêu cầu của hệ thống • Thiết kế được các thành phần của hệ thống, biểu diễn các thiết kế bằng UML • Tham gia tích cực các buổi làm việc nhóm;Làm việc dễ dàng với các thành viên trong nhóm; Hoàn thành trách nhiệm, vai trò của mỗi thành viên đúng thời gian quy định • Viết được tài liệu phân tích và thiết kế hệ thống • Đánhgiáđượctínhhợplýcủa 1 thiếtkế GV: Từ Thị Xuân Hiền

  4. Phương pháp đánh giá GV: Từ Thị Xuân Hiền

  5. Tiêuchíđánhgiá(Rubrics) GV: Từ Thị Xuân Hiền

  6. Tiêu chí đánh giá (Rubrics) GV: Từ Thị Xuân Hiền

  7. Tiêu chí đánh giá (Rubrics) GV: Từ Thị Xuân Hiền

  8. Tiêu chí đánh giá (Rubrics) GV: Từ Thị Xuân Hiền

  9. Nội dung mônhọc Chương 1. Tổngquanvềphântíchvàthiếtkếhệthống Chương 2. Cáckháiniệmhướngđốitượngvàuml Chương 3. Phântíchhệthống hướngđối tượng Chương 4. Phântíchkiếntrúc Chương 5. Thiếtkếhệthống hướngđối tượng Chương 6. Thiết kế cơ sở dữ liệu GV: Từ Thị Xuân Hiền

  10. Tàiliệuthamkhảo [1] Roques, Pascal. UML in practice: the art of modeling software systems demonstrated through worked examples and solutions. John Wiley & Sons, 2006. [2] Dennis, Alan, et al. "System Analysis and Design with UML Version 2.0, Hobokens." (2005): 1-2. [3] Shelly, Gary B., and Harry J. Rosenblatt. "System Analysis And Design Eight Edition." Course Technology Cengage learning, Shelly Cashman Series (2010). [4] Rosenberg, Doug, and Matt Stephens. "Use case driven object modeling with UML." APress, Berkeley, USA (2007). [5] Larman, Craig. Applying UML and patterns: an introduction to object oriented analysis and design and interative development. Pearson Education India, 2012. GV: Từ Thị Xuân Hiền

  11. Đăng ký đề tài nhóm (thường kỳ 3) • Mỗi nhóm tốiđalà5 thành viên • Các nhóm tự chọn đề tài, mỗiđềtàitốiđa 5 nhóm. • Thời gian đăng ký là trước ngày 14/01/2019 GV: Từ Thị Xuân Hiền

  12. Danhsáchđềtài 1. Xâydựngmột website bánhàngtrựctuyến. 2. Xâydựngmộtứngdụngquảnlýxuấtnhậpvàtồnkhocủamộtcông ty 3. Xâydựng website thưviệntrựctuyếncủamột trườngđạihọc 4. Xâydựngmột website đặt tour du lịchtrựctuyến 5. Xâydựng website đặtmóntrựctuyếncủamộtnhàhàng. GV: Từ Thị Xuân Hiền

  13. TỔNG QUAN VỀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG(Introduction to System Analysis and Design) Chương 1 GV: Từ Thị Xuân Hiền

  14. Nội dung • Cáckháiniệmtổngquanvềphântíchthiếtkếhệthống • Cácvầnđềliênquanđếnphântíchthiếtkếhệthống • Cácphươngphápphântíchthiếtkếhệthống • Cáchoạtđộngphântíchthiếtkếhệthống GV: Từ Thị Xuân Hiền

  15. Kháiniệmhệthốngthông tin • Hệthống (system) làmộttậpcácthànhphầntươngtácvớinhau, kếthợpvớinhauđểthựchiệncácmụctiêutạothànhhệthống. • Hệthốngthông tin (Information system): hệthốngnhiềuthànhphầnliênquanđếnviệcthuthập, xửlý, lưutrữdữliệu, truyềnđạtthông tin • Một hệthốngthông tin thường bao gồm: phầncứng, phầnmềm, và các mạng truyền thông. • Đểpháttriểnmộthệthốngthông tin, cầnsựkếthợpcủa ngườiquảnlý, ngườidùng, quảntrịmạng, nhàthiếtkế web, lậptrìnhviênvàcácnhàphântíchvàthiếtkếhệthống. GV: Từ Thị Xuân Hiền

  16. Kháiniệmhệthốngthông tin • Cáchệthốngthông tin hiện nay • Giáo dục điện tử (elearning) • Thương mại điện tử (e-commerce) • Chính phủ điện tử (e-government) • Các hệ thống thông tin địa lý (GIS)... • Và nhiều lĩnh vực khác... GV: Từ Thị Xuân Hiền

  17. Phânloạihệthống • Hệ xử lý dữ liệu (DPS-Data Processing System) • Xử lý các giao dịch và ghi lại những dữ liệu cho từng chức năng đặc thù. • Dữ liệu đưa vào được thường xuyên cập nhật. Dữ liệu đầu ra định kỳ bao gồm các tài liệu hoạt động và báo cáo. • Hệthông tin quảnlý (MIS-Management Information System) • Được sử dụng trong các tổ chức kinh tế xãhội, hệthốnggồm nhiều thành phần, mỗi thành phần là một hệ thống con hoàn chỉnh. GV: Từ Thị Xuân Hiền

  18. Phânloạihệthống • Hệhỗtrợquyếtđịnh (DSS- Decision Support System) • Giúpchotổchứcnhữngthông tin cầnthiếtđể ra quyếtđịnhhợplývàđủđộ tin cậy • Hệ chuyên gia (ES-Expert System) • Giúp các nhà quản lý giải quyết và thực hiện vấn đề ở mức cao hơn DSS. • Hệ thốngnày liên quan đến lĩnh vực trí tuệ nhân tạo, làm cho máy tính có khả năng lập luận, học tập, tự hoàn thiện như con người. GV: Từ Thị Xuân Hiền

  19. Kháiniệmphântíchthiếtkếhệthống • Phântíchthiếtkếhệthốnglàmộtquátrìnhtừngbướcđểpháttriểncáchệthốngthông tin chấtlượngcao. • Một hệthốngthông tin kếthợpcôngnghệ, con ngườivàdữliệuđểcungcấphỗtrợchocácchứcnăngkinhdoanhnhưxửlýđơnđặthàng, kiểmsoáthàngtồnkho, nhânsự, kếtoánvànhiềuhơnnữa. GV: Từ Thị Xuân Hiền

  20. Mụctiêucủaphântíchthiếtkếhệthống • Cảitiếntổchứchệthốngcũhoặcpháttriểnmộthệtthốngmớigiúpngườidùngthựchiệncáctácvụdễdàngvàhiệuquả, cungcấpmộtcáinhìntổngquanchocácnhàpháttriểnhệthốngvềtấtcảcáckháiniệmcầnthiếtđểxâydựngmộthệthống GV: Từ Thị Xuân Hiền

  21. Vaitròcủaphântíchthiếtkếhệthống • Phântíchthiếtkếđóngvaitròrấtquantrọngtrongquytrìnhxâydựngphầnmềm: • Giúpnhàpháttriểnvàcácbênliênquancócáinhìnđầyđủ, đúngđắn, chínhxácvềhệthốngthông tin sẽxâydựngtrongtươnglai. • Giúpcácnhàpháttriểnhệthốngthuậnlợitrongviệcsửachữa, bổ sung vànângcấphệthốngkhicóyêucầu, tránhđượcnhữngsailầmtrongthiếtkế, càiđặt. GV: Từ Thị Xuân Hiền

  22. Vaitròcủanhàphântíchthiếtkế • Vaitrò • CácnhàphântíchhệthốngđóngvaitròquantrọngtrongbộphậnCôngnghệthông tin, giúplậpkếhoạch, pháttriểnvàduytrìhệthốngthông tin. Họlàngườichuyểnđổicácyêucầunghiệpvụthànhcácchứcnăngcủahệthống. • Cáckỹnăngcầncócủanhàphântíchthiếtkếhệthống • Giaotiếp, tưduyphântích, • Cónănglựcvềmặtkỹthuật, cóthểlậpkếhoạchvềtàinguyên, lịchbiểuvà chi phíphụcvụchoviệcpháttriểnhệthống GV: Từ Thị Xuân Hiền

  23. Vaitròcủanhàphântíchthiếtkế GV: Từ Thị Xuân Hiền

  24. Quytrìnhpháttriểnhệthốngthông tin • Quytrìnhpháttriểnmộthệthốngthông tin làmộttậphợpcáchoạtđộngcótổchứcnhằmmụcđíchđểsảnxuấtmộthệthốnghoặcphầnmềmchấtlượngcao, đápứngmongđợicủakháchhàng. Quytrìnhpháttriểnhệthốngthông tin gồm 6 giaiđoạn: • Khảosátvàthuthậpyêucủakháchhàng • Phântíchhệthống • Thiếtkếhệthống • Hiệnthực • Kiểmthử • Triểnkhai GV: Từ Thị Xuân Hiền

  25. Quytrìnhpháttriểnhệthốngthông tin • Khảosátvàthuthậpyêucầucủakháchhàng • Sửdụngcáckỹthuậtlấyyêucầukháchhàng: • Phỏngvấntrựctiếp • Bảngcâuhỏi • Tổchứcbuổihộithảo GV: Từ Thị Xuân Hiền

  26. Quytrìnhpháttriểnhệthốngthông tin • Phântíchyêucầu: cáccâuhỏicầnlàmrõtronggiaiđoạnphântích • Ai sẽsửdụnghệthống? • Họsẽsửdụnghệthốngnhưthếnào? • Hệthốngsẽlàmgì? • Dữliệunàonênđượcnhậpvàohệthống? • Hệthốngxuất ra nhữngthông tin gì GV: Từ Thị Xuân Hiền

  27. Quytrìnhpháttriểnhệthốngthông tin • Thiếtkế (Design): Thiếtkếhệthốngxácđịnhcáchhiệnthựccácchứcnăngđượcxácđịnhtronggiaiđoạnphântích, bao gồmcácyêucầuphầncứngvàkiếntrúchệthốngtổngthể. CâuhỏicầnlàmrỏtronggiaiđoạnnàylàHệthốnglàmnhưthếnào? (How) GV: Từ Thị Xuân Hiền

  28. Quytrìnhpháttriểnhệthốngthông tin • Giaiđoạnthiếtkếgồm 4 bước: • Pháttriểnkếhoạchthiếtkế. • Thiếtkếkiếntrúccủahệthống • Xâydựngcơsởdữliệu • Độiphântíchthựchiệnthiếtkếchươngtrình GV: Từ Thị Xuân Hiền

  29. Quytrìnhpháttriểnhệthốngthông tin • Hiệnthựchệthống: Khinhậnđượctàiliệuthiếtkếhệthống, côngviệcđược chia thànhcác module vàbắtđầugiaiđoạnhiệnthực. • Chọnlựangônngữ • Chia hệthốngthànhcác module GV: Từ Thị Xuân Hiền

  30. Quytrìnhpháttriểnhệthốngthông tin • Kiểmthử (Testing) • Mãnguồnđượckiểmthửdựatrêncácchứcnăngđãđượcthuthậptronggiaiđoạnphântíchvàdựatrêntínhkhảdụngngườidùng. • Tronggiaiđoạnnàytấtcảcácloạikiểmthửchứcnăngnhưkiểmthửđơnvị, kiểmthửtíchhợp, vàkiểmthử phi chứcnăngcũngđượcthựchiện GV: Từ Thị Xuân Hiền

  31. Quytrìnhpháttriểnhệthốngthông tin • Triểnkhaihệthống: Sau khithửnghiệmthànhcông, sảnphẩmđượcphânphối / triểnkhaichokháchhàngđểsửdụng. Bao gồmcáchoạtđộng: • Càiđặt • Hướngdẫnsửdụng • Bảotrì GV: Từ Thị Xuân Hiền

  32. Cácmôhìnhpháttriểnphầnmềm • Mô hìnhthácnước (Waterfall Model) • Mô hình RUP • Mô hìnhxoánốc (Spiral Model) • Mô hình Agile • Mô hìnhtăngtrưởng (Incremental Model) • Mô hìnhchữ V (V model) • Mô hình Scrum GV: Từ Thị Xuân Hiền

  33. Mô hìnhthác nước • Mô hình này thực hiện tuần tự các giai đoạn của quy trình phát triển phần mềm. • Đầu ra của giai đoạn trước là đầu vào của giai đoạn sau. • Giai đoạn sau chỉ được thực hiện khi giai đoạn trước đã kết thúc. • Đặc biệt không được quay lại giai đoạn trước để xử lý các yêu cầu khi muốn thay đổi GV: Từ Thị Xuân Hiền

  34. Mô hình RUP - Rational Unified Process • Một cáchtiếpcậncókỹluậtđểgánvàquảnlýcácnhiệmvụpháttriểnphầnmềm, vậndụngthựctiểntốtnhấttrongpháttriểnphầnmềmhiệnđại. Theo môhình RUP, quytrìnhgồm 4 giaiđoạn. • Giaiđoạnkhởiđộng (Inception): ý tưởngvàmụctiêucủadựánđượccôngbố. • Lậpquyhoạch chi tiết (Elaboration): Kiếntrúcvànguồntàinguyênđượcxácđịnh • Thựcthi (Construction): pháttriểnvàhoànthànhhệthống • Chuyểngiao (Transition): hệthốngđượcpháthànhchongườidùngcuốivàcậpnhậtdựatrêncácphảnhồi. GV: Từ Thị Xuân Hiền

  35. Mô hình RUP - Rational Unified Process • Đặcđiểmcủatiếntrình RUP • Làmộttiếntrìnhlặpđilặplại, phùhợpvớinhữnghệthốngcóyêucầuthayđổi. • Sửdụngmôhình UML • Pháttriểntheokiếntrúctrungtâm (architecture-centric) giảmthiểulàmlại, tăngkhảnăngtáisửdụng. • Nhấnmạnhviệcxâydựnghệthốngdựatrênsựhiểubiếtthấuđáochứcnăngcủahệthống GV: Từ Thị Xuân Hiền

  36. Mô hình RUP - Rational Unified Process GV: Từ Thị Xuân Hiền

  37. Cácgiaiđoạntrongmôhình RUP • Khởiđộng (Inception) • Tìmhiểunghiệpvụ • Xácđịnhphạm vi củadựán. • Đánhgiárủiro, ướctínhnguồnnhânlực. • Phácthảo (Elaboration) • Phântíchnghiệpvụ. • Xâydựngkiếntrúcphùhợp. • Pháttriểnkếhoạchdựán, loạibỏcácyếutốcónguycơrủirocao. • Kiểmtramụctiêu chi tiếtvàphạm vi củahệthống, đưa ra quyếtđịnhcótiếptụcgiaiđoạntiếptheo hay không. GV: Từ Thị Xuân Hiền

  38. Cácgiaiđoạntrongmôhình RUP • Xâydựng (Construction) • Lặpđilặplạitừngbướcpháttriểnsảnphẩmhoànchỉnh, sẵnsàngchuyểngiaochongườidùng • Hoànthànhviệckiểmthửphầnmềm. • Chuyểngiao (Transition) • Triểnkhaihệthốngđếnngườidùng • Ghinhậnnhữngvấnđềphátsinhvàcáchạnchếđểhoànthiệnbảncuốicùng GV: Từ Thị Xuân Hiền

  39. Mô hìnhxoánốc (Spiral Model) • Đâylàsựkếthợpgiữacáctínhnăngcủamôhình prototyping vàmôhìnhthácnước. • Mô hìnhxoắnốcphùhợpchocácdựánlớn, đắttiềnvàphứctạp. • Tươngtựnhưmôhìnhthácnước, vềthứtự, lậpkếhoạch, đánhgiárủi ro. GV: Từ Thị Xuân Hiền

  40. Mô hình Agile • Agile làmộtphươngpháppháttriểnphầnmềmlinhhoạtvớimụctiênlàđưasảnphẩmđếntayngườidùngnhanhnhất. • Mô hình Agile làmộttậphợpcácphươngpháppháttriểnlặpvàtăngdầntrongđócácyêucầuvàgiảiphápđượcpháttriểnthông qua sựliênkếtcộngtácgiữacácnhómtựquảnvàliênchứcnăng. GV: Từ Thị Xuân Hiền

  41. Mô hìnhtăngtrưởng (Incremental Model) • Chu kỳ được chia thành các module nhỏ, dễ quản lý. • Mỗi module sẽ đi qua các yêu cầu về thiết kế, thực hiện, … như 1 vòng đời phát triển thông thường. GV: Từ Thị Xuân Hiền

  42. Mô hìnhchữ V (V model) • Mô hìnhchữ V làmộtphầnmởrộngcủamôhìnhthácnước, ápdụngviệckếthợpviệcthửnghiệmvàotừnggiaiđoạncủaquytrìnhpháttriểntươngứng, côngviệc test đượcthamgiangaytừđầu. • Đâylàmộtmôhìnhcótínhkỷluậtcao, giaiđoạntiếptheochỉbắtđầusaukhigiaiđoạntrướcđượchoànthành. GV: Từ Thị Xuân Hiền

  43. Mô hình Scrum • Các yêu cầu ra làm theo từng giai đoạn. Mỗi một giai đoạn gọi là sprint và chỉ làm một số lượng yêu cầu nhất định. • Mỗi sprint thường kéo dài từ 1 tuần đến 4 tuần. Đầu sprint sẽ lên kế hoạch bao gồm các yêu cầu phải thực hiện, tiếp theo là code và test. Cuối sprint là một sản phẩm hoàn thiện cả code lẫn test có thể demo và chạy được. • Hoàn thành sprint 1, tiếp tục thực hiện sprint 2, sprint... cho đến khi hoàn thành hết các yêu cầu. • Trong mỗi sprint có buổi họp hàng ngày (daily meeting từ 15 – 20 phút). Mỗi thành viên sẽ báo cáo: công việc đã làm và những khó khan. • Scrum là mô hình hướng khách hàng (Customer oriented). GV: Từ Thị Xuân Hiền

  44. Mô hình Scrum • Các yêu cầu ra làm theo từng giai đoạn. Mỗi một giai đoạn gọi là sprint và chỉ làm một số lượng yêu cầu nhất định. • Mỗi sprint thường kéo dài từ 1 tuần đến 4 tuần. Đầu sprint sẽ lên kế hoạch bao gồm các yêu cầu phải thực hiện, tiếp theo là code và test. Cuối sprint là một sản phẩm hoàn thiện cả code lẫn test có thể demo và chạy được. • Hoàn thành sprint 1, tiếp tục thực hiện sprint 2, sprint... cho đến khi hoàn thành hết các yêu cầu. GV: Từ Thị Xuân Hiền

  45. Mô hình Scrum • Trong mỗi sprint có buổi họp hàng ngày (daily meeting từ 15 – 20 phút). Mỗi thành viên sẽ báo cáo: công việc đã làm và những khó khan. • Scrum là mô hình hướng khách hàng (Customer oriented). GV: Từ Thị Xuân Hiền

  46. Kiếntrúcphầnmềm (software architecture) • Thuật ngữ “Kiến trúc phần mềm” được dùng đểchỉ: • Cấu trúc luận lý của chương trình gồm những kiểu phần tử, cách các phần tử tương tác với nhau, các chức năng của hệ thống ánh xạ vào các phần tử. • Cácthànhphần tồn tại trong hệ thống phần mềm. • Cácthông tin chi tiết cần cho việc thiết kế phần mềm • Kiến trúc phần mềm chưa hoàn thiện như kiến trúc phần cứng máy tínhvìcôngnghệ phần mềm còn mới mẽ và rất đặc thù • Một ứng dụng cầnphảiphù hợp với một kiến trúc phần mềm GV: Từ Thị Xuân Hiền

  47. Kiếntrúcphầnmềm (software architecture) • Khi chọn Kiến trúc phần mềm • Phải thỏa mãn các yêu cầu chức năng của phần mềm • Tùy vào độ phức tạp của phần mềm • Chi phí phát triển phần mềm • Đảm bảo tính khả thi, dễ bảo trì, khả chuyển, khả thích nghi, tốc độ, an ninh,... • Các kiến trúc PM thông dụng • Kiếntrúc 3 ties • Kiếntrúc client-server • Kiếntrúc MVC GV: Từ Thị Xuân Hiền

  48. Kiếntrúc Client-Server • Làmộtmôhìnhmáytính, trongđómáychủ (server), cungcấpvàquảnlýhầuhếtcácnguồnlựcvàdịchvụchomáykhách (client), cómộthoặcnhiềumáykháchkếtnốivớimáychủtrungtâmthông qua mạnghoặc Internet. • Cũngcóthểđượcgọilàmạngmôhìnhmáytínhvìtấtcảcácyêucầuvàdịchvụlàđượcphânphối qua mạng. GV: Từ Thị Xuân Hiền

  49. Kiếntrúc Client-Server • Client • Các ứng dụng di động (mobile apps) • Các ứng dụng trên máy tính bảng (tablet apps) • Trình duyệt (Windows hoặc Mac OS) • Server • Hệ điều hành của server (OS server) • Server của trang web (Web server) • Server dữ liệu (Database server) • Code cho các ứng dụng của server GV: Từ Thị Xuân Hiền

  50. Kiếntrúc 3 tầng (3-tiers architecture) • 3-tierslàmộtkiếntrúckiểu client/server màtrongđógiaodiệnngườidùng (UI-user interface), cácquytắcnghiệpvụ (BR-business rule), vàviệclưutrữdữliệuđượcpháttriểnnhưnhững module độclập, vàhầuhếtlàđượcduytrìtrêncácnềntảngđộclập. GV: Từ Thị Xuân Hiền

More Related