4.1 nguyên lý phân tích 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 phẩm Xây dựng mô hình phân tích Tập trung vào dữ liệu Xác định chức năng Biểu diễn hàn
Trang 2Chương 4: Mô hình phân tích
Trang 34.1 nguyên lý phân tích
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 phẩm
Xây dựng mô hình phân tích
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 phạm vi không chắn chắn
Phát triển đặc tả cho phát triển thiết kế
Trang 4Mô hình phân tích
Data Model
Behavioral Model Functional Model
Trang 5Nguyên lý phân tích I
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 6Nguyên lý phân tích II
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 7Nguyên lý phân tích III
Trang 8Nguyên lý phân tích IV
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 9Nguyên lý phân tích V
Tập trung vào những vấn đề thiết yếu không quan tâm tới chi tiết thực thi
Trang 10Nguyên lý của Davis
người - máy
Trang 11Hướng phân tích
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
Tập trung: lớp và tương tác của chúng với nhau
Mô hình: UML
Trang 12Nhữ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
Flow-oriented elements
State diagrams Sequence diagrams
Behavioral elements
Analysis Model
Trang 134.2 Tạo mô hình dữ liệu
thế nào
Trang 14Đối tượng dữ liệu là gì?
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 15Những đối tượng dữ liệu đặc trưng
Trang 16Thuộc tính của đối tượng
object: automobile
attributes:
make model body type price
options code
Trang 17Quan hệ là gì (Relationship)?
phải ghi nhận
Trang 19Ví dụ
Trang 20Ví dụ
Trang 21Dữ liệu phụ thuộc thời gian
Trang 22Address
Date_Hired Employee_Name
Hourly_Rate
Employee_No
Employee_Type
SALARIED EMPLOYEE
SALARIED EMPLOYEE
Trang 23Ví dụ
Trang 24Use-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
Xét mô hình luồng
Trang 254.3 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 26Kho dữ liệu (data store)
Trang 27Luồng dữ liệu
Data flows through a system, beginning
as input and be transformed into output.
compute triangle area
base
height
area
Trang 28Kho 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 29phân tích văn phạm để xác định hoạt động
Trang 30DFD mức 0
user processing request
video source video signal NTSC
digital video processor
requested video signal
monitor
Trang 32DFD mức 1
Trang 34Chú ý
một xử lý đơn
Trang 35Maps into
analysis model
design model
Trang 37trạ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.
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
gọi điện thoại, lập trình bảng điều khiển
thân thiện với người dùng, giao giao tiếp trực tiếp với
Trang 38Khảo sát hoạt động
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
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
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
bảng điều khiển
Trang 39XÂY DỰNG DFD
Phần mềm SafeHome: Thiết lập đoạn văn miêu tả xử lý
DFD mức ngữ cảnh (mức 0): nhận diện các thực thể và dữ liệu, input, output
SafeHome
Bảng điều khiển
Màn hình
Chuông
Lệnh và dữ liệu
Trạng thái cảm ứng
Thông tin hiển thị
Kiểu báo động
Trang 40Mức 1
Trang 41Mức 2 (monitor sensors)
Trang 42Ví 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 Lockheed Martin
Trang 43VIẾT PSPEC
Ngôn ngữ tự nhiên
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 44NGÔN NGỮ PDL (t.t)
procedure AnalyzeTriangle( a, b, c: in real;
type: out string)
Trang 45TỪ ĐIỂN DỮ LIỆU
liệu, chức năng, điều khiển… Phải có một cách thức quản
lý các phần tử đó sao cho hiệu quả chúng ta dùng Từ
điển dữ liệu
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.
Trang 46TỪ ĐIỂN DỮ LIỆU
Tên: Số điện thoại
Bí danh: Không
Được dùng ở đâu/như thế nào: output của Tạo báo độn
Đặc tả nội dung:
Số điện thoại = [ mở rộng địa phương | số bên ngoài ]
Mở rộng địa phương = [ 2001 | 2002 … | 2009 ]
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ố>
Số đường dài = (1) + mã vùng + số địa phương
Tiền tố = [ 795 | 799 | 874 | 877 ]
Trang 48Doanh nghiệp Hoàng Minh là một doanh nghiệp thương mại,
chuyên mua bán các loại hàng hóa
Doanh nghiệp có nhiều văn phòng đại diện bán hàng ở khắp các tỉnh, thành phố trên phạm vi cả nước Mỗi tỉnh, thành phố được
nhận diện bằng mã tỉnh-thành phố và có thuôc tính tên tỉnh-thành phố, số dân Thông tin về một văn phòng gồm có: mã văn phòng (duy nhất), tên văn phòng, địa chỉ, điện thoại liên lạc và tỉnh,
thành phố nơi đặt văn phòng
Doanh nghiệp có nhiều nhân viên bán hàng Thông tin về một
nhân viên gồm có: mã nhân viên (duy nhất), họ tên, ngày sinh, địa chỉ Nhân viên chỉ được phép làm việc ở một văn phòng đại diện.Doanh nghiệp kinh doanh nhiều hàng hóa, thông tin về một hàng hóa gồm: mã hàng (duy nhất), tên hàng, đơn vị tính, đơn giá bán, số lượng tối thiểu phải tồn kho, tỉ suất thuế giá trị gia tăng
Trang 49Doanh nghiệp có nhiều khách hàng Thông tin về một khách hàng gồm có: mã khách hàng, họ tên, địa chỉ, và thành phố nơi khách hàng cư ngụ Mỗi giao dịch mua bán được tiến hành sẽ có một hóa đơn bán hàng do một nhân viên đại diện bán hàng lập Trên hóa đơn có các thông tin: tên văn phòng, số hóa đơn (dùng để phân biệt hóa đơn này với hóa đơn kia), ngày hóa đơn, họ tên khách hàng, địa chỉ khách hàng và một danh sách các mặt hàng có cùng tỉ suất thuế GTGT (xem mẫu) Một lần mua,
khách có thể mua nhiều loại hàng có số lượng khác nhau và tỉ suất thuế giá trị gia tăng khác nhau (như 5%, 10%, 1%) Nhân viên bán hàng có
nhiệm vụ gom các mặt hàng cùng tỉ suất thuế vào một hóa đơn Như vậy một lần mua khách có thể có nhiều hóa đơn với các tỉ suất thuế khác
nhau.
Trang 50số đơn hàng ngày đơn hàng
mã khách hàng tên khách hàng địa chỉ
số điện thoại
được đặt bởi đặt
số đơn hàng
số thứ tự
số lượng
đơn giá bán
mã hàng mô tả đơn vị tính màu sắc đơn giá hiện hành
Trang 51SƠ ĐỒ CẤP 0
Trang 53MẪU MÔ TẢ PHẦN TỬ DỮ LIỆU Mã nhận diện
Tên Mã khách hàng
Tên khác
Mô tả Là thuộc tính nhận diện khách hàng đã và đang giao dịch mua hàng của công ty
trong khỏang 5 năm gần đây
Tính chất
Chiều dài: 6
Định dạng nhập: 000000
Định dạng xuất:
Giá trị mặc nhiên: ; Số
; Liên tục ; Nhập
Điều kiện ràng buộc
Trang 54MẪU MÔ TẢ DÒNG DỮ LIỆU
Mã nhận diện:
Tên: Thông tin Đơn hàng
Mô tả: Chứa thông tin khách đặt hàng và được dùng để cập nhật kho dữ liệu khách hàng, mặt
hàng, đơn hàng và dòng đơn hàng
Nguồn: Tác nhân khách hàng Đích: Ô xử lý Cập nhật đơn hàng
Lọai dòng dữ liệu:
Cấu trúc dữ liệu: Đơn hàng Tần suất: 100/ngày
Ghi chú: Thông tin đơn hàng có thể gởi đến phòng xử lý đơn hàng bằng đường thư tín, qua máy Fax, điện thọai.
Trang 55MẪU MÔ TẢ KHO DỮ LIỆU
Mã nhận diện D1
Tên khác
Mô tả Chứa mỗi mẫu tin cho một khách hàng
Tính chất
Lọai tập tin ; Máy tính
Dạng tập tin ; Cơ sở dữ liệu
Kích thước mẫu tin (ký tự) : 200 Kích thước khối: 4,000
Số lượng mẫu tin: mức cao 46,000 mức bình quân: 42,000
Tốc độ tăng trưởng hàng năm: 6%
Tên tập tin dữ liệu: KhachHang.MST
Trang 56Xử lý 4.1 – Kiểm tra đợt giao hàng
GET dòng dữ liệu [Số lượng hòan thành] từ tác nhân [Công nhân]
DO WHILE [Đợt giao hàng] chưa đến cuối tập tin
IF [Số lượng hòan thành].[mã chuyền] = [Đợt giao hàng].[mã chuyền] AND [Số lượng hòan thành].[mã sản phẩm] = [Đợt giao hàng].[mã sản phẩm] AND
[Số lượng hòan thành].[ngày giao] = [Đợt giao hàng].[ngày giao]
OUTPUT ddl [Đợt giao hàng hợp lệ]
Trang 57Use-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
Behavioral elements
Analysis Model
Những thành phần trong mô hình phân tích
Oh behave!
Trang 584.4 Tạo mô hình hành vi
Outside world Application
Trang 59Trạng thái của hệ thống
circumstances that characterizes the behavior of a system at a given time
one state to another
system to exhibit some predictable form of behavior
consequence of making a transition
Trang 61Mô hình trạng thái
Trang 62Biểu đồ tuần tự
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
Trang 654.5 Mô hình lớp
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 66Khái niệm hướng đối tượng
Class và object
Attribute và operation
Encapsulation và instantiation
Inheritance
Trang 67The object encapsulatesboth data and the logicalprocedures required tomanipulate the data
Trang 68Tạo mô hình dựa vào lớp
biểu
Trang 70Phâ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 routine operations such as a change of address
or phone number using the ATM
Trang 71Phân tích văn phạm
in January, 2000 We plan to use a full service
screen, numeric and special input keys, a bankcard
reader, a deposit slot, and a receipt printer Customers
Trang 72Những lớp đặc trưng
computers)
Trang 73Tiêu chuẩn chọn lớp
needed services Multiple (phức) attributes common attributes
common operations essential requirements retained (lưu trữ) information
Trang 74Đối tượng hệ thống
Trang 75Quan hệ giữa các đối tượng
Trang 76Gói (Package)
Trang 77Đối tượng hệ thống
Trang 78Class-Responsibility-collaborator (CRC)
Trang 79Use-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
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 804.6 Mô hình kịch bản
system
the system functions
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 81Biểu đồ use-case
Trang 82Biểu đồ hoạt động (Activity)
Supplements the
t hum bnail view s select a specif ic cam er a
Trang 83Biể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 select specific
cam era - thum bnails
Trang 84Biểu đồ hoạt động (Activity)
activity, activity diagrams
allow branches and joins.
include other activity
diagrams
Trang 85Phân tích và thiết kế theo UML
Trang 86Phân tích và thiết kế theo DFD