Trang_danh_cho_Sinhvien - Nguyễn Thế Dũng Chapter4 tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn...
Trang 2Chương 4: Mô hình phân tích
Trang 34.1 nguyên lý phân tích
• Phân tích yêu cầu
Xác định khách hàng và làm việc với nhau để
đưa ra yêu cầu mức sản
Xây dựng mô hình phân
• Tập trung vào dữ liệu
• Xác định chức năng
• Biểu diễn hành vi
Tạo mẫu những pham vi không chắn chắn
Phát triển đặc tả cho phát triển thiết kế
Trang 4Nguyên lý phân tích I
• Mô hình miền dữ liệu
Xác định đối tượng dữ liệu
Mô tả thuộc tính dữ liệu
Thiết lập quan hệ dữ liệu
Trang 5Nguyên lý phân tích II
• Mô hình chức năng
Xác định những chức năng biến đổi dữ liệu
Chỉ ra luồng dữ liệu truyền qua hệ thống
Biểu diễn những đối tượng tạo và tiêu thụ
dữ liệu (producer và consumer)
Trang 6Nguyên lý phân tích III
• Mô hình hành vi
Xác định những trạng thái của hệ thống
Những sự kiện gây ra biến đổi trạng thái
Trang 7Nguyên lý phân tích IV
• Phân tách mô hình: tinh chế mô hình nhằm biểu diễn những mức trừu tượng thấp hơn
Tinh chế những đối tượng dữ liệu
Tạo hệ thống cấp bậc chức năng
Biểu diễn hành vi ở các mức chi tiết khác nhau
Trang 8Nguyên lý phân tích V
• Sự thiết yếu (Essence)
Tập trung vào những vấn đề thiết yếu không quantâm tới chi tiết thực thi
Trang 9Nguyên lý của Davis
• Hiểu vấn đề trước khi tạo mô hình phân tích
• Tạo prototype cho phép người dùng hiểu tương tác người-máy
• Ghi nhận nguồn gốc và lý do cho mỗi yêu cầu
• Dùng nhiều khung nhìn (view)
• Phân loại độ ưu tiên của yêu cầu
• Làm việc để loại bỏ những sự mơ hồ
Trang 10Hướng phân tích
• Phân tích cấu trúc:
Dữ liệu: Xác định thuộc tính và quan hệ của chúng
Những quá trình mà biến đổi dữ liệu: mô hình
luồng dữ liệu
• Phân tích hướng đối tượng
Tập trung: lớp và tương tác của chúng với nhau
Mô hình: UML
Trang 11Những thành phần trong mô hình phân tích
Use-case diagrams Use cases - text Activity Diagrams Swim lane diagrams
Scenario-based elements
Class diagrams
Class-based elements
Data-flow diagrams Control flow diagrams Processing narratives
Flow-oriented elements
State diagrams
Behavioral elements Analysis
Model
Trang 124.2 Tạo mô hình dữ liệu
• Kiểm tra những dữ liệu độc lập trong xử lý
• Quan tâm tới miền của dữ liệu
• Tạo mô hình ở mức trừu tượng của khách hàng
• Xác định các đối tượng dữ liệu quan hệ với
nhau như thế nào
Trang 13Đối tượng dữ liệu là gì?
• Đối tượng dữ liệu là những gì được mô tả bằng các thuộc tính (những mục dữ liệu) mà sẽ được xử lý trong phần mềm:
Mỗi thể hiện của một đối tượng (sách) được xác
định bởi một số định danh duy nhất (ISBN)
Mỗi đối tượng đóng một vai trò cần thiết trong hệ thống, ví dụ hệ thống không thể hoạt động nếu
không truy cập tới thể hiện của đối tượng
Mỗi đối tượng được mô tả bằng những thuộc tính
là những mục dữ liệu của chúng
Trang 14Những đối tượng dữ liệu đặc trưng
external entities (printer, user, sensor)
things (e.g, reports, displays, signals)
occurrences or events (e.g., interrupt, alarm)
roles (e.g., manager, engineer, salesperson)
organizational units (e.g., division, team)
places (e.g., manufacturing floor)
structures (e.g., employee record)
Trang 15Thuộc tính của đối tượng
object: automobile
attributes:
make model body type price
options code
Trang 16Quan hệ là gì (Relationship)?
• Quan hệ chỉ ra sự kết nối giữa các đối tượng mà hệ thống phải ghi nhận
• Đối tượng có thể có nhiều quan hệ
• Hai đối tượng có thể có nhiều quan hệ khác nhau
Trang 18Ví dụ
(1,1) places (1,m) Customer request for service
generates (1,n)
(1,1)
work order
work tasks materials
consists of
standard task table
(1,w) (1,1)
Trang 194.2 Mô hình luồng dữ liệu
computer based system
Mô hình luồng dữ liệu u DFD (Data-flow diagrams)
Trang 20Kho dữ liệu
(data store)
Trang 21Luồng dữ liệu
Data flows through a system, beginning
as input and be transformed into output.
compute triangle area
base
height
area
Trang 22Kho dữ liệu
Data is often stored for later use.
look-up sensor data
sensor #
report required
sensor #, type, location, age
sensor data
sensor number
type, location, age
Trang 23• Luôn luôn gán nhãn cho mũi tên luồng dữ liệu
• Không biểu diễn những logic thủ tục
• Kiểm tra mô hình dữ liệu để cô lập đối tượng dữ
Trang 24DFD mức 0
user processing request
video source video signal NTSC
digital video processor
requested video signal
monitor
Trang 26DFD mức 1
Trang 28Ví dụ
Launched Dec 11, 1998, the Climate Orbiter plunged too steeply into the Martian atmosphere Sept 23, 1999, and either burned up or crashed In an initial failure report released Oct 15, 2000 the review board blamed the navigation error on a communications foul-up between NASA's Jet Propulsion Laboratory and prime contractor Lockheed Martin
Launched Dec 11, 1998, the Climate Orbiter plunged too
steeply into the Martian atmosphere Sept 23, 1999, and
either burned up or crashed In an initial failure report
released Oct 15, 2000 the review board blamed the
navigation error on a communications foul-up between
NASA's Jet Propulsion Laboratory and prime contractor
Trang 29Chú ý
• Mỗi xử lý (bubble) được tinh chế cho đến khi nó
chỉ còn một xử lý đơn
• Tỷ lệ mở rộng giảm khi số mức gia tăng
• Thông thường từ mức 3 tới mức 7
• Mục luồng dữ liệu đơn (mũi tên) phải được mở
rộng khi mức gia tăng (từ điển dữ liệu cung cấp
thông tin)
Trang 30Maps into
analysis model
design model
Trang 31• SafeHome dùng những thiết bị cảm biến để nhận ra tình
trạng nhà, nó có thể được lập trình bởi chủ nhà và có thể
gọi điện thoại tự động
• SafeHome bao gồm: những bộ cảm biến khói; cảm biến
hoạt động cửa ra vào, cửa sổ; cảm biến sự di chuyển; một còi báo động; một bảng điều khiển; một màn hình
• Dịch vụ bao gồm: tạo ra báo động, theo dõi sự kiện ngoài, gọi điện thoại, lập trình bảng điều khiển
• Danh sách ràng buộc: giá thành sản phẩm < 80$, phải thân thiện với người dùng, giao giao tiếp trực tiếp với đường điện thoại tiêu chuẩn
Trang 32Khảo sát hoạt động
1 Chủ nhà quan sát bảng điều khiển nếu hệ thống chưa sẵn
sàng thì chủ nhà phải đóng cửa sổ/cửa ra vào để hệ thống
có thể hoạt động
2 Chủ nhà nhập vào password 4 ký tự nếu password không
đúng bảng điều khiển sẽ bip và reset Nếu password đúng bảng điều khiển sẽ chờ cho hoạt động khác
3 Chủ nhà chọn khóa stay hay away để hoạt động hệ thống
Away sẽ hoạt động tất cả bộ cảm biến, stay sẽ ngưng hoạt động những bộ cảm biến những chuyển động bên trong
4 Khi hệ thống hoạt động sẽ xuất hiện đèn báo màu đỏ trên
bảng điều khiển
Trang 33Lệnh và dữ liệu
Trạng thái cảm ứng
Thông tin hiển thị
Kiểu báo động Tần số của số điện thoại
Trang 34Mức 1
Trang 35Mức 2
Trang 36VIẾT PSPEC
• Có thể viết PSPEC bằng một trong 2 cách
Ngôn ngữ tự nhiên (tương tự processing
narrative)
Ngôn ngữ PDL - là ngôn ngữ giả giúp thể hiện kiến trúc và giao tiếp của chức năng xử lý
Trang 37NGÔN NGỮ PDL (t.t)
procedure AnalyzeTriangle( a, b, c: in real;
type: out string)
Trang 38• Định nghĩa: Từ điển dữ liệu là một danh sách có tổ chức
của tất cả các phần tử dữ liệu cần thiết cho hệ thống Các phần tử được định nghĩa chính xác và chặt chẽ sao cho cảphân tích viên và khách hàng cùng chia sẻ một suy nghĩ vềchúng
• Từ điển dữ liệu thường được hiện thực như là một phần của công cụ CASE
• Mỗi phần tử bao gồm những thông tin: tên, bí danh, được dùng ở đâu/như thế nào, đặc tả nội dung và thông tin phụtrợ
Trang 39TỪ ĐIỂN DỮ LIỆU
• Ví dụ phần tử dữ liệu số điện thoại
Tên: Số điện thoại
• Số bên ngoài = 9 + [ số địa phương | số đường dài ]
• Số địa phương = tiền tố + <chuỗi 4 ký số>
Trang 40Use-case diagrams Use cases - text Activity Diagrams Swim lane diagrams
Scenario-based elements
Flow-oriented elements
State diagrams Sequence diagrams
Behavioral elements
Analysis Model
Những thành phần trong mô hình phân tích
Oh behave!
Trang 414.3 Tạo mô hình hành vi
Outside
Trang 42Trạng thái của hệ thống
• State — a set of observable circumstances that characterizes the behavior of a system at a given time
• state transition — the movement from one state to another
• event — an occurrence that causes the system to exhibit some predictable form
of behavior
• action — process that occurs as a consequence of making a transition
Trang 45Mô hình trạng thái
Trang 46Biểu đồ tuần tự
Trang 47Mô hình phân tích
Data Model
Behavioral Functional Model
Trang 49Use-case diagrams Use cases - text Activity Diagrams Swim lane diagrams
Scenario-based elements
Class diagrams
Class-based elements
Data-flow diagrams Control flow diagrams Processing narratives
Flow-oriented elements
State diagrams
Behavioral elements
Analysis Model
Những thành phần trong mô hình phân tích
Trang 504.4 Mô hình lớp
• Mục đích của OOA là xác định tất cả các lớp (và
quan hệ và hành vi kết hợp với chúng) mà liên
quan tới vấn đề cần giải quyết Một số công việc:
Classes must be identified (i.e., attributes and
methods)
A class hierarchy is defined
Object-to-object relationships should be
represented
Object behavior must be modeled
Tasks 1 through 4 are reapplied iteratively
Trang 51Khái niệm hướng đối tượng
• Khái niệm cơ bản
Class và object
Attribute và operation
Encapsulation và instantiation
Inheritance
Trang 52The object encapsulatesboth data and the logicalprocedures required tomanipulate the data
Achieves “information hiding”
Trang 53Tạo mô hình dựa vào lớp
• Xác định lớp phân tích bằng cách kiểm tra phát biểu
• Phân tích văn phạm
• Xác định thuộc tính
• Xác định tác vụ mà xử lý thuộc tính
Trang 55Phân tích văn phạm
University Bank will be opening in Oxford, Mississippi, in
January, 2000 We plan to use a full service automated
teller machine (ATM) system.The ATM system will interact
with the customer through a display screen, numeric and
special input keys, a bankcard reader, a deposit slot, and a
receipt printer.Customers may make deposits, withdrawals, and balance inquires using the ATM machine, but the
update to accounts will be handled through an interface to
the Accounts system.Customers will be assigned a Personal Identification Number (PIN) and clearance level by the
Security system The PIN can be verified prior to any
transaction.In the future, we would also like to support
Trang 56Phân tích văn phạm
• University Bank will be opening in Oxford, Mississippi, in January, 2000 We plan to use a full service automated
teller machine (ATM) system.The ATM system will
interact with the customer through a display screen,
and balance inquires using the ATM machine, but the update to accounts will be handled through an
interface to the Accounts system Customers will be
assigned a Personal Identification Number (PIN)
and clearance level by the Security system The
PIN can be verified prior to any transaction.In the future,
we would also like to support routine operations such as
Trang 57Những lớp đặc trưng
computers)
Trang 58Tiêu chuẩn chọn lớp
needed services multiple attributes common attributes common operations essential requirements retained information
Trang 59Đối tượng hệ thống
Trang 60Quan hệ giữa các đối tượng
Trang 61Gói (Package)
Trang 62Đối tượng hệ thống
Trang 63Class-Responsibility-collaborator (CRC)
Trang 64Use-case diagrams Use cases - text Activity Diagrams Swim lane diagrams
Scenario-based elements
Flow-oriented elements
State diagrams Sequence diagrams
Behavioral elements
Analysis Model
Những thành phần trong mô hình phân tích
Mô hình kịch bản
Trang 654.5 Mô hình kịch bản
for a system
as the system functions
a given scenario
“[Use-cases] are simply an aid to defining what exists outside the system (actors) and what should be performed by the system (use-cases).” Ivar Jacobson
Trang 66Biểu đồ use-case
Trang 67Biểu đồ hoạt động (Activity)
Supplements the use-case
t hum bnail view s select a specif ic cam er a
se le c t c a m e r a ic o n
se le c t sp e c if ic
c a m e r a - t h u m b n a ils
Trang 68Biểu đồ Swimlane
Allows the modeler
to represent the flow
of activities
described by the
use-case and at the
same time indicate
which actor (if there
are multiple actors
involved in a specific
use-case) or
analysis class has
responsibility for the
action described by
an activity rectangle
enter password and user ID
select m ajor function
t h u m b n ail views select a sp ecif ic cam er a
select cam era icon
generate video output
select specific cam era - thum bnails
prom pt for another view view cam era output
in labelled window
Trang 69Biểu đồ hoạt động (Activity)
activity, activity
diagrams allow
branches and joins.
or include other
activity diagrams
Trang 70Phân tích và thiết kế theo UML
Trang 71Phân tích và thiết kế theo DFD