Tải bản đầy đủ (.pdf) (349 trang)

Bai giang cong nghe phan mem

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 (12.85 MB, 349 trang )

Công nghệ phần mềm

1


Phầnmềm(Software)






Địnhnghĩa
Vaitrò
Nhữngđặctrưngchính
Phânloại
Tiêuchíphầnmềmtốt

2


Phầnmềm– Địnhnghĩa
• Phần mềm gồm chương trình máy tính và tất cả
các tài liệu và dữ liệu liên quan
– Các chương trình
– Các tệp cấu hình
– Các tài liệu hệ thống
– Tài liệu người dùng
– Websitescập nhật thông tinsản phẩm

• Phần mềm luôn gắn với một hệ thống cụ thể


3


Phầnmềm– Phânloại
• Phần mềm dùng chung
– Tác giả sở hữu đặc tả phần mềm
– Bán rộng rãi
– MicrosoftOffice,AngryBirds

• Phần mềm đặt hàng
– Làm riêng cho một khách hàng cụ thể
– Khách hàng sở hữu đặc tả
– Hệ thống quản lý đào tạo Đại học Quốc gia Hà Nội
4


Phầnmềm– Vaitrò
• Làm thay đổi phong cách làm việc của tổ chức
• Tăng hiệu suất làm việc của đơn vị
• Ảnh hưởng đến nền kinh tế quốc gia
– Nền kinh tế của tất cả các nước phát triển đều phụ
thuộc vào phần mềm
– Tiền chicho phần mềm chiếm một tỷ lệ quan trọng
trong GNPcủa tất cả các nước phát triển

5


Phầnmềm– Cácđặctrưngchính
• Phần mềm vốn dĩ phức tạp

• Yêu cầu phần mềm không ngừng thay đổi
– Nhu cầu conngười
– Quy trình quản lý
– Hạ tầng phần cứng

• Nhu cầu sử dụng phần mềm ngày càng tăng lên

6


Phầnmềm– Tiêuchíphầnmềmtốt
• Tính bảo trì được

– Phần mềm phải tiến hóa để đáp ứng các nhu cầu liên tục
thay đổi

• Tính tincậy được
• Tính hiệu quả

Cái gì quan trọng nhất?

– Phần mềm không nên sử dụng tài nguyên hệ thống một
cách lãng phí

• Tính chấp nhận được

– Phần mềm thỏa mãn được yêu cầu của người dùng:người
dùng hiểu được,dùng được nó,và nó tương thích với các
hệ thống khác
7



Phầnmềm– Tổngkết
• Phầnmềmcóvaitròquantrọng
• Pháttriểnphầnmềmlàcôngviệcphứctạp,rủiro
Cầnápdụngcácphươngpháptiêntiến

8


Kỹnghệphầnmềm– Kháiniệm
• Các lý thuyết,các phương pháp và các công cụ hỗ
trợ cho phát triển phần mềm
• Áp dụng các lý thuyết,các phương pháp,các công cụ
phù hợp trong quá trình sản xuất phần mềm dưới các
ràng buộc về tổ chức và tài chính.
• Phát triển các lý thuyết,các phương pháp,các công cụ
hỗ trợ quá trình sản xuất phần mềm.
Cáchtiếpcậncótổchứcvàcóhệthống
9


SE- Cácyếutố
• Phương pháp (method)
– Cách làm cụ thể để xây dựng phần mềm
– Mỗi công đoạn làm phần mềm có các phương pháp riêng

• Công cụ (tool)
– Thực hiện tự động/bán tự động các công đoạn làm phần
mềm

– ComputerAidedSoftwareEngineering(CASE-Tools)

• Quy trình (process)
– Các bước thực hiện và thứ tự các bước
– Đầu vào,đầu ra ởmỗi bước
10


SE- Cáchoạtđộngchính
• Các hoạt động tổng quát trong mọi quy trình phần
mềm
– Đặc tả (specification)– hệ thống cần làm gì và các ràng
buộc
– Phát triển (development)– tạo ra hệ thống phần mềm
– Thẩm định (validation)– kiểm tra xem phần mềm có
đúng như khách hàng muốn haykhông
– Tiến hóa (evolution)– sửa đổi phần mềm để đáp ứng
các nhu cầu thay đổi.
11


Softwareprocesses
• Tiến trình phần mềm (softwareprocess):
Một lộ trình với các hoạt động dự kiến trước nhằm
tạo ra một phần mềm chất lượng,hiệu quả,và
đúng hạn.
– Các hoạt động đặc tả,phát triển,thẩm định,tiến hóa

• Mô hình tiến trình phần mềm (softwareprocess
model)

Trừu tượng hóa của một lớp các tiến trình thực.
– Ví dụ:mô hình thác nước
12


Môhìnhthácnước
Requirements
Design
Implementation
Waterfall
method

Testing
Deployment &
Maintenance

13


Pháttriểnlặp
• IBMRationalUnifiedProcess(RUP)

14


Agilemethods

15



Agilemethods

16


SE– Tổngkết
• Kỹ nghệ phần mềm bao gồm việc phát triển các lý
thuyết,các phương pháp và các công cụ hỗ trợ quá
trình sản xuất phần mềm và việc áp dụng chúng vào
các quá trình sản xuất phần mềm thức tế.
• Tiến trình phần mềm bao gồm các hoạt động cần thực
hiện để phát triển phần mềm
• Phương pháp phần mềm mô tả cách thức thực hiện
các hoạt động phát triển phần mềm
• Công cụ phần mềm hỗ trợ việc xây dựng phần mềm
17


Côngnghệphầnmềm
Cácquytrìnhphầnmềm

18


Nộidung








Các mô hình quy trình phần mềm tổng quát
Processiteration
Các hoạt động chung nhất của các quy trình
Agileprocess
RationalUnifiedProcess
CASE– Computer-aidedsoftwareengineering

19


Quytrìnhphầnmềm
• Quytrìnhphầnmềm(softwareprocess)làmộttậpcáchoạtđộng
cầnthiếtđểpháttriểnmộthệthốngphầnmềm:
– Đặctả- Specification;
– Thiếtkế- Design;
– Thẩmđịnh- Validation;
– Tiếnhóa- Evolution.
• Mộtmôhìnhquytrìnhphầnmềmlàmộtbiểudiễntrừutượngcủa
mộtquytrình.
– Mộtmôtảvềmộtquytrìnhtừmộtgócđộnàođó.

20


Cácmôhìnhquytrìnhphầnmềmtổngquát
• Môhìnhthácnước– Thewaterfallmodel
– Táchbiệtcácphađặctảvàpháttriển.


• Pháttriểntiếnhóa– Evolutionarydevelopment
– Cáchoạtđộngđặctả,pháttriểnvàthẩmđịnhxenkẽnhau.

• CNPMdựathànhphần– Component-based SE
– Hệthốngđượclắpráptừcácthànhphầnsẵncó.

• Cónhiềubiếnthểcủacácmôhìnhnày(kếthợpcácmôhìnhkhác
nhau)
– v.d.hoạtđộngpháttriểndùngquytrìnhkiểuthácnướcnhưnghoạtđộng
đặctảđượclàmmịnquanhiềubướcchođếnkhiđạtđượcmộtthiếtkế
càiđặtđược.

21


Môhìnhthácnước
Requirements
definition
System
and
software
design
Implementation
and unit testing
Integration
and system
testing
Operation
and
maintenance

22


Cácphatrongmôhìnhthácnước






Phântíchvàđịnhnghĩayêucầu
Thiếtkếhệthốngvàphầnmềm
Càiđặtvàkiểmthửđơnvị
Tíchhợpvàkiểmthửhệthống
Vậnhànhvàbảotrì
Nhược điểm chính của mô hình thác nước là khó
khăn của việc sửa đổi sau khi quy trình đã vào
guồng. Pha này phải được hoàn tất trước khi
bước vào pha tiếp theo.
23


Cácvấnđềcủamôhìnhthácnước
• Khóđápứngviệckháchhàngthayđổiyêucầu.
– doviệcphândựánthànhcácgiaiđoạntáchbiệt
• Chỉthíchhợpkhicácyêucầuđượchiểurõvàítcóthayđổitrong
quytrìnhpháttriển.
– Íthệthốngdoanhnghiệpcócácyêucầuổnđịnhítthayđổitheo
thờigian.
• Chủyếudùngchocácdựánhệthốnglớn,khimộthệthốngđược

pháttriểntạicácđịađiểmkhácnhau.

24


Pháttriểntiếnhóa
• Pháttriểnthămdò(exploratorydevelopment)
– Mụcđíchlàlàmviệcvớikháchhàngvàtừngbướcphát
triển(evolve)từmộtđặctảsơlượcbanđầutớimộthệ
thốnglàsảnphẩmcuốicùng.
• nênbắtđầutừmộtbộyêucầuđượchiểurõvàbổsungcáctính
năngmớikhikháchhàngđềxuất.

• Cácphiênbảnthửnghiệmdùngtạm(throw-away
prototyping)
– Mụcđíchđểhiểucácyêucầuhệthống.
• nênbắtđầutừbộyêucầukhôngđượchiểurõđểcóthểlàmrõ
đâulàcáithựcsựđượcyêucầu.
25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×