• Wrong document? Swap it for free
  • Written by students who passed
  • Immediately available after payment
  • Read online or as PDF
Sell
Where do you study
Your language
Document preview thumbnail
Preview 1 out of 14 pages
Essay

Brunel - Computer Science - Software engineering (pass)

Document preview thumbnail
Preview 1 out of 14 pages

This is an assignment I had completed during my final year at Brunel University for software engineering while studying computer science. This assignment was marked as pass or fail only. I had passed this assignment. This assignment includes me stating which metrics I believe are most important to me, taking a java project from Github and describing it, using Jhawk on the project, creating box plots of different metrics of different classes of the project, I also used Pearsons correlation, Kendall and spearman's correlation to see if there is a correlation between different metrics, I also creased a scatter graphs to display the correlation between metrics better. Throughout creating and using these different graphs, coefficients, boxplots and more, I have described what it could potentially mean for the project.

Content preview

1)
I think the most important feature of code is class size. If a class becomes too large, then the class will become
too difficult to manage and is likely to result in more comments in comparison to if the class was broken down
to subclasses. If the class size is huge, then it is likely that it contains many methods and long methods
compared to if the class was broken down to subclasses, since when having multiple classes there are likely to
be more methods but more manageable chunks of code. Overall, large classes itself leads to other code smells
which have a highly negative impact, and therefore it would be best to avoid classes from being too large.

One metric would be weighted methods per class (Sommerville, 2011) if the complexity of the class becomes
too complex then it would be a good indicator to break the class into subclasses to keep the classes easy to
understand. Likewise, if a class isn’t complex enough it could be an indication to make the class a bit more
complex, otherwise it may become confusing managing too many classes.

Another metric would be depth of inheritance tree which takes the number of discrete levels in the
inheritance tree where subclasses inherit attributes and methods from super classes (Sommerville, 2011), if
the inheritance tree is too deep then it would mean the design is more complex, which would mean the design
of the classes would need to be looked into and perhaps if class sizes are too small and that’s the reason for
having a huge inheritance tree it could be better to have bigger class sizes.

Another metric would be number of children (Sommerville, 2011) as it measures the number of subclasses in a
class, it may be better to break a class into subclasses to make it easier to understand, although having too
many subclasses may make maintainability a bit more complicated, which is why it’s good to have a right
number of children.

Another metric would be coupling between object classes (Sommerville, 2011) if coupling is too highly
dependent between classes which means it is more likely changing one of the classes with the impact the
other classes within the program. If a class is too dependent it could then become difficult to break the class
into smaller subclasses which could lead to a large class.

2)
I chose project “Java” (GitHub, 2019). This project has 33 commits, 1 contributor, 0 releases, and 1 contributor.
From the contributor’s graph, the project’s first commit was on November 22 nd 2015 and last commit was on
November 30th 2015 which means the project is likely completed as it hasn’t been updated in so long.
Furthermore, the duration of the project was only 8 days. The contributor wrote 39958 lines and removed 386
lines, which means the contributor wrote a total of 39572 lines. There are over 2,700 forks which is probably
because the original owner of the repository hasn’t updated the repository in years, and users which have an
interest in this project have forked their own updated version so other users with an interest can use their
updated version instead. The project also has over 5,000-star rating which is considerably high for this
respiratory.

Document information

Study
Uploaded on
May 21, 2020
File latest updated on
December 16, 2020
Number of pages
14
Written in
2019/2020
Type
Essay
Professor(s)
Unknown
Grade
Unknown
$28.92

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Seller avatar
Reputation scores are based on the amount of documents a seller has sold for a fee and the reviews they have received for those documents. There are three levels: Bronze, Silver and Gold. The better the reputation, the more your can rely on the quality of the sellers work.
xeon
3.7
(320)
Sold
1164
Followers
850
Items
33
Last sold
1 year ago



Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions