Software engineering

282 views

Published on

how to test software at the design phase

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
282
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Software engineering

  1. 1. Software Design Analysis DATA WAREHOUSE PHARMACY SOFTWARE TO FIND SIZE USE TO FIND COST USE Fast Function Point Sizing COCOMO 1
  2. 2. A simple five step counting process To start at a high level, there are five steps in the process of counting FPs. They are: 1) Determine the type of count. 2) Identify the scope and boundary of the count. 3) Determine the unadjusted FP count. 4) Determine the Value Adjustment Factor. 5) Calculate the Adjusted FP Count. 2
  3. 3. Fast Function Point Sizing First of all some word must be known: External Input EI: is an elementary process in which data crosses the boundary from outside to inside. This data is coming external to the application. The data may come from a data input screen or another application. The data may be used to maintain one or more internal logical files. The data can be either control information or business information. If the data is control information it does not have to maintain an internal logical file. External Output EO: an elementary process in which derived data passes across the boundary from inside to outside. Additionally, an EO may update an ILF. The data creates reports or output files sent to other applications. These reports and files are created from information contained in one or more internal logical files and external interface files. 3
  4. 4. Fast Function Point Sizing Internal Logical IL: internal files used by software system External Interface EIF: files passed/shared between software systems External Query EQ: an elementary process with both input and output components that result in data retrieval from one or more internal logical files and external interface files. The input process does not update or maintain any FTR’s (Internal Logical Files or External Interface Files) and the output side does not contain derived data. 4
  5. 5. Tips to identify EI and EO early in life cycle EI Add Activate Amend (change and delete) Cancel Change Convert (change) Create (add) Delete Reassign Disable Disconnect (change or delete) Enable Edit (change) Insert ( add and change) Maintain (add, change, or delete) Memorize (add) EO Browse Display Get On-lines Output Print Query Reports Request Retrieve Seek Select View 5
  6. 6. Tips to identify EQ early in life cycle EQ • Input Side Click of a the mouse Search values Action keys (command buttons) Error Messages Confirmation Messages (searching) Clicking on the an action key Scrolling Recursive fields are counted only once. • Outside Values read from an internal logical file or external interface file Color or Font changes on the screen Error Messages Confirmation Messages Recursive fields are counted only once. • The combined (unique) total input and outside DET’s are used when rating EQ’s. 6
  7. 7. Notice the words are very similar to those related to external outputs. Browse Display Extract Fetch Find Gather Get Drop Down Lists Reports Look Ups On-lines Output Pick Lists Print Query Scan Seek Select Show View 7
  8. 8. EIF EQ OUTINTERFACE Pharmacy 1 SOFTWARE OUTINTERFACE pharmacy drug Pharmacy 2 customer INPUTINTERFACE has search ILF INPUTINTERFACE Pharmacy 3 EI 8
  9. 9. Now let us see the ILF . . . drug(dname,did) Pharmacy(pname,paddr,ptime) SOFTWARE pharmacy drug customer Search(cid,sdate,pname,did) Has(pname,did,price) has search ILF Customer(cphone,cid,cname,caddr,age,password) 9
  10. 10. Customer(cphone,cid,cname,caddr,age,password) 5 1 drug(dname,did) 1 1 3 1 4 1 3 1 Pharmacy(pname,paddr,ptime) Search(cid,sdate,pname,did) All the tables Have Low L Has(pname,did,price) Record Element Types (RETs) Data Element Types (DETs) DET 1-19 RET 1 2 to 5 6 or more 20-50 51+ L L A L A H A H 10 H
  11. 11. Customer(cphone, cid, cname, caddr, age, password) 5 1 1 3 7 x 5= 35 1 4 Pharmacy(pname,paddr,ptime) 1 3 drug(dname,did) 1 1 Search(cid,sdate,pname,did) Has(pname,did,price) Complexity Points Low 7 Average 10 High 15 Record Element Types (RETs) Data Element Types (DETs) 1-19 1 2 to 5 6 or more 20-50 51+ L L A L A H A H 11 H
  12. 12. 9 Customer(cphone, cid, cname, caddr, age, password) Search(cid, sdate, pname, did) Pharmacy(pname, paddr, ptime) Has(pname, did, price) 2 6 7 x 3= 21 drug(dname, did) 2 1 Complexity Points Low 7 Average 10 High 15 Record Element Types (RETs) 1 Data Element Types (DETs) 1-19 1 2 to 5 6 or more 20-50 51+ L L A L A H A H 12 H
  13. 13. Now let us see the EIF . . . EIF Pharmacy 1 SOFTWARE pharmacy drug Pharmacy 2 customer has search ILF Pharmacy 3 13
  14. 14. Now let us see the EIF . . . Pharmacy(pname,paddr,pphone,ownertype,Dr_name) EIF Pharmacy 1 Schedual(open,close,pname,datename) Date(datename) Pharmacy 2 Has_s(pname,dname) Specialday(dname) Drug(did,dname,company) Pharmacy 3 Has_d(price,pname,did,enddate,proddate) 14
  15. 15. Complexity Points Low 5 Average 7 High 10 Data Element Types (DETs) 1-19 20-50 51+ L L A L A H A H H 15
  16. 16. Pharmacy(pname,paddr,pphone,ownertype,Dr_name) 5 1 Schedual(open,close,pname,datename) 4 1 Date(datename) 1 1 7 x 5= 35 Has_s(pname,dname) Specialday(dname) Drug(did,dname,company) Has_d(price,pname,did,enddate,proddate) 2 1 1 1 2 1 5 1 16
  17. 17. Pharmacy(pname,paddr,pphone,ownertype,Dr_name) 5 1 Schedual(open,close,pname,datename) Date(datename) 4 2 4 x 5= 20 Has_s(pname,dname) Specialday(dname) Has_d(price,pname,did,enddate,proddate) Drug(did,dname,company) 2 7 2 2 17
  18. 18. Now let us see the EI & EQ. . . EQ DET FTR OUTINTERFACE Interface1(pname,paddress,ptime) 3 3 OUTINTERFACE Interface2(price,pname,paddress) 3 3 OUTINTERFACE Interface3(pname,paddress) 2 1 OUTINTERFACE Interface4(cname,pass) 2 1 18
  19. 19. EQ Interface1(pname,paddress,ptime) OUTINTERFACE Interface2(price,pname,paddress) high complexity level Interface3(pname,paddress) INPUTINTERFACE Interface4(cname,pass) Complexity Low 3 Average 4 High 6x 4= 24 Points 6 File Type Referenced (FTR ‘s) Data Element Types (DETs) 1-5 0-1 2-3 4 or more 6-19 20+ L L A L A H A H H 19
  20. 20. EI have low complexity level INPUTNTERFACE Complexity Low 3 Average 4 High 3 x 1=3 Points 6 File Type Referenced (FTR ‘s) Data Element Types (DETs) 1-4 0-1 2 3 or more 5-15 16+ L L A L A H A H H 20
  21. 21. EO Error message: - invalid Drug name . Error message: - invalid pharmacy name. - invalid Drug name . Confirmation message: -pharmacy name. registration . - invalid Thank you for your Error message 2 All have low complexity level 1 4 x 3=12 Confirmation message 1 1 File Type Referenced (FTR ‘s) Data Element Types (DETs) Complexity Points 1-5 6-19 20+ Low 4 0-1 L L A Average 5 2-3 L A H High 7 4 or more A H H 21
  22. 22. Unadjusted Function Point: Type of Component External Inputs Complexity of Components Low Average High 1 x 3 = 3 ___ x 4 = ___ ___ x 6 = ___ External Outputs 3 x 4 = 12 External Inquiries 4 x 6 = 24 ___ x 4 = ___ Internal Logical Files 3 x 7 = 21 ___ x10 =___ ___ x 15 = ___ External Interface Files 4 x 5 = 20 ___ x 7 = ___ ___ x 10 = ___ ___ x 5 = ___ Total ___ x 7 = ___ ___ x 6 = ___ Total Number of Unadjusted Function Points 71 22
  23. 23. Determine the Value Adjustment Factor The 14 GSCs 1. Data Communication 2. Distributed data processing 3. Performance 4. Heavily used configuration 5. Transaction rate 6. Online data entry 7. End user efficiency 8. Online update 9. Complex processing 10. Reusability 11. Installation ease 12. Operational ease 13. Multiple sites 14. Facilitate change TDI 3 2 4 2 1 3 3 2 2 4 3 4 5 4 42 23
  24. 24. VAF & Adjusted Function Point Count VAF = (TDI*0.01) + 0.65 = (42 *0.01)+ 0.65 = 1.07 Adjusted FP Count = Unadjusted FP Count * VAF = 71 * 1.07 = 75.97 Code is in C++……. 1 FP  64 LOC 75.97  4862.08 LOC = 4.86208 KLOC 24
  25. 25. Estimation of efforts . Effort Applied = ab(KLOC)bb =3 (4.86208)^1.12 = 18 [ man-months ] Development Time = cb(Effort Applied)db = 2.5 (18)^ 0.35 = 6.87 [months] People required = Effort Applied / Development Time[count] = 18 / 6.87 = 3 Software project ab bb cb db Organic 2.4 1.05 2.5 0.38 Semi-detached 3.0 1.12 2.5 0.35 Embedded 3.6 1.20 2.5 0.32 25
  26. 26. By Ahmad Karawash, PhD, Canada Ahmad.karawash@gmail.com 26

×