Tải bản đầy đủ (.docx) (33 trang)

XÂY DỰNG PHẦN MỀM CHUYỂN ĐỔI ĐẦU SỐ ĐIỆN THOẠI TRÊN ANDROID THEO HƯỚNG CẤU PHẦN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (683.4 KB, 33 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
----------o0o----------

BÀI TẬP LỚN
PHÁT TRIỂN PHẦN MỀM THEO HƯỚNG CẤU PHẦN
TÊN ĐỀ TÀI: XÂY DỰNG PHẦN MỀM CHUYỂN ĐỔI ĐẦU SỐ ĐIỆN
THOẠI TRÊN ANDROID THEO HƯỚNG CẤU PHẦN
Giảng viên

:

Th.s Nguyễn Thái Cường

Lớp

:

ĐH KTPM4 K10

Nhóm thực hiện

:

Nhóm 2

Thành viên

:

Nguyễn Trung Đức 1041360279


Phạm Minh Hồng 1041360303
Lê Hồng Huấn

Hà Nội, 2018

1041360339


TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
----------o0o----------

BÁO CÁO
MÔN: PHÁT TRIỂN PHẦN MỀM THEO HƯỚNG CẤU PHẦN
TÊN ĐỀ TÀI: XÂY DỰNG PHẦN MỀM CHUYỂN ĐỔI ĐẦU SỐ ĐIỆN
THOẠI TRÊN ANDROID THEO HƯỚNG CẤU PHẦN
Giảng viên

:

Th.s Nguyễn Thái Cường

Lớp

:

ĐH KTPM4 K10

Nhóm thực hiện


:

Nhóm 2

Thành viên

:

Nguyễn Trung Đức
Phạm Minh Hồng
Lê Hồng Huấn

Hà Nội, 2018


LỜI CẢM ƠN
Trong suốt quá trình học tập và làm bài tập lớn, nhóm 02 đã nhận được sự
hướng dẫn, giúp đỡ nhiệt tình của quý thầy cô trong khoa Công nghệ thông tin
trường Đại học Công nghiệp Hà Nội và các bạn trong bộ môn để hoàn thành đề tài
tìm hiểu của nhóm. Với lòng kính trọng và sự biết ơn sâu sắc, nhóm em xin được
bày tỏ lời cảm ơn chân thành tới thầy Nguyễn Thái Cường - người thầy đã hết
lòng giúp đỡ, dạy bảo, động viên và tạo mọi điêu kiện thuận lợi cho nhóm trong
suốt quá trình học tập và hoàn thành bài tập lớn cùa nhóm, cùng tất cả các thầy cô
trong khoa, trong trường và bạn bè trong bộ môn đã giúp đỡ nhóm trong quá trình
học tập.
Những đóng góp cùa mọi người là kinh nghiệm quý báu giúp cho các thành
viên trong nhóm có những dự tính sau này trong khi làm đồ án tốt nghiệp và sau
khi tốt nghiệp.
Chúng em xin chân thành cảm ơn !
Sinh viên nhóm 02


3


Table of Contents

4


Danh sách hình vẽ:
Hình 1: Sơ đồ phân cấp chức năng…………………………..…….26
Hình 2: Chức năng quản lý số liên lạc………………………….…..26
Hình 3: Chức năng người dùng…………………………………….27
Hình 4: Chức năng người dùng…………………………………….28
Hình 5: Đăng nhập…………………………………………………..30
Hình 6: Đăng ký……………………………………………………...31
Hình 7: Quên mật khẩu………………………………..………....….31
Hình 8: Giao diên quản lý số liên lạc………………………………..32
Hình 9: Giao diên chính………………………………………………32
Hình 10: Quản lý chức năng………………………………………....33
Hình 11: Giao diện thêm, sửa đầu số………………………………..33
Hình 12: Giao diện chuyển đổi đầu số…………………………..…..34

Danh sách bảng mẫu:
Bảng 1.1. Kích thước phần mềm thay đổi theo thời gian…………....13
Bảng 1.2. So sánh COP với OOP và SP………………………….…...21
Bảng 2.1 Số liên lạc……………………………………………………..29
Bảng 2.2 Đầu số…………………………………………………………29

Bảng 2.3 Người dùng………………………………………………..30


5


Phần I: Mở Đầu
1 Tên đề tài
Xây dựng phần mềm chuyển đổi đầu số điện thoại trên android theo hướng cấu phần

2 Lý do chọn đề tài
Ngày nay công nghệ đang phát triển rất mạnh mẽ. Việc liên lạc hay kết nối internet
qua điện thoại đã và đang là nhu cầu tất yếu của mỗi người. Ở Việt Nam cũng đã có khá
nhiều nhà mạng phát triển trong ngành cung cấp các dịch vụ đó, mỗi người muốn sử dụng
những dịch vụ như gọi điện thoại, nhắn tin SMS hay kết nối internet thì cần sở hữu 1 thuê
bao với số điện thoại của nhà mạng mình sử dụng dịch vụ. Trước nay các nhà mạng đã
phát trển cơ sở các số thuê bao theo 2 dạng chính là thuê bao di động có 10 số và thuê
bao di động có 11 sô. Nhưng Bộ Thông tin và Truyền thông đã có quy định toàn bộ thuê
bao di động 11 số tại Việt Nam sẽ phải đổi đầu số để trở thành thuê bao 10 số, thời gian
chuyển đổi thuê bao từ 11 số sang 10 số sẽ bắt đầu từ 00 giờ 00 phút ngày 15/9 và kết
thúc vào 23 giờ 59 phút ngày 30/6/2019.
Vì sự kiện đó nên đã nảy sinh một việc khá nan giải với người có nhiều mối quan
hệ, họ lưu rất nhiều số điện thoại trong danh bạ để liên lạc và sự chuyển đổi này khá là
ảnh hưởng tới việc đó. Từ đó nhóm em trong quá trình học tập bộ môn đã đi tìm hiểu và
thiết kế một ứng dụng đễ chuyển đổi đầu số một cách tự động áp dụng trên các điện thoại
thông minh.

3 Mục đích đề tài
Đề tài “Xây dựng phần mềm chuyển đổi đầu số điện thoại trên android theo hướng
cấu phần” sẽ giúp chúng em có thể nắm được những kiến thức về phân tích, quản
lý xây dựng phần mềm theo hướng cấu phần.
4 Mục tiêu đề tài

- Cần khảo sát nhu cầu của người dùng.
- Lập được bản phác thảo,kế hoạch xây dựng phần mềm.
- Giải quyết được những vấn đề, khó khăn cách quản lý cũ không kiểm soát
được
- Tóm tắt được thực trạng, xác định được những công việc cần làm trong
tương lai.
5 Bố cục
Bố cục nội dung được trình bày thành 3 chương:
6


Chương I: Tổng quan về phát triển phần mềm theo hướng cấu phần
 Tìm hiểu COP
 Tại sao COP quan trọng
 Các thành phần phần cứng và thành phần phần mềm
Chương II: Khảo sát và phân tích thiết kế hệ thống ứng dụng
 Mô tả hệ thống cơ sở
 Đánh giá hệ thống cơ sở
 Yêu cầu bài toán
 Phân tích thiết kế hệ thống chức năng
Chương III: Thiết kế cơ sở dữ liệu
 Mục đích
 Mô hình cấu trúc của hệ thống

7


Tóm tắt bài tập lớn
Mục đích chính của đề tài là tìm hiểu và thực hành bộ môn “phát triển phần mềm
theo hướng cấu phần”. Dựa theo sự hướng dẫn chỉ bảo của thầy Nguyễn Thái Cường học

tập và thiết kế một ứng dụng cơ bản trên android để chuyển đổi đầu số điện thoai từ 11 số
về 10 theo theo hướng cấu phần. Từ đó các thành viên trong nhóm hiểu thêm về bộ môn
“phát triển phần mềm theo hướng cấu phần” bằng cánh tạo ra các thư viện adroid, sau đó
kết hợp lại với nhau tạo thành ứng dụng cần thực hiện.

8


CHƯƠNG 1: Tổng quan về phát triển phần mềm theo hướng cấu phần
1.1 COP là gì?
Xuyên suốt chương này COP là viết tắt của Conponent-Oriented Programming(Lập trình
hướng cấu phần)
Lập trình là một hoạt động xây dựng chương trình máy tính và là một chuỗi các
hướng dẫn mô tả cách thực hiện các tác vụ nhất định với máy tính. Lập trình có thể được
phân loại hoặc mô tả theo các kỹ thuật chính, các khái niệm hoặc công cụ được sử dụng
để xây dựng các chương trình máy tính. Các máy tính khác nhau yêu cầu các loại kỹ
thuật lập trình khác nhau. Pascal được xây dựng vào năm 1642 bởi Blaise Pascal (1623–
1662), ví dụ chỉ có thể được lập trình bởi thiết bị điều khiển và tay quay điều khiển. Mặc
dù tất cả máy tính điện tử hiện đại, tuy nhiên nhất định ngôn ngữ lập trình được dùng để
lập trình các máy tính. Nếu một kỹ thuật cụ thể là X đang được sử dụng để lập trình máy
tính thì chúng tôi sẽ nói đây là lập trình hướng X. Dưới đây là một cuộc thảo luận ngắn
gọn về các mô hình lập trình khác nhau đối với lập trình hướng thành phần.
Gear-Oriented Programming (Lập trình hướng phụ tùng)
Tương tự như máy Pascal đã nói ở trên, “động cơ” của Charles Babbage năm
1822, lập trình có nghĩa là thay đổi bánh răng, trục và bánh xe. Thông qua các chuyển
động vật lý và sắp xếp các bánh răng, một tính toán mới có thể được thực hiện. Rõ ràng,
hình thức này yêu cầu cả năng lực tinh thần và năng lực thể chất phải tốt.
Switch-Oriented Programming (Lập trình hướng chuyển đổi)
Đối với thế hệ máy tính điện tử đầu tiên ENIAC (Electronic Numberical Integrator
And Computer) vào năm 1942, lập trình có nghĩa là cấu hình lại thiết bị chuyển mạch và

viết lại toàn bộ hệ thống cho mỗi chương trình hoặc tính toán “mới”. Điều này có thể là
một công việc tẻ nhạt vì ENIAC đã có 6000 thiết bị chuyển mạch kết nối đa vị trí với vô
số các khe cắm và các cầu nhảy.
Procedure-Oriented Programming (Lập trình hướng thủ tục)
Với sự giúp đỡ của các ngôn ngữ lập trình bậc cao, các lập trình viên đã được giải
phóng khỏi các thao tác về chi tiết phần cứng và ngôn ngữ máy. Ngôn ngũ lập trình như
Fortran, Pascal, C và khuyến khích các lập trình viên suy nghĩ về thủ tục hoặc chức năng.
Điều này được làm nổi bật bở lập trình có cấu trúc, thiết bị kế từ trên xuống. Để phát
triển một chương trình máy tính, đầu tiên các lập trình viên sẽ nghĩ về các chức năng cần

9


được thực hiện. Mỗi yêu cầu chức năng sẽ được thực hiện và cuối cùng là một tập hợp
các thủ tục hoặc chức năng.
Object-Oriented Programming (Lập trình hướng đối tượng)
Lập trình hướng đối tượng khuyến khích người xem suy nghĩ về các kiểu dữ liệu.
Các chương trình được xây dựng xung quanh các loại dữ liệu và các kiểu phân cấp dữ
liệu. Các khối cơ bản trong một chương trình hướng đối tượng là các lớp và các đối
tượng. Một đối tượng là một gói thông tin được lưu trữ trong một đoạn bộ nhớ máy tính.
Mỗi đối tượng được kết hợp với một loại dữ liệu, và các kiểu dữ liệu xác định những gì
có thể được thực hiện lên đối tượng. Tất cả các ngôn ngữ lập trình đều có sẵn các loại dữ
liệu, chẳng hạn như kiểu dữ liệu số nguyên và ký tự. Thông thường, các lập trình viên
định nghĩa các kiểu dữ liệu và phân cấp dữ liệu để họ có thể mô tả các thực hiện trong
các ứng dụng của chúng.
Aspect-Oriented Programming (Lập trình hướng khía cạnh)
Lập trình hướng khía cạnh (AOP) là một công nghệ mới để phân chia các mối
quan tâm trong phát triển phần mềm. AOP cho khả năng mô-đun hóa xuyên suốt các khía
cạnh của hệ thống. Giống như hướng đối tượng, các khía cạnh có thể phát sinh tại bất kỳ
giai đoạn nào trong vòng đời của phần mềm, bao gồm các yêu cầu đặc tả kỹ thuật, thiết

kế, thực hiện,… Các ví dụ phổ biến về các khía cạnh cắt ngang là các hạn chế về thiết kế
hoặc kiến trúc, các đặc tính hoặc hành vi hệ thống (ví dụ: Ghi nhật kí và khôi phục lỗi…)
và các tính năng. AOP hỗ trợ hòa hợp cho nhiều loại mô-đun khác nhau, bao gồm cấu
trúc khối, cấu trúc đối tượng, kế thừa cũng như cắt ngang.
Một vấn đề cơ bản của AOP là phân cấp đơn giản là không đủ để nắm bắt cấu trúc
phức tạp. Vì vậy, AOP cố gắng để khám phá một loạt các cơ chế mà giúp cho nó có thể
xem và thực hiện một hệ thống từ nhiều khía cạnh. Theo hướng này, một ngôn ngữ lập
trình mới gọi là AspectJ được thiết kế và triển khai thực hiện. AspectJ là một phần mở
rộng theo hướng khía cạnh xuyên suốt như kiểm tra và xử lý lỗi, đồng bộ hóa, hành vi
ngữ cảnh, tối ưu hóa hiệu suất, giám sát và truy cập, gỡ lỗi, giao thức đa đối tượng, …
Component-Oriented Programming (Lập trình hướng cấu phần)
Lập trình hướng cấu phần cho phép các chương trình được xây dựng từ các thành
phần của phần mềm dựng sẵn, có thể sự dụng lại, các khối khép kín của mã máy tính.
Các thành phần này phải tuân thủ theo một số tiêu chuẩn được xác định trước bao gồm
giao diện, kết nối, phiên bản và triển khai.
Các thành phần có tất các cá hình dạng và kích cỡ, đi từ các thành phần ứng dụng
nhỏ có thể được giao dịch trực tuyến thông qua các thành phần của các thành phần lớn có
10


chứa chức năng mở rộng và bao gồm logic kinh doanh của công ty. Về nguyên tắc, mọi
thành phần đều có thể tái sử dụng độc lập với bối cảnh, đó là để nó sẽ sẵn sàng sử dụng
bất cứ thứ gì từ bất cứ đâu.
COP là phát triển phần mềm bằng cách tập hợp các thành phần. Trong khi OOP
nhấn mạnh các lớp và các đối tượng, COP nhấn mạnh các giao diện và thành phần. Theo
nghĩa này, chúng ta có thể nói rằng COP là một chương trình dựa trên giao diện. Các máy
khách hàng trong COP không cần biết tường tận về cách một thành phần thực hiện các
giao diện của nó. Miễn là giao diện vẫn không thay đổi, khách hàng không bị ảnh hưởng
bởi những thay đổi trong triển khai giao diện.


1.2 Tại sao COP lại quan trọng?
Làm thế nào để các ngành công nghiệp trưởng thành hơn hoặc các ngành kỹ thuật
đối phó với sự phát triển của các hệ thống phức tạp?
Xây dựng các hệ thống thành phần là một điều đương nhiên của các hệ thống kỹ
thuật. Ngành công nghiệp tô tô, ví dụ phát triển những chiếc xe rất phức tạp bằng cách sử
dụng các thành phần gồm mọi loại kích cỡ từ một ốc nhỏ đến các hệ thống con phức tạp
nhưu động cơ và truyền dẫn. Nhà máy ô tô hiện đại trở thành một nhà tích hợp hệ thống
hơn là một nhà sản xuất. Nó rất dễ dàng để đặt tên cho nhiều ngành công nghiệp khác và
các ngành kỹ thuật sử dụng hiệu quả csc thành phần theo một tiêu chuẩn nghiệm ngặt xác
định khả năng tương tác. Trong hàng trăm năm, các ngành công nghiệp đã áp dụng các
tiêu chuẩn thành phần cho các bộ phận có thể hoán đổi cho nhau và lắp ráp các công cụ
hợp lý để tăng tốc độ phát triển các sản phẩm có tính phức tạp cao.
Đó là một cuộc cách mạng công nghiệp thay đổi đáng kể tính chất sản xuất trong
đó máy móc được thay thế sử dụng công cụ, hơi nước và các nguồn năng lượng khác để
thay thế sức lực con người hoặc động vật, công nhân không có kỹ năng thay thế công
nhân lành nghề, các sản phẩm lớn được chế tạo bằng máy móc và lắp ráp trên dây chuyền
thay thế cho các mặt hàng thủ công.
Tuy nhiên trong ngành công nghiệp phần mềm, các sản phẩm vẫn chủ yếu là các
sản phẩm thủ công. Năng suất thấp, chất lượng không được đảm bảo, các dự án phần lớn
bị đổ vỡ. Hiện tượng này được gọi là “khủng hoảng phần mềm”.
Khi công nghệ phần cứng càng tiến bộ, chi phí phát triển một ứng dụng máy tính
chủ yếu là thành phần phần mềm. Các vấn đề chính của kỹ thuật thuật phần mềm bao
gồm cách tạo ra phần mềm hiệu quả chất lượng. Các thành phần được các kĩ sư phần
mềm thấy rộng rãi như một công nghệ quan trọng để giải quyết “khủng hoảng phần
mềm”. Cuộc cách mạng công nghiệp của phần mềm sẽ xảy ra thông qua kỹ thuật dựa trên
thành phần của phần mềm.
11


Đấy là một trong những lý do quan trọng khiến COP trở nên quan trọng. Nó cung

cấp một mức trừu tượng cao hơn. Có một số lượng ngày càng lớn thành phần tái sử dụng
của các thư viện hỗ trợ phát triển các ứng dụng bởi các tên miền khác nhau.
Ba mục tiêu chính của COP là: Khắc phục sự phức tạp, quản lý sự thay đổi và tái
sử dụng.
1. Khắc phục sự phức tạp: Chúng ta đang sống trong một thế giới phức tạp ở thời
buổi bùng nổ thông tin. Theo một nhóm nghiên cứu tại UC Berkeley [SIMS 2000],
“Thế giới tự tao ra từ 1 đến 2 Exabyte thông tin mỗi năm, khoảng 250 megabyte
cho mỗi người đàn ông, phụ nữ và trẻ em trên trái đất. Một exabyte là một tỷ
gigabyte hay 1018 bytes”. Trong khoa học máy tính, kích thước và độ phức tạp
của phần mềm đã tăng lên đáng kể. Bảng 1.1 cho thấy sự so sánh của một số hệ
điều hành về kích thước của chúng. Chuỗi đầu tiền trong mỗi hộp là phiên bản, thứ
hai là kích thước được đo bằng các dòng mã nguồn, trong đó K=1.000 và
M=1.000.000. Những sự so sánh trong một cột có ý nghĩ thực sự, trong khi sự so
sánh phía bên kia của cột không phải là [Tanebaum 2001]. May mắn thay, COP
cung cấp một cách hiệu quả để xử lý sự phức tạp của phần mềm: phân chia và
khắc phục.

12


Bảng 1.1. Kích thước phần mềm thay đổi theo thời gian

2. Quản lý sự thay đổi:
Thay đổi là điều dĩ nhiên trong kỹ thuật phần mềm. Các yêu cầu của người
sử dụng thay đổi, thay đổi thông số kỹ thuật, thay đổi nhân sự, thay đổi ngân sách,
thay đổi công nghệ, … Một trong những nguyên tắc kỹ thuật phần mềm cơ bản là
nhấn mạnh tầm quan trọng của việc quản lý thay đổi. Điều quan trọng là đặt trọng
tâm chính trong kiến trúc và thiết kế về sự phụ thuộc giữa các thành phần và quản
lý các phụ thuốc đó.
COP cung cấp một cách hiệu quả để tuân thủ nguyên tắc kỹ thuật phần

mềm về xử lý thay đổi: Lập kế hoạch thay đổi, thiết kế thay đổi và xây dựng thay
đổi. Các thành phần dễ dàng thích hợp với cái mới và nhu cầu thay đổi. Các kỹ sư
phần mềm đã đi đến sự đồng thuận rẳng cách tốt nhất để ứng phó với những thay
13


đổi liên tục là xây dựng các hệ thống ra khỏi các thành phần tái sử dụng phù hợp
với một cấu trúc tiêu chuẩn thành phần và mô hình gắn vào.
3. Tái sử dụng:
Tái sử dụng phần mềm cho phép thiết kế và thực hiện một cái gì đó một lần
và sử dụng nó nhiều lần nữa trong các ngữ cảnh khác nhau. Điều này sẽ cho thấy
rõ những lợi ích hiệu năng lớn, tận dụng các giải pháp tốt nhất, chất lượng được
cái thiện hiệu quả…
Có nhiều mức độ tái sử dụng phần mềm khác nhau. Bản sao mã nguồn là vi
dụ mức tái sử dụng thấp nhất. Thư viện hàm thủ tục là một hình thức tái sử dụng
tốt hơn so với bản sao mã nguồn, nhưng không mở ra được. Tuy nhiên, nó đòi hỏi
rất nhiều sự hiểu biết trước khi các lớp có thể tái sự dụng. Hơn nữa nó chỉ hỗ trợ
tái sử dụng hộp trắng, khách hàng sẽ bị ảnh hưởng nếu nội bộ của các lớp thay đổi.
Ví dụ trong một ngôn ngữ OOP như C++ hoặc Java, các lớp dẫn xuất được kết
hợp với việc thực hiện lớp cơ sở. Những thay đổi trong bất kì lớp cơ sở nào trong
hệ thống phân cấp kế thừa sẽ phá vỡ các lớp dẫn xuất. Hơn nữa, mức độ tái sử
dụng là ngôn ngữ cụ thể, không sử dụng lại mã cho các ngôn ngữ khác được.
COP hỗ trợ mức tái sự dụng phần mềm cao nhất vì nó cho phép các loại tái
sử dụng khác nhau bao gồm tái sử dụng hộp trắng, tái sử dụng hộp xám và tái sử
dụng hộp đen. Tái sử dụng hộp trắng có nghĩa là nguồn của một thành phần phần
mềm được tạo sẵn và có thể được nghiên cứu, tái sử dụng, điều chỉnh hoặc sửa
đổi. Tái sử dụng hộp đen dữa trên nguyên tắc ẩn thông tin. Giao diện xác định mà
một khách hàng có thể yêu cầu từ một thành phần. Một thành phần cung cấp việc
thực hiện đầy đủ của giao diện mà khách hàng tin cậy dựa vào. Miễn là các giao
diện vẫn không thay đổi, các thành phần có thể được thay đổi bên trong mà không

ảnh hưởng đến khách hàng. Tái sử dụng hộp xám là một khoảng nào đó giữa tái sử
dụng hộp trắng và tái sử dụng hộp đen.
Kích thước và độ phức tạp của các hệ thống phần mềm lớn lên, việc xác
định và quản lý thích hợp các kết nối giữa các thành phần của hệ thống trở thành
một mối quan tâm của doanh nghiệp. COP cung cấp một giải pháp có thể quản lý
để để đối phó với sự phực tạp của phần mềm, sự thay đổi liên tục của các hệ thống
và các vấn đề tái sử dụng phần mềm. COP hiện là mô hình thực tế để phát triển
các hệ thống phần mềm lớn, ví dụ các ứng dụng phân loại quy mô doanh nghiệp,
các ứng dụng web N-tier và dịch vụ Web.

14


1.3. CẤU PHẦN LÀ GÌ?
Kỹ nghệ phần mềm đã đạt được tiến bộ lớn trong suốt 30 năm qua với nhiều
công nghệ tiên tiến được phát minh và áp dụng bao gồm lập trình có cấu trúc, công nghệ
CASE và công nghệ hướng đối tượng.Tuy nhiên, phong cách thiết yếu của việc phát triển
phần mềm duy trì giống nhau: các lập trình viên viết từng dòng mã cho đến khi nó hoàn
thành. Kiểu sản xuất công nghiệp trước đây là yếu tố then chốt cho sự chưa từng có giữa
năng suất phần cứng và năng suất phần mềm. Những thay đổi cách mạng trong phát triển
phần mềm, như cuộc cách mạng công nghiệp đối với các ngành kỹ thuật cổ điển, được
giới thiệu:


Phương pháp phát triển phần mềm thủ công nên được thay thế bằng phương pháp
kỹ thuật.



Kiểu cách mã hóa từng dòng nên được thay thế bằng phát triển dựa trên thành

phần.



Lập trình dựa trên cú pháp nên được thay thế bằng cách tổ hợp các thành phần dựa
trên giao diện và ngữ nghĩa của chúng.

Rõ ràng, một thay đổi mang tính cách mạng như vậy sẽ không xảy ra cho đến
khi chúng ta có thể tìm ra các cách tiếp cận có hệ thống, chính thức để phát triển phần
mềm dựa trên thành phần.
Các thành phần phần mềm được xác định theo theo nhiều cách từ các quan điểm
giống và khác nhau. [Brown 1998] trình bày bốn yếu tố của một thành phần phần mềm,
tóm tắt Hội thảo quốc tế đầu tiên về CBSE vào tháng 4 năm 1998:
1

Một thành phần là một phần không độc lập, gần như độc lập và có thể thay thế
được một phần của một hệ thống có chức năng rõ ràng trong bối cảnh của một
kiến trúc tốt. Một thành phần phù hợp và cung cấp sự thực hiện vật lý của một bộ
các giao diện. (Philippe Krutchen, Rational Software)

2 Thời gian chạy của 1 thành phần phần mềm là một gói có khả năng ràng buộc
động của một hoặc nhiều chương trình được quản lý như một đơn vị và được truy
cập thông qua các giao diện được ghi lại có thể được phát hiện trong thời gian
chạy .(Gartner Group)
3

Một thành phần phần mềm là một đơn vị thành phần với các giao diện đặc biệt
theo hợp đồng và chỉ phụ thuộc ngữ cảnh rõ ràng. Một thành phần phần mềm có

15



thể được triển khai độc lập và phụ thuộc vào thành phần của bên thứ ba. (Clemens
Szyperski)
4 Một thành phần kinh doanh đại diện cho việc thực hiện phần mềm với
khái niệm kinh doanh "độc lập" hoặc phương pháp kinh doanh.Nó bao gồm các
tạo phẩm phần mềm cần thiết để thể hiện,thực thi và triển khai nó như một yếu tố
có thể tái sử dụng hệ thống kinh doanh đó với quy mô lớn hơn.
(Wojtek Kozaczynski,SSA)
Thảo luận về các thành phần cũng có thể được tìm thấy trong nhiều hội nghị và
ấn phẩm gần đây [Koza 1999; Parrish 1999; Wang 2000; Yacoub 1999; Fischer
2002; Fukazawa 2002]. Trong cuốn sách này, chúng ta sẽ sử dụng định nghĩa sau
cho một thành phần phần mềm:
Một thành phần phần mềm là một phần của mã máy tính riêng biệt, tự triển khai
với chức năng được định nghĩa và có thể được kết nối với các thành phần khác
thông qua giao diện của nó.
Từ định nghĩa này, một thành phần là một chương trình hoặc một tập hợp các
chương trình có thể được biên dịch và thực thi. Nó là riêng biệt, do đó, nó cung
cấp chức năng mạch lạc. Nó có thể tự triển khai để có thể được cài đặt và thực
hiện trong môi trường của người dùng cuối. Nó có thể được ghép với các thành
phần khác để có thể được tái sử dụng như một đơn vị trong các ngữ cảnh khác
nhau. Việc tích hợp là thông qua giao diện của một thành phần, điều đó có nghĩa là
việc triển khai nội bộ của một thành phần thường bị ẩn khỏi người dùng.
Các công nghệ cấu phần tuân thủ các điều khoản trên bao gồm JavaBeans và Java
Beans (EJB) của Sun Microsystems, COM (đối tượng thành phần Mô hình),
DCOM (Mô hình đối tượng thành phần phân tán), và các thành phần .NET từ
Microsoft Corporation, và các thành phần của Corba (Kỹ thuật đối tượng phân
phối) từ nhóm quản lý đối tượng. Chúng ta sẽ thảo luận về tất cả các thành phần
này cùng với mô hình thành phần OSGi (Open Service Gateway Initiative) và các
thành phần dịch vụ Web trong cuốn sách này.

1.4. Các thành phần phần cứng và thành phần phần mềm
Trong 50 năm qua, công nghệ sản xuất phần cứng máy tính đã thay đổi hoàn
toàn. Số lượng mạch tích hợp (IC) và mạch tích hợp quy mô rất lớn (VLSI) tạo ra các
khối xây dựng cơ bản để lắp ráp nhanh hơn và ít tốn kém hơn. Trong kỹ thuật phần cứng,
cách tiếp cận dựa trên thành phần được sử dụng rộng rãi để xây dựng các sản phẩm mới
16


thông qua các thành phần phần cứng dựng sẵn. Có một số yếu tố thúc đẩy cho thiết kế
phần cứng dựa trên thành phần:


Sự phức tạp và khả năng của các thiết bị phần cứng đang gia tăng theo cấp số nhân



Các yêu cầu về năng suất và thời gian ra thị trường ngày càng nghiêm ngặt hơn.

• Tổng hợp từ các mô tả cao cấp không cung cấp chất lượng kết quả phù hợp.
Kỹ sư phần cứng đạt được yêu cầu năng suất thiết kế bằng cách lắp ráp các khối
có thể tái sử dụng của sở hữu trí tuệ (IP) như bộ vi xử lý, DSP, chip mã hóa / giải mã, v.v.
Gần đây, giải pháp silicon đã cho phép tích hợp toàn bộ hệ thống trên một khuôn đơn lẻ.
Phương pháp dựa trên thành phần đã tăng năng suất và độ tin cậy của các sản phẩm cuối
cùng vì mỗi thành phần chip đã được thử nghiệm và chế tạo một cách ồ ạt. Tuy nhiên,
không có sự thay đổi đáng kể trong sản xuất phần mềm. Mỗi sản phẩm phần mềm mới
yêu cầu các nhà thiết kế và lập trình phần mềm bắt đầu từ đầu và tạo ra dòng mã chương
trình cho đến khi chương trình được hoàn thành. Quá trình phát triển phần mềm trong 50
năm qua là từ việc tạo ra một chương trình bằng dòng mã máy bằng cách sử dụng các
ngôn ngữ lập trình bậc cao.Các ngôn ngữ lập trình bậc cao cung cấp một số lợi ích quan
trọng để cải thiện năng suất lập trình nhờ các kỹ thuật biên dịch. Tuy nhiên, Kỹ thuật

hàng đầu của việc tạo ra các phần mềm vẫn đang thống trị các cách thường làm và trở
thành nút cổ chai của phần mềm phát triển nhanh chóng với các cách tạo ra phần mềm
chất lượng thấp. Các rào cản chính của việc áp dụng cách tiếp cận dựa trên thành phần
đối với kỹ thuật phần mềm là gì? Sự khác biệt giữa các thành phần phần cứng và các
thành phần phần mềm là gì?
Về mặt logic, phần cứng và phần mềm máy tính tương đương về khả năng tính
toán . Đó là, bất kỳ hoạt động nào được thực hiện bởi phần mềm cũng có thể được xây
dựng trực tiếp vào phần cứng. Mặt khác, bất kỳ lệnh nào được thực thi bởi phần cứng
cũng có thể được mô phỏng trong phần mềm. Các thành phần phần cứng điển hình là các
IC bao gồm tích hợp quy mô vừa (MSI), tích hợp quy mô lớn (LSI) và mạch VLSI. Các
thành phần mức chip này có thể thực hiện được vì các mạch logic có các hàm đầu vàođầu ra tốt, không yêu cầu sự tương tác trực tiếp với thế giới bên ngoài. Các thông tin liên
lạc giữa các thành phần phần cứng được hỗ trợ bởi một hệ thống xe buýt. Một thành phần
phần mềm, mặt khác, thường khó hiểu được thể hiện đơn giản là một hàm từ một miền
đầu vào đến một tên miền đầu ra. Hơn nữa, một số thành phần phần mềm phải tương tác
với người dùng hoặc các tác nhân vật lý khác trong môi trường, do đó, chúng không thể
được xử lý đơn giản như các hộp đen giống các bản sao phần cứng.
17


Điều quan trọng cần lưu ý là có một mô hình tính toán rõ ràng, đó là đại số
Boolean, cho thiết kế cấp cổng trong việc xây dựng các thành phần phần cứng. Đại số
Boolean cung cấp một cách rút gọn, mô tả chức năng của mạch điện tử. Với một hàm
mong muốn, đại số Boolean có thể được áp dụng để phát triển một sự thực hiện đơn giản
của hàm đó thông qua các định luật đại số.
Mô hình tính toán cho kỹ nghệ phần mềm theo hướng thành phần là gì? Rõ ràng,
một mô hình tính toán tương tự là rất cần thiết cho phát triển phần mềm theo hướng thành
phần, như đại số Boolean cho kỹ thuật phần cứng dựa trên thành phần. Thực tế, Hoare
logic [Hoare 1969],cung cấp một hình thức, xác minh tính chính xác của các chương
trình dựa trên cấu trúc chương trình và tiền-hậu tố điều kiện của họ. Khi chúng ta chuyển
từ lập trình mức tuyên bố hoặc mã hóa từng dòng sang sự phát triển dựa trên thành phần,

chúng ta cần một hình thức nắm bắt hành vi của các thành phần và đảm bảo tính chính
xác của các tương tác thành phần. Chúng ta sẽ thảo luận vấn đề này một cách rộng rãi
trong Chương 2.
Hơn nữa, chúng ta phải lưu ý rằng việc so sánh các thành phần phần mềm với
các thành phần phần cứng bị hạn chế vì hai lý do. Đầu tiên là không giống như chip bộ
nhớ - mà phải được tái tạo vật lý mỗi lần, đó là việc sản xuất các thành phần với các biến
thể nhỏ - sản xuất các thành phần phần mềm là một bản sao chính xác mỗi lần. Thứ hai là
môi trường của một thành phần phần mềm có khả năng thay đổi cho mỗi lần cài đặt mới.
Cuối cùng, không có khía cạnh thời gian, chẳng hạn như hao mòn hóa học, để
xem xét trong các thành phần phần mềm [Mason 2002]. Sự khác biệt này là quan trọng
đặc biệt là khi chúng ta xem xét các vấn đề đảm bảo chất lượng cho phát triển dựa trên
thành phần. Ví dụ, độ tin cậy cho một thành phần phần cứng là một chức năng của bốn
yếu tố:


Lỗi trong thiết kế



Lỗi trong sản xuất



Thiếu xót vật lý



Sự hao mòn về hóa học và vật lý

Tuy nhiên, độ tin cậy của một thành phần phần mềm chỉ phụ thuộc vào yếu tố: sai sót

trong thiết kế (đối với một thành phần phần mềm, ở đây chúng ta xem xét việc thực hiện
nó như là một phần của thiết kế), bởi vì phần mềm có bị hao mòn. , có lỗi sản xuất không.
18


1.5. TỪ OOP ĐẾN COP
1.5.1 Tầm nhìn ngôn ngữ của COP
Một chương trình là một tập hợp các yếu tố lập trình cơ bản. Trong ngôn ngữ
máy, các thành phần lập trình cơ bản là 0 và 1. Ngôn ngữ kết hợp sử dụng “các từ” đơn
giản như các yếu tố lập trình cơ bản cho chuỗi nhị phân trừu tượng. Ngôn ngữ cấp cao
hơn đã làm cho mã hóa gần gũi hơn với con người có thể đọc được. Các thành phần lập
trình cơ bản trong một ngôn ngữ lập trình bậc cao điển hình là các hàm, còn được gọi là
các thủ tục hoặc các chương trình con. Trong một ngôn ngữ lập trình hướng đối tượng
(OOP), một đối tượng là một yếu tố lập trình cơ bản gói gọn dữ liệu và hành vi. Do đó,
OOP là một cách phân vùng chức năng trong việc mô hình hóa một vấn đề hoặc quá trình
thành các đối tượng cấu thành của nó. Việc trừu tượng hóa dữ liệu cung cấp dữ liệu một
cách có tổ chức với các hoạt động liên quan, cho phép các lớp hoặc các đối tượng được
tái sử dụng dễ dàng trong một chương trình khác. Trong COP, các thành phần lập trình cơ
bản là các thành phần, các thực thể khép kín và tự triển khai khuyến khích mức tái sử
dụng phần mềm cao hơn.
1.5.2 Tầm nhìn công nghệ phần mềm của COP
OOP đã được yêu cầu hỗ trợ tóm gọn, thừa kế và đa hình. Tuy nhiên, nó không
bao giờ đạt được mục tiêu của nó bởi vì thừa kế thực hiện phạm vi đóng gói thực sự.
Hơn nữa, các đối tượng hoặc các lớp không tự triển khai được. Chúng ta có thể phân biệt
COP từ OOP về các khía cạnh kỹ thuật phần mềm khác nhau như sau:
• COP dựa trên giao diện, trong khi OOP dựa trên đối tượng.
• COP là một công nghệ đóng gói và phân phối, trong khi OOP là một công nghệ
thực hiện.
• COP hỗ trợ tái sử dụng ở mức độ cao, trong khi OOP hỗ trợ tái sử dụng ở mức độ
thấp.

• COP, về nguyên tắc, có thể được viết bằng bất kỳ ngôn ngữ nào, trong khi OOP bị
ràng buộc với các ngôn ngữ OO.
• COP có các thành phần được kết hợp lỏng lẻo, trong khi OOP có các đối tượng kết
hợp chặt chẽ phụ thuộc vào nhau thông qua việc thực hiện kế thừa.
• COP có các thành phần chi tiết lớn, trong khi OOP có các đối tượng như các đơn
vị thành phần hạt nhân.
• COP hỗ trợ nhiều giao diện và thiết kế hướng giao diện, trong khi OOP không
cung cấp mối quan hệ rõ ràng giữa các giao diện giữa các lớp cha và lớp con.

19


• COP hỗ trợ nhiều hình thức liên kết động và phát hiện động hơn, trong khi OOP
cung cấp hỗ trợ hạn chế cho các cơ chế truy xuất và cơ chế thành phần thời gian
chạy đối tượng
• COP có cơ chế tốt hơn cho thành phần của bên thứ ba, trong khi OOP có các dạng
kết nối hạn chế (gọi phương thức).
• COP cung cấp hỗ trợ nhiều hơn cho các dịch vụ đặt hàng cao hơn (bảo mật, giao
dịch, v.v.), trong khi OOP có một số dịch vụ hạn chế hỗ trợ như bảo mật, giao
dịch, v.v.
• Các thành phần COP được thiết kế để tuân thủ các quy tắc của khung thành phần
cơ bản, trong khi các đối tượng OOP được thiết kế để tuân theo các nguyên tắc
OO.
Bảng 1.2 đưa ra một bản tóm tắt ngắn gọn về tính phổ biến và khác biệt giữa lập trình
có cấu trúc (SP), OOP và COP.
Xét về khả năng hợp thành, SP là thấp nhất, OOP cao và COP rất cao. Hai đơn vị
thực hiện khác nhau trong SP không bao giờ có thể hoán đổi cho nhau. Tuy nhiên, trong
OOP, hai đối tượng khác nhau thực hiện cùng một đặc tả có thể hoán đổi cho nhau. Tuy
nhiên, trong COP, hai thành phần khác nhau với các đặc điểm khác nhau có thể hoán đổi
cho nhau, miễn là chúng đáp ứng các yêu cầu giao diện đó cho tất cả các thành phần của

máy khách. Ví dụ, một thành phần máy chủ có thể thay thế một thành phần khác ngay cả
khi nó có một đặc tả khác, miễn là đặc tả của nó bao gồm các giao diện tương tự mà các
thành phần máy khách yêu cầu.

20


BẢNG 1.2. So sánh COP với OOP và SP
Khả năng

SP

OOP

Phân chia và quản lý
• Quản lý sự phức tạp
• Chia vấn đề lớn thành những phần nhỏ hơn





Thống nhất dữ liệu và chức năng
• Một thực thể phần mềm kết hợp dữ liệu và các hàm
xử lý các dữ liệu đó
• Cải thiện sự gắn kết
Đóng gói
• Máy khách của một thực thể phần mềm được cách
ly với cách dữ liệu của thực thể phần mềm đó được
lưu trữ hoặc các chức năng của nó được thực hiện

như thế nào
• Làm giảm khớp nối
Tính đồng nhất
• Mỗi thực thể phần mềm có duy nhất một tính đồng
nhất
Giao diện
• Đại diện cho sự phụ thuộc đặc tính kỹ thuật
• Chia một thành phần đặc tả thành các giao diện
• Hạn chế sự phụ thuộc liên thành phần
Triển khai
• Đơn vị trừu tượng có thể được triển khai độc lập

21

COP





















1.6.kiến trúc dựa trên component
Đôi khi,COP và CBSE (kiến trúc dựa trên component) có thể thay thế cho nhau
trên một vấn đề.tuy nhiên, CBSE là một dạng mở tổng quát,tham gia các COP như là chỉ
một phần :
CBSE = COA + COD + COP + COM
Nơi COA,COD, và COM đại diện cho thành phần theo định hướng phân
tích,thành phần theo định hướng thiết kế và thành phần theo định hướng quản lý,CBSE
hứa hẹn sẽ tăng tốc độ phát triển phần mềm và để giảm giải chi phí bằng casclawps ráp
hệ thống từ các thành phần tiền chế phần mềm.thiết kế,phát triển và duy trì các thành
phần để tái sử dụng.tuy nhiênđó là 1 quá trình rất phức tạp để đạt yêu cầu cao không
những cần các thành phần chức năng và tính linh hoạt mà còn cần có tổ chức phát
triển.CBSE bao gồm nhiều lĩnh vực công nghệ phần mềm và các kỹ thuật khác nnhau và
vẫn còn 1 số lĩnh vực không được xác định đầy đủ.
Trong công nghệ phần mềm truyền thống quá trình phát triển phần mềm bao gồm
mội chuỗi các hoạt động hay 1 chuỗi các giai đoạn phân tích,thiết kế,lập trình,thử
nghiệm.trên CBSE các giai đoạn phát triển chính trở thành phân tích thiết kế và lắp
ráp.có thể nói rằng,các chương trình truyền thống,thử nghiệm và hội nhập là hoạt động
được thay thế trong CBSE bằng cách cung cấp và lắp ráp các thành phần.từ quan điểm
trên,có 2 loại hoạt động trên CBSE : developing for reuse (DF) and developing with reuse
(DW).DF,sự phát triển nỗ lực có thể được hướng theo phương pháp tiếp cận phần mềm
kỹ thuật truyền thống với điểm mạnh của các thành phần tiêu chuẩn.ví dụ mỗi thành phần
cung cấp 2 loại 1 cung cấp giao diện mà xác định khu vực dịch vụ cấu phần này sẽ cung
cấp và yêu cầu giao diện xác định các dịch vụ cấu phần này đòi hỏi để hoạt động đúng.
DW phần mềm tìm kiếm và truy hồi bây giờ đã trở thành các hoạt động quan trọng cho
việc xây dựng các ứng dụng

Từ quan điểm quá trình kỹ thuật , các thành phần có thể được phân thành 5 khác
nhau :
- Đặc điểm kỹ thuật
- Thành phần thực hiện
- Thành phần giao diện
- Cài đặt cấu phần
- Thành phần đối tượng
22


Chương II: Khảo sát và phân tích thiết kế hệ thống ứng dụng
2.1. Mô tả hệ thống cơ sở
Các ứng dụng danh bạ đã được tích hợp sẵn vào trong mỗi phiên bản của hệ điều
hành kèm theo máy. Danh bạ là nơi lưu trữ và bảo quản các dữ liệu liên hệ cơ bản của
người chủ sở hữu thiết bị. Nhiệm vụ của danh bạ là phục vụ người sở hữu các hình thức
như: xem số liên hệ, thêm số liên hệ, xóa số liên hệ….
Số diện thoai được lưu trong danh bạ là nơi lưu trữ khá tốt để tránh việc thất thoát
dữ liệu. Số được cập nhập mỗi khi có liên hệ mới mà trong danh bạ chưa có hay sẽ được
thêm khi số ị mất hay thay đổi. Khi cần liên lạc chủ sở hữu sẽ tìm số liên lạc theo tên hay
cuộc gọi gần đó. Các thông tin được mô tả ngắn gon như: tên chủ số liên lạc, số liên lạc,
phân loại…
Để sử dụng cơ bản những hoạt động đó cơ bản nhất là cần phải cầm thiết bị có lưu
trữ danh bạ theo người, từ đó mới có thể thực hiện chuy suất dữ liệu liên lạc và thực hiện
liên lạc
2.2. Đánh giá hệ thống cơ sở cũ
Do đây chỉ là ứng dụng được tích hợp sẵn vào mỗi hệ điều hành của máy nên còn
nhiều vấn đề bất cập:
• Lưu trữ thông tin không thật sự đầy đủ
• Có khả năng tổn thất khi bị lỗi thiết bị hay mất thiết bị
• Gây bất tiện trong quản lý sổ sách thống kê

Chưa có tính năng sao lưu dẫn tới dễ mất hay thất thoát dữ liệu. Không có chế độ
chuyển đổi đầu số mà hiện tại đang cần để thay đổi theo yêu cầu của các nhà mạng.
2.3. Yêu cầu của bài toán
Xuất phát từ một số nhược điểm đã nên ra từ hệ thống danh bạ được tích hợp sẵn
nên việc xây dựng một hệ thống ứng dụng có thể hỗ trợ hay khắc phục một số nhược
điểm cơ bản của hệ thống có sẵn là điều cần thiết và hợp lý.
Hệ thống ứng dụng “chuyển đổi đầu số điện thoại trên android ” sẽ đáp ứng một
số yêu cầu như sau:
-

Tự động hóa các thao tác sao lưu dữ liệu theo lịch hẹn giờ.
23


-

Thực hiện tính năng tìm nhanh.
Phần lưu trữ thông tin rộng để có thể lưu trữ thông tin một cách đầy đủ nhất.
Đưa ra các chức năng đơn giản mà dễ thực hiện như thêm, sửa, xóa thông tin.
Đưa ra chức năng thay đổi đầu số mà thực trạng hiện nay đang cần với thiết kế
đơn giản, thân thiện và dễ sử dụng với mọi lữa tuổi người dùng.

2.4. Phân tích thiết kế hệ thống chức năng

Muốn xây dựng thiết kế hệ thống “ chuyển đổi đầu số điện thoại trên android ”
thì vấn đề đầu tiên chúng ta phải phân tích hệ thống nhằm tìm và lựa chọn giải
pháp thích hợp, biện pháp cụ thể.
Trong quá trình phân tích để chuyển từ bài toán thì các sơ đồ chức năng và
sơ đồ luồng dữ liệu giúp ta dễ dàng xác định được yêu cầu của người dùng. Giúp ta
nhìn tổng quát về cách quản lý, sử dụng thực tế và hệ thống của ta sẽ thiết kế.

Trong ứng dụng “chuyển đổi đầu số điện thoại trên android” thiết bị android
chỉ có tác dụng lưu trữ thông tin một cách cơ bản để sử dụng. Còn lại thông tin lưu
chính thức sẽ được đồng bộ lên database cua hệ thống.
2.4.1. Hoạt động của hệ thống
- Giới thiệu hoạt động của hệ thống

Công tác quản lý thông tin liên hệ là công việc được coi là ai cũng có và mất
khá nhiều thời gian, công sức với mục đích phục vụ bản thân một cách cơ bản với
các nhu cầu thường ngày một các có sự liên kết logic. Hoạt động cơ bản bao gồm:
Nhập số liên lạc:
Khi chủ sở hữu có một mối liên hệ mới từ cuộc sống hàng ngày. Theo thông
tin có được người nhập thông tin sẽ kiểm tra tính đúng đắn của dữ liệu trước khi
nhập, sau đó nhập vào hệ thống để lưu trữ.
Xóa số liên lạc:
Khi chủ sở hữu không còn liên hệ với một ai đó hay vì một lý do nào đó cần
phải xóa liên hệ thì người xóa cần kiểm tra thông tin một cách chính xác trước khi
xóa. Sau khi xóa dữ liệu sẽ bị loại bỏ khỏi hệ thống.
24


Sửa số liên lạc:
Vì một lý do nào đó mà người chủ sở hữu cần thay đổi thông tin đã nhâp vào
nên có chức năng này. Người dùng cần tìm tới số liên lạc và thực hiện thay đổi.
Phân loại số liên lạc:
Để hỗ trợ trong việc tìm kiếm hệ thống sẽ có chức năng phân loại khu vực
để người dùng dễ sử dụng và tìm kiếm khi cần.
Thay đổi đầu số theo yêu cầu một cách tự động:
Để đáp ứng nhu cầu cấp thiết hiện nay là đổi hàng loạt đầu số trong danh bạ
điện thoại một cách đơn giản mà chính xác cùng nhanh nhất. Người dùng nhập yêu
cầu thay đổi từ đó hệ thống sẽ thay đổi một cách tự động.

2.4.2. Các chức năng của hệ thống
- Quản lý số liên lạc
- Quản lý thông tin liên hệ
- Tìm kiếm
- Thêm số liên lạc
- Sửa số liên lạc
- Xóa số liên lạc
- Chuyển đổi đầu số
2.4.3. Phân tích chức năng

Để diễn tả tập hợp các chức năng xử lý trong mối quan hệ theo một tiến trình
của hệ thống, chúng ta sử dụng các yếu tố hợp thành sau để giúp quá trình phân
tích, thiết kế, trao đổi dữ liệu có hiệu quả

25


×