You are on page 1of 32

Cng ngh phn mm

Cc quy trnh phn mm

Ni dung
Cc m hnh quy trnh phn mm tng qut Process iteration Cc hot ng chung nht ca cc quy trnh Agile process Rational Unified Process CASE Computer-aided software engineering

Quy trnh phn mm


Quy trnh phn mm (software process) l mt tp cc hot ng cn thit pht trin mt h thng phn mm: c t - Specification; Thit k - Design; Thm nh - Validation; Tin ha - Evolution. Mt m hnh quy trnh phn mm l mt biu din tru tng ca mt quy trnh. Mt m t v mt quy trnh t mt gc no .

Cc m hnh quy trnh phn mm tng qut


M hnh thc nc The waterfall model
Tch bit cc pha c t v pht trin.

Pht trin tin ha Evolutionary development


Cc hot ng c t, pht trin v thm nh xen k nhau.

CNPM da thnh phn Component-based SE


H thng c lp rp t cc thnh phn sn c.

C nhiu bin th ca cc m hnh ny (kt hp cc m hnh khc nhau)


v.d. hot ng pht trin dng quy trnh kiu thc nc nhng hot ng c t c lm mn qua nhiu bc cho n khi t c mt thit k ci t c.

M hnh thc nc
Requirements definition

System and software design


Implementation and unit testing

Integration and system testing Operation and maintenance


5

Cc pha trong m hnh thc nc


Phn tch v nh ngha yu cu Thit k h thng v phn mm Ci t v kim th n v Tch hp v kim th h thng Vn hnh v bo tr
Nhc im chnh ca m hnh thc nc l kh khn ca vic sa i sau khi quy trnh vo gung. Pha ny phi c hon tt trc khi bc vo pha tip theo.
6

Cc vn ca m hnh thc nc
Kh p ng vic khch hng thay i yu cu. do vic phn d n thnh cc giai on tch bit Ch thch hp khi cc yu cu c hiu r v t c thay i trong quy trnh pht trin. t h thng doanh nghip c cc yu cu n nh t thay i theo thi gian. Ch yu dng cho cc d n h thng ln, khi mt h thng c pht trin ti cc a im khc nhau.

Pht trin tin ha


Pht trin thm d (exploratory development)
Mc ch l lm vic vi khch hng v tng bc pht trin (evolve) t mt c t s lc ban u ti mt h thng l sn phm cui cng.
nn bt u t mt b yu cu c hiu r v b sung cc tnh nng mi khi khch hng xut.

Cc phin bn th nghim dng tm (throw-away prototyping)


Mc ch hiu cc yu cu h thng.
nn bt u t b yu cu khng c hiu r c th lm r u l ci thc s c yu cu.
8

Pht trin tin ha


Cc hot ng song song
Specification M t s lc outline description

Initial version

Development

Intermediate Intermediate Intermediate version version version


Final version

Validation

Pht trin tin ha


Vn
Tnh quy trnh khng th hin r rng; Cc h thng thng c cu trc ti; i hi cc k nng c bit
v d k nng dng cc ngn ng cho vic xy dng cp tc cc phin bn th nghim (rapid prototyping)

ng dng
cho cc h thng kch thc nh v trung bnh; Cho mt s phn no ca h thng ln (chng hn giao din ngi dng); cho cc h thng ch dng trong thi gian ngn.
10

CNPM da thnh phn


da trn vic ti s dng mt cch c h thng cc h thng c tch hp t cc thnh phn c sn hoc cc h thng COTS (Commercial-off-the-shelf sn sng ngi dng mua v ci vo my) Cc pha trong quy trnh Phn tch thnh phn (component analysis); Sa yu cu (requirements modification); Thit k h thng trong ti s dng; Pht trin v tch hp. Cch tip cn ny ngy cng c s dng nhiu, khi cc chun thnh phn bt u xut hin.

11

Pht trin hng n ti s dng

Requirement specification

Component analysis

Requirement modification

System design with reuse

Development and integration

System validation

12

Process iteration
Cc yu cu h thng LUN LUN thay i trong qu trnh thc hin mt d n, do trong quy trnh cho cc h thng ln lun c vic lp li quy trnh (process iteration) m trong cc giai on qua c thc hin li. Vic lp li c th c p dng cho bt k m hnh quy trnh tng qut no. Hai cch tip cn (c lin quan)
Chuyn giao tng dn Incremental delivery; Pht trin kiu xon c Spiral development.
13

Chuyn giao tng dn


Vic chuyn giao c chia thnh cc t. Gn u tin cho cc yu cu, cc yu cu c u tin cao nht cn c p ng ngay t cc t u tin Mt khi hot ng pht trin cho mt t bt u, b yu cu dng c ng bng, cc thay i i vi yu cu c dnh cho t sau.

14

Pht trin tng dn


Define outline requirement Assign requirements to increments Design system architecture

Develop system increment

Validate increment

Integrate increment

Validate system

System incomplete

Final system
15

u im ca pht trin tng dn


