Bài 1: Tổng quan về phân tích thiết kế HTTT & Nguồn phần mềm - Giáo trình FPTMasterCode.vn
Tổng quan về phân tích thiết kế HTTT
Hệ thống?
PTTK HT?
Chuyên gia phân tích HT?
SDLC?
Nguồn phần mềm
Đánh giá phần mềm thương mại
Tiêu chí lựa chọn
Thu thập thông tin
Thuê ngoài
Sử dụng lại
Blending User Experience & Business Analysis thinking in the Agile Customer Role presentation by Jeff Patton for Agile Chennai 2007 Conference http://agileindia.org/agilechennai07/index.htm
Bài 1: Tổng quan về phân tích thiết kế HTTT & Nguồn phần mềm - Giáo trình FPTMasterCode.vn
Tổng quan về phân tích thiết kế HTTT
Hệ thống?
PTTK HT?
Chuyên gia phân tích HT?
SDLC?
Nguồn phần mềm
Đánh giá phần mềm thương mại
Tiêu chí lựa chọn
Thu thập thông tin
Thuê ngoài
Sử dụng lại
Blending User Experience & Business Analysis thinking in the Agile Customer Role presentation by Jeff Patton for Agile Chennai 2007 Conference http://agileindia.org/agilechennai07/index.htm
Devoxx 2012 University session "Modular Architecture Today" demonstrating how to apply some of the modularity patterns to build a system with a modular architecture.
Presented by Salman Asif Siddiqui (ICIMOD) at the CGIAR-CSI Annual Meeting 2009: Mapping Our Future. March 31 - April 4, 2009, ILRI Campus, Nairobi, Kenya
mimacom & Liferay Roadshow : Introduction to Liferay platformJán Gregor
A talk from Joseph Shum, the General manager of Liferay Germany, focused on Introduction to Liferay platform on mimacom & Liferay Roadshow in Vienna on 6th June 2012
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Devoxx 2012 University session "Modular Architecture Today" demonstrating how to apply some of the modularity patterns to build a system with a modular architecture.
Presented by Salman Asif Siddiqui (ICIMOD) at the CGIAR-CSI Annual Meeting 2009: Mapping Our Future. March 31 - April 4, 2009, ILRI Campus, Nairobi, Kenya
mimacom & Liferay Roadshow : Introduction to Liferay platformJán Gregor
A talk from Joseph Shum, the General manager of Liferay Germany, focused on Introduction to Liferay platform on mimacom & Liferay Roadshow in Vienna on 6th June 2012
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Essentials of Automations: Optimizing FME Workflows with Parameters
Phan Tich he Thong Bang UML2
1. VIỆN KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM
VIỆN CÔNG NGHỆ THÔNG TIN
PHÂN TÍCH THIẾT KẾ
HƯỚNG ĐỐI TƯỢNG
PGS.TS. Đặng Văn Đức
Email: dvduc@ioit.ncst.ac.vn
2. NỘI DUNG
1. Tiến trình phát triển phần mềm theo hướng đối tượng
Giới thiệu Ngôn ngữ mô hình hóa thống nhất UML
3. Mô hình hóa nghiệp vụ
4. Mô hình hóa trường hợp sử dụng
5. Mô hình hóa tương tác đối tượng
6. Biểu đồ lớp và gói
7. Biểu đồ chuyển trạng thái và biểu đồ hoạt động
8. Biểu đồ kiến trúc vật lý và phát sinh mã trình
9. Mô hình hóa dữ liệu
10. Bài học thực nghiệm
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 2/43
3. Bài 2
Giới thiệu
Ngôn ngữ mô hình hóa thống nhất
4. Mô hình là gì?
Mô hình
là bức tranh hay mô tả vấn đề đang cố gắng giải quyết hay mô tả
chính giải pháp vấn đề
là ngôn ngữ của người thiết kế (trong nhiều lĩnh vực)
là trình diễn hệ thống sẽ xây dựng
là phương tiện giao tiếp giữa các stakeholders
là kế hoạch chi tiết (blueprints)
Mô hình cho khả năng suy diễn một số đặc tính của hệ thống thực
Mô hình hóa trực quan
Bằng các phần tử đồ họa
Ngôn ngữ mô hình hóa là ngôn ngữ mô tả hệ thống hay tác nghiệp
An abstraction is an intellectual simplification
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 4/43
5. Thí dụ mô hình
Mô hình: Quả địa
cầu học sinh
Thế giới thực
Thế giới thực
Làm chủ Đọc Sách
Con người
Ôtô Mô hình
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 5/43
6. Thí dụ mô hình
A model is a complete
description of a system
from a particular
perspective
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 6/43
7. Mô hình hóa trực quan?
“Modeling captures essential
Order
parts of the system.”
Dr. James Rumbaugh
Item
Ship via
Business Process
Visual Modeling is modeling
using standard graphical
Computer System
notations
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 7/43
8. Bốn nguyên tắc mô hình hóa
Việc chọn mô hình nào để tạo lập có ảnh hưởng sâu sắc
đến cách giải quyết vấn đề và cách hình thành các giải
pháp
Mỗi mô hình biểu diễn hệ thống với mức độ chính xác
khác nhau
Mô hình tốt nhất phải là mô hình phù hợp với thế giới
thực
Không mô hình nào là đầy đủ. Mỗi hệ thống thường
được tiếp cận thông qua tập mô hình gần như độc lập
nhau.
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 8/43
9. Thiết kế kiến trúc
The “why”
The “what”
System
Architecture Satisfies Features
Qualities
S/W
Architecture
Requirements
Constrain
Architecture
Representation System
Quality Attributes
Technology
Produces Defines
The “how”
The “who”
Follows
Architect Process
Skills
Defines role
Organization
Stakeholders
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 9/43
10. Ngôn ngữ mô hình hóa thống nhất
UML 1.3
OMG Acceptance, Nov 1997
UML 1.1
Final submission to OMG, Sep ‘97
public First submission to OMG, Jan ´97
feedback
UML 1.0
UML partners
UML 0.9
June ´96
June 12, 2003
UML 2.0
Unified Method 0.8
OOPSLA ´95
Booch method OMT OOSE
Other methods
UML stands for Unified Modeling Language
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 10/43
11. UML Partners
Rational Software Corporation
Hewlett-Packard
I-Logix
IBM
ICON Computing
Intellicorp
MCI Systemhouse
Microsoft
ObjecTime
Oracle
Platinum Technology
Taskon
Texas Instruments/Sterling Software
Unisys
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 11/43
12. Contributions to the UML
Harel
Meyer Gamma, et al
Statecharts
Before and after Frameworks and patterns,
conditions
HP Fusion
Operation descriptions and
Booch message numbering
Booch method
Embley
Rumbaugh Singleton classes and
Object Modeling high-level view
Technique
Wirfs-Brock
Jacobson
Object-Oriented Responsibilities
Software Engineering
Odell
Shlaer - Mellor
Classification
Object lifecycles
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 12/43
13. Khái quát về UML
UML là ngôn ngữ để
visualizing
specifying
constructing
documenting
các vật phẩm (artifacts) của hệ thống phần mềm
Nó có thể sử dụng trong mọi tiến trình, xuyên suốt vòng
đời phát triển và trải qua các công nghệ cài đặt khác
nhau.
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 13/43
14. Khái quát về UML
Mô hình hóa các phần tử
Các quan hệ
Cơ chế mở rộng
Các biểu đồ
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 14/43
15. Mô hình hóa các phần tử
Các phần tử cấu trúc
class, interface, collaboration, use case, active class, component, node
Các phần tử hành vi
interaction, state machine
Nhóm các phần tủ
package, subsystem
Các phần tử khác
note
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 15/43
16. Các quan hệ
Dependency
Association
Generalization
Realization
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 16/43
17. Cơ chế mở rộng
Stereotype
Tagged value
Constraint
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 17/43
18. Models and Diagrams
Class
Diagrams
Use Case
Object
Diagrams
Sequence Diagrams
Diagrams
Scenario
Scenario
Diagrams Component
Collaboration
Diagrams
Diagrams
Diagrams
Models
Scenario
Scenario
Diagrams Deployment
Statechart
Diagrams Diagrams
Diagrams Activity
Diagrams
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 18/43
19. Diagrams
A diagram is a view into a model
Presented from the aspect of a particular stakeholder
Provides a partial representation of the system
Is semantically consistent with other views
In the UML, there are nine standard diagrams
Static views: use case, class, object, component, deployment
Dynamic views: sequence, collaboration, statechart, activity
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 19/43
20. Workflows and Models
UML diagrams provide
views into each model
Requirements Use Case
Model
Analysis
Analysis
Model
Design
Design Depl.
Model Model
Impl.
Implementation
Model
Test
Test Model
Each workflow is associated with
one or more models.
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 20/43
21. Representing System Architecture
Logical View Implementation View
End-user Programmers
Functionality Software management
Use Case View
Process View Deployment View
System integrators System engineering
Performance System topology
Scalability Delivery, installation
Throughput Communication
Conceptual Physical
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 21/43
22. Cần bao nhiêu khung nhìn?
Mô hình phù hợp với ngữ cảnh phát triển hệ thống
Không phải tất cả các mô hình đòi hỏi đầy đủ khung nhìn
Đơn xử lý: Bỏ qua khung nhìn triển khai
Đơn tiến trình: Bỏ qua khung nhìn tiến trình
Chương trình rất nhỏ: Bỏ qua khung nhìn cài đặt
Bổ sung các khung nhìn
Data view
Security view
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 22/43
23. UML Concepts
UML được sử dụng để:
Hiển thị biên hệ thống và các chức năng chính của nó bằng use
cases và actors
Mô tả hiện thực use case bằng interaction diagrams
Biểu diễn các cấu trúc tĩnh của hệ thống bằng class diagrams
Mô hình hóa hành vi đối tượng bằng state transition diagrams
Biểu thị kiến trúc cài đặt vật lý bằng component & deployment
diagrams
Mở rộng các chức năng bằng stereotypes
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 23/43
24. Thí dụ ứng dụng UML
Một trường đại học thực hiện tin học hóa hệ thống đăng
ký học và dạy học:
Giáo vụ (Registrar) lập chương trình giảng dạy (curriculum) cho
một học kỳ
Sinh viên (Student) chọn 4 môn học chính và 2 môn dự bị
Khi sinh viên đăng ký học thì hệ thống thanh toán (billing system)
in hóa đơn học phí cho sinh viên
Sinh viên có thể sử dụng hệ thống để bổ sung/loại bỏ môn học sau
khi đã đăng ký (trong khoảng thời gian cố định)
Giáo sư (Professors) sử dụng hệ thống để xem bảng phân công
dạy học (course rosters)
Người sử dụng hệ thống đăng ký được cấp passwords để vào máy
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 24/43
25. Use case Diagram
Request Course Roster
Student Professor
Maintain Schedule
Billing System
Maintain Curriculum
Registrar
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 25/43
26. Use case Diagram
Use case diagrams are created to visualize the
relationships between actors and use cases
Captures system functionality as seen by users
Built in early stages of development
Purpose
Specify the context of a system
Capture the requirements of a system
Validate a system’s architecture
Drive implementation and generate test cases
Developed by analysts and domain experts
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 26/43
27. Sequence Diagram
registration registration math 101 math 101
: Student
form manager section 1
1: fill in info
2: submit
3: add course(joe, math 01)
4: are you open?
5: are you open?
6: add (joe)
7: add (joe)
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 27/43
28. Sequence Diagram
A sequence diagram displays object interactions
arranged in a time sequence
Captures dynamic behavior (time-oriented)
Purpose
Model flow of control
Illustrate typical scenarios
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 28/43
29. Collaboration Diagram
course form :
1: set course info
CourseForm
2: process
3: add course
: Registrar
theManager :
aCourse :
CurriculumManager
Course
4: new course
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 29/43
30. Collaboration Diagram
A collaboration diagram displays object interactions
organized around objects and their links to one
another
Captures dynamic behavior (message-oriented)
Purpose
Model flow of control
Illustrate coordination of object structure and control
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 30/43
31. Class Diagram
ScheduleAlgorithm
RegistrationForm
0..*
1 RegistrationManager
addStudent(Course, StudentInfo)
Course
1
name
0..* numberCredits
Student open()
addStudent(StudentInfo)
major
1
3..10
1..*
Professor
4 CourseOffering
tenureStatus
location
1
0..4 open()
addStudent(StudentInfo)
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 31/43
32. Class Diagram
A class diagram shows the existence of classes and their
relationships in the logical view of a system
Captures the vocabulary of a system
Built and refined throughout development
Purpose
Name and model concepts in the system
Specify collaborations
Specify logical database schemas
Developed by analysts, designers, and implementers
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 32/43
33. Object Diagram
Shows instances and links
Built during analysis and design
Purpose
Illustrate data/object structures
Specify snapshots
Developed by analysts, designers, and implementers
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 33/43
34. State Transition Diagram
Add student [count < 10]
Add Student /
Set count = 0
Initialization
Open
do: Initialize course
entry: Register student
exit: Increment count
Cancel
Cancel [count = 10]
Canceled
do: Notify registered students
Closed
Cancel do: Finalize course
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 34/43
35. State Transition Diagram
State transition diagrams are created for objects
with significant dynamic behavior
Captures dynamic behavior (event-oriented)
Purpose
Model object lifecycle
Model reactive objects (user interfaces, devices, etc.)
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 35/43
36. Activity Diagram
Captures dynamic
behavior (activity-
oriented)
Purpose
Model business
workflows
Model operations
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 36/43
37. Component Diagram
Register.exe
Billing.exe
Billing
System
People.dll
User
Course.dll
Course
Professor
Student
Course Course
Offering
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 37/43
38. Component Diagram
Component diagrams illustrate the organizations and
dependencies among software components
Captures the physical structure of the implementation
Built as part of architectural specification
Purpose
Organize source code
Construct an executable release
Specify a physical database
Developed by architects and programmers
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 38/43
39. Deployment Diagram
Registration Database
Main
Library Building
Dorm
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 39/43
40. Deployment Diagram
Dynamic HTML, JavaScript, Java
Client
plug-ins, source code enhancements
Java, C, C++, JavaScript, CGI
Server
Java, C, C++, JavaBeans,
Application
Server CORBA, DCOM
Native languages
Fulfillment Financial Inventory RDBMS
System System System Server
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 40/43
41. Deployment Diagram
The deployment diagram shows the configuration of
run-time processing elements and the software
processes living on them
Captures the topology of a system’s hardware
Built as part of architectural specification
Purpose
Specify the distribution of components
Identify performance bottlenecks
Developed by architects, networking engineers, and
system engineers
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 41/43
42. Rational Rose
Rose is available in three editions:
Rose Modeler – no language support
Rose Professional – support for 1 language
Rose Enterprise – supports multiple languages including (VC++,
VB, Java, CORBA and XML)
Why should we use Rational Rose?
Common standard language--the Unified Modeling Language (UML)
--results in improved team communication
Reverse-engineering capabilities allow you to integrate with legacy
OO systems
Models and code remain synchronized through the development
cycle
...
Demo Rose
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 42/43
43. Tóm tắt
Các vấn đề đã nghiên cứu
Khái niệm mô hình, mô hình hóa trực quan
Khái quát về Ngôn ngữ mô hình hóa thống nhất
Thí dụ sử dụng các biểu đồ của UML
dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 2 - 43/43