0% found this document useful (0 votes)
10 views4 pages

SoftwareTechnik Ex 02 Annotated

The document contains a student submission for a software engineering exercise. It includes results for exercises on cyclomatic complexity, cost estimation, and reliability attributes. The submission includes graphs, calculations, and explanations of the results.

Uploaded by

fdyj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views4 pages

SoftwareTechnik Ex 02 Annotated

The document contains a student submission for a software engineering exercise. It includes results for exercises on cyclomatic complexity, cost estimation, and reliability attributes. The submission includes graphs, calculations, and explanations of the results.

Uploaded by

fdyj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

12/12

Submission for Software Engineering Exercise 2

Student: Mehmet Kaan Isik, Maher Brahim


Matriculation number: 5360154, 4558529

May 1, 2024

Task 1.1 1.2 1.3 2.1 2.2 2.3


Completed ⊠ ⊠ ⊠ ⊠ ⊠ ⊠
Feedback □ □ □ □ ⊠ ⊠

1
Mehmet Kaan Isik, Maher Brahim Submission SS 2024

1 Exercise 1 – Cyclomatic Complexity 5/5


1.1) v(G) = e − n + p
Number of edges: e = 26
Number of nodes: n = 10 + 6 + 5 = 21 (nodes are marked with the corresponding line numbers)
External connections: p = 2
v(G) = 26 − 21 + 2 = 7

Entry

24

25

26

28

30 51

52

37 38

53

40 41
54

47
43
Exit
46

44

Figure 1: control flow graph (CFG) for the method quickSort()

1.2) v(Glef t ) = 4 − 4 + 2 = 2
v(Gright ) = 3 − 3 + 2 = 2
From the example graph 2 we can see that v(Glef t ) = v(Gright ). This is due to the fact that adding a
node also adds an edge so that they cancel each other out at the end.

2
Mehmet Kaan Isik, Maher Brahim Submission SS 2024

Entry Entry

1
1 Without auxiliary nodes

2 3
2 3

Exit Exit

Figure 2: A control flow graph example with (left) and without (right) auxiliary node.

2 Exercise 2 – Cost Estimation 7/7


2.1) A 6 − 7 person team is expected to work a total of between 1080 (6 people · 180 hours) and 1260
(7 people · 180 hours) hours. To determine the total development effort in person-months (PM), we
assume that one person-month to be equivalent to 160 hours. Hence, the estimated effort in PM is
between 6.75 hours ( 1080 1260
160 ) and 7.875 hours ( 160 ).

2.2) Using the Delphi Method, the KLOCpars can be estimated in the following 3 steps:
step 1: First estimations
- Game Mechanics and Logic: 11-12 KLOC
- System Integration: 3-4 KLOC
- Graphics Rendering and Interface: 4 KLOC (for 2D) or 7 KLOC (for 3D)
- Network and Multiplayer Handling: 6 KOLC
- Sound Management: 5 KLOC
step 2: second estimations
- The Kloc number ranges between 6 and 10 KLOC in the second estimation round.
step 3: final estimation:
- The final estimate is determined by calculating the median and thus amounts to KLOCpars = 8
KLOC.
2.3) Nominal Reliability: Failure of the Software can lead to failing a class, which can be repeated
afterwards, which can be recovered just by taking the class again.
Low Database Size:
High Control Operations: As a Game has many moving parts, usage of nested structures with
compound predicates may be needed for certain implementations. Stack Control is also needed for, at
least in our case, for visualization.

3
Mehmet Kaan Isik, Maher Brahim Submission SS 2024

Nominal to High Computational Operations: Computational Calculations should be nominal,


but depending on the implementation of the group, like an isometric game, certain projections might
be used.
Nominal Device-Dependant Operation: I/O devices such as controllers might be used, which
forces the students to make sure the correct input method is used, or displayed.
Nominal Data Management Operations: The Monogame framework enabled students to deliver
a single output file, the game executable, using multiple input files.
Nominal Runtime Performance Constraints: So long as the game is playable on the given system,
the execution time constraint of it is relatively low.
Nominal Memory Constraints: The game should be able to run with nominal Memory constraints,
due to given performance constraints.
Low Virtual Machine Volatality: The test system is a Windows 7 OS, which has not had major
changes for a long time.
Very High Computer Turn Around Time: As an agile development method used, each new task
were to be completed in a week, usually the developer were informed, and delivered with the result
during the following week’s meeting.
Very High Analyst Capability: The project will be analyzed by Tutors and the Professor.
Low- Nominal Applications Experience: Most of the group are 3rd Semester Students, thus have
limited experience.
Low - Nominal Software Engineer Capability: As the project is made by 3rd semester Students,
they had average capability.
Very Low - Low Virtual Machine Experience:
Very Low Experience: As C# was not offered by the university, most students had limited experi-
ence with it.
Low Modern Programming Practices: As one the main purposes of this project being introducing
students to modern programming practices and planning, usage of such practices by students is low.
Low of Software Tools: A language compiler and an IDE has been used for the Project. Usage of
real time OS’s, and anything similar was not used.
Nominal Required Schedule: The project should be completed until the end of the given term,
therefore, it should be finished within the time limits, neither before or after the given deadline.
2.4) E = (3.2) · (8)1.05 · (1.17) = 33.23, given this is a 6 to 7 person team, divided 6 gives us 5.54 Person-
Months.
The main reason for the difference between the time prediction is that, in 2.1 its just assumed 180 hours
of work per person is needed, whereas using COCOMO calculations, the cost estimation is calculated
in a more detailed manner, thus giving us a more involved estimation.

The biggest factor to consider is that COCOMO is an industrial standard from


the 70s/80s . Modern programming practices have made programming easier,
and also your estimation is for a student project. Overall good work :)

You might also like