Khch hng sm c bn giao sn phm dng c (theo tng phn). Cc t u ng vai tr phin bn th nghim (prototype) h tr vic lm r b yu cu cho cc t sau. Ri ro thp i vi tht bi ton b d n. Cc dch v h thng c u tin cao nht c xu hng c kim th nhiu nht.

16

Pht trin kiu xon c


Quy trnh c biu din di dng xon c thay v mt chui cc hot ng vi cc bc quay lui. Mi vng trong ng xon c i din cho mt pha trong quy trnh. Khng c cc pha c nh nh pha c t hay pha thit k - cc vng xon c la chn ty theo nhu cu. Cc ri ro c nh gi mt cch tng minh v c gii quyt trong sut quy trnh.

17

M hnh xon c
Xc nh mc tiu, cc la chn khc, v cc rng buc
phn tch ri ro phn tch ri ro

nh gi cc la chn, xc nh v gii quyt cc ri ro

phn tch ri ro
phn tch ri ro REVIEW

Operational prototype Prototype 3 Prototype 2

Prototype 1 Simulation, models, benchmarks Concept of Operation W/S requirements

Requirements plan Life-cycle plan

Development plan Integration and Test plan

Requirement validation Test design

Product design

Detailed design Code

Unit test

Lp k hoch pha tip theo

Service

Integration Acceptance test test

Pht trin, kim nh sn phm ca mc tip theo


18

Cc phn khu trong m hnh xon c


t mc tiu xc nh cc mc tiu c th ca pha. nh gi v gim ri ro nh gi cc ri ro v sp xp cc hot ng gim cc ri ro chnh yu. Pht trin v thm nh Chn mt m hnh pht trin cho h thng, y c th l mt trong cc m hnh tng qut. Lp k hoch Review d n v lp k hoch cho pha tip theo ca ng xon c.
19

Cc hot ng chung nht ca cc quy trnh

c t Thit k v ci t Thm nh Tin ha

20

c t yu cu phn mm
Quy trnh thit lp danh sch cc dch v c yu cu v cc rng buc i vi hot ng ca h thng v vic pht trin h thng. Quy trnh k ngh yu cu
Nghin cu tnh kh thi Feasibility study; Thu thp v phn tch yu cu Requirements elicitation and analysis; c t yu cu Requirements specification; Thm nh yu cu Requirements validation.

21

Quy trnh k ngh yu cu


Requirements elicitation & analysis

Feasibility study

Requirements specification
Feasibility report System models User and system requirements Requirements validation

Requirements documents
22

Thit k v ci t phn mm
Quy trnh bin i t c t h thng thnh mt h thng chy c. Thit k phn mm
Thit k mt cu trc phn mm m hin thc ha c c t;

Ci t
Dch cu trc thnh mt chng trnh chy c;

Cc hot ng thit k v ci t c quan h cht ch vi nhau v c th xen k.


23

Cc hot ng quy trnh thit k


Thit k kin trc Architectural design c t tru tng Abstract specification Thit k giao din Interface design Thit k thnh phn Component design Thit k cu trc d liu Data structure design Thit k thut ton Algorithm design

24

Quy trnh thit k phn mm

25

Lp trnh v tm li
l hot ng dch mt thit k thnh mt chng trnh v loi b li trong chng trnh . lp trnh l mt hot ng c nhn khng c quy trnh lp trnh tng qut. trong quy trnh tm li (debugging process), lp trnh vin thc hin vic kim th chng trnh pht hin li trong chng trnh v loi b cc li .

26

Thm nh phn mm
Kim nh (verification) v thm nh (validation) nhm chng t rng mt h thng
tun theo c t ca n, v tha mn cc yu cu ca khch hng h thng.
Verification Validation

bao gm cc quy trnh checking v review v kim th h thng (system testing).


Vic kim th bao gm vic chy h thng vi cc test case c dn xut t c t.

27

Tin ha h thng

Define system requirements

Assess existing systems

Propose system changes

Modify systems

Existing systems

New system

28

Tin ha phn mm
V mt c hu, phn mm c tnh mm do v c th thay i. Cc yu cu thay i do s bin i ca cc hon cnh doanh nghip, phn mm h tr doanh nghip cng phi tin ha v thay i theo. Tuy c mt ranh gii gia pht trin v tin ha (bo tr), ranh gii ny ngy cng t ngha khi ngy cng t h thng hon ton mi.

29

Key points
Tin trnh phn mm l tp cc hot ng c thc hin sn xut v tin ho phn mm. Cc hot ng chung nht ca cc tin trnh phn mm l c t yu cu, pht trin, thm nh v tin ho phn mm. Cc m hnh tin trnh m t vic t chc cc hot ng ca tin trnh phn mm.

30

Key points
Requirements engineering is the process of developing a software specification. Design and implementation processes transform the specification to an executable program. Validation involves checking that the system meets to its specification and user needs. Evolution is concerned with modifying the system after it is in use. The Rational Unified Process is a generic process model that separates activities from phases. CASE technology supports software process activities.

31

Reminder
Your homework Your group project
At least 2 and at most 5 groups per topic Some groups need to reconsider your choice, or lecturer will change yours.

32

You might also like