Urgenthomework logo
UrgentHomeWork
Live chat

Loading..

CO4403 Coursework Assignment

Explain and appropriately use key programming constructs

Critique and compare different software development approaches

Answer:

Introduction:

This report is going to discuss about the various attributes that are explained in the Paper named “Evaluating the Impacts of Object-Oriented Design on Software Quality” by “Fernando Brito e Abreu” and “Walcelio Melo”. The main agenda of this report is to critically analyse the impacts of the Object-Oriented Design on the software’s quality by the use of certain experiments. The use of a suite metrics for the OO design namely “MOOD” has been used for the purpose of measuring the use of the OO design mechanism (Larman 2012). Data was collected from different eight small-sized information management systems so as to access all the impacts referred in the paper. All this systems were under development or was based upon the identical requirements. The results that were obtained from the experiments also helped in understanding the various characteristics of the mechanism required for the design. This report also discusses about the predictive model (which would be using the OO design matrix) that has been proposed in the paper (Heyner and Mills 2012).

Discussion:

The first portion of the paper discusses about the topic how the software metrics are helpful for the mangers which includes various activities of the development life cycle of a software like the costing, scheduling and many more. The factors of the products are also going to have an influence over the quality of the final software along with the process factors. Activity like the analysis of the design helps in understanding the skeleton used for the implementation of supporting the system and the requirements of the system along with defining them. And this often offers several degree of liberty. The various decisions that are taken on the best alternatives are having a fuzzy character and which is mostly dependent on the judgements that are made by the experts. In the design phase a very important role is played by the cumulative knowledge (Lee 2013). For the purpose of easing these open problems the intensive patterns, frameworks and other reusable components are used but the major drawback is that the current practices are still lagging behind in adopting all this (Dennis Wixom and Tegarden 2015). Exposure of the new designers are done to the numerous number of the design decisions so as to create an influence over the final result surely. One of the greatest motivation is the prediction of the features of the final outcome. And this in turn will help a lot in the designing process as well by application of “Heuristics”. The heuristics which is well-known for the object oriented designs is the “Law of Demeter”. The main objective of this Law is to restrict the message sending structure involved in the methods so as to organise and reduce all the dependencies included in between the classes.


This paper aims at evaluating the various impacts of the OO design on the characteristics of the software quality and this might include the “defect density or the rework” by the use of validation of various experiments (Adiga 2012). For the purpose of measuring the characteristics of the OO design MOOD has been used which is a suite of metrics has been adopted. The different motivations that mainly lies behind the MOOD set definition were “coverage of the basic structural mechanisms of the object-oriented paradigm as encapsulation, inheritance, polymorphism and message-passing”, “formal definition to avoid subjectivity of measurement and thus allow replicability”,” size independence to allow inter-project comparison, thus fostering cumulative knowledge” and “language independence to broad the applicability of this metric set by allowing comparison of heterogeneous system implementations”.

The report consists the ways of evaluating the different sections of the paper and this includes different things like the experiment in which the processes along with the product metrics are collected, the portion which consists of the statistical analysis of the data that are collected, the discussions regarding the validation of the metric sets that were adopted and lastly the proposal for the predictive models (Ferreira et al. 2012).

Understanding of the controlled experiment for the collection of data: 

Various impacts that the OO design is having on the quality of the software has been evaluated which consists of the degree that has been examined so as look into the correlation od the MOOD metrics with the density of the defect along with the rework which is normal. The paper consists of the data that they have gathered by making use of the controlled experiment by the “University of Maryland”. The experiment consists of the population that was being studied were mostly the graduates and the classes of senior level which was mainly offered by “Department of Computer Science” at the “University of Maryland”. All the students who took part in this experiment had an experience of C or C++ programming along with the relational database. Random groups were formed amongst the students and each was given the responsibility of developing a medium sized “management information system” which would be helping in the process of giving support to the processes involved in the rental or return service which also includes a video rental business which is hypothetical and along with this there is a maintenance of the customer as well as video database. The experiment that was conducted for the development process performed in accordance to the sequential way involved in the software engineering life cycle model similar to that of the Waterfall model. And the various steps involved in this model were analysis of the data, making of the design, implementation of the design, testing of the product and finally comes the repairing. And at the each step a document was to be created which was then delivered and this included the various requirements and the design of the documents along with the codes, the error reports and the modified codes (Dittrich Dayal and Buchmann 2012). The specifications of the design and the documents of the designs were reviewed by one of the experts so as to verify if they were matching the requirements of the system. If any types of errors were found in the first two phases, then they were to be reported to the students so as to guarantee the beginning of the perfect OO analysis along with the design. A group of experienced software professionals helped in the testing phase of the experiment (Xinogalos 2015). What the group did was testing of all the systems in accordance to the similar type of test plans and by the use of different software testing technique. And in the repairing phase of the software the students were advised for correcting their respective systems which were mainly dependent on the various errors that were identified by the group. Consistency of the current practices with the developing environment and technology were used in the industry as well as the academics. During the process of Analyzing along with the designing method of the OMT is used which is also a method of analyzing and designing of the OO method. During the process of implementation phase the “C++ programming language”, “the GNU software” and the “OSF/MOTF” was used. Exemplification of the ways of using the OSF/Motif widget was done by the use of various small programs along with the library source code and the document completed were also made available (Fedorov and Hackl 2012). For the purpose of making the experiment more representative to the real world a domain specific application library was provided. The implementation of the graphical user interface during the process of inserting and removing of the customers is done by this library.

Understanding of the data collected:

As a part of this experiment both the products and the data of the process were collected and only the relevant data were used which would be helped in the MOOD metrics validation process. “MOODKIT” is the tool which is used for the purpose of extracting the “MOOD” metric from the “C++” or the “Eiffel source code” that has been built and was to be maintained by the “INESC” (Liang 2013). Another tool which runs on the “UNIX” platform is the “MOODKIT V2” is having an “Motif” interface along with this the usage of this is also free for those peoples who are available during the collection of the data (Tonks et al. 2012).

Understanding of the Process Data

In order to understand the collected rework efforts forms were distributed to the developers so as to keep a track of the time that they are spending in isolation of the errors along with the time they are taking in correcting the errors. The total number of defects that were identified was also reported along with their collection. Here defect is referred to as the generic designation which mainly refers to the errors or the faults. And this errors and faults can be termed as the two pertinent ways which is used for the collection of the defects and for that reason both of this are included in this experiment (Mago and Kaur 2012). The definitions of error can be stated as the defect present in the thinking of the human which generally occurs during the understanding of the information’s that are provided or during the problem solving process or by the use of methods or tools. And along with the fault can be defined as the concrete manifestations of the errors that occurs inside a software. For the purpose of this experiment the error can be represented by a single report form and along with this fault can be represented as the physical change that occurs in a component.

Understanding the results of the experiment:

To understand the impacts of the OO properties on the quality of the software project:

Determining the correlation that exists between the “MOOD” metric and the measurement of the defect density quality is associated with provide certain evidences which proves the relationship which exists between the OO design and the software projects quality. And after this determination of the correlation various factors have been identified like the “method hiding factor”, “attributes hiding factor”, “method inheritance factor”, “attribute inheritance factor”, “polymorphism factor” and lastly the “coupling factor” (Zuo 2013).

Understanding of the various factors

Method Hiding Factor(MHF): This is the moderate negative correlation which consists of the defect density as well as the rework. With the increase in the MHF there is a decrease in the defect density as well as the fixing efforts on the errors. So it is as similar to the procedural abstraction which will be supporting the “top-down development” approach which will be initially helping in increasing the quality of the product (Blaschek 2012). So it can be stated that “top-down development approach” can be used for the purpose of making the product which would be having a high quality. The effort needed for fixing of the errors can be reduced as the density of the defect decreases.

Attribute Hiding Factor (AHF): There is no such significant correlation. This becomes little surprising due to the fact that there were expectations regarding a bigger impact on the quality of the software because of data encapsulation. The encapsulation mechanism supports the hiding of the information which will be copping up with the various type of complexities by considering the components that are complex in nature like the “black boxes” and which in turn reduces the “side effects”. In ideal situations all this attributes are hidden and the class methods can only access this and mainly lies in the corresponding areas.

Method Inheritance Factor(MIF): This factor has a little moderate negative correlation with the density’s that are faulty and along with this a has a correlation that is negative as well as high having error density as well as rework measures that are normalized in nature. Which states that when the MIF increases the density of the defects as well as the spent efforts in solving the errors also decreases. By this it can be better understood that the inheritance id one of the controversial concept in OO design and along with this it also seems that this the appropriate technique which can be used for the reduction of the density of the errors and the rework (Huda Arya and Khan 2015).

Attributes Inheritance factor(AIF): This factor is having a correlation that is low in character and along with this it is also negative with respect to the fault density and along with this also has negative correlation which is moderate in character with the density of the errors as well as the rework measures.

Polymorphism Factor(POF): This factor is having a correlation which varies from moderate to high with the densities of the faults and the errors along with the errors as well. This helps in understanding the fact that for the purpose of using polymorphism in the OO projects design appropriately will help in decreasing the rework as well as the density of the defects. The quality benefits will be greatly reduced if the POF are in high rate (Montgomery 2012).

Coupling Factor(COF): This factor is having a high correlation with the quality measures which is positive in nature. These helps in supporting the fact the coupling between various classes will led to an increase of the density of defects and the normalized rework as well. The results which were derived from the experiment help in understanding the fact that the coupling that exists between various software systems will be having a great negative effect over the quality of the software and should also be avoided during the designing phase of any project (Huda Arya and Khan 2015).

Conclusion:

This report helps a lot in moving a step ahead towards understanding the fact that how can a design of the software affect the quality of the software. In the experiment discussed above the “MOOD set” of metric was adopted so as to understand the measures and the different characteristics of the OO design. And the results of the experiment help in understanding the fact that the alternatives of the various designs will have different effects on the quality of the software. By the process of quantifying the influences will greatly help in providing training the novice designers by the process of heuristics that are embedded in the tools used for the designing purpose. It can also be understood that as the results are predictive along with being reliable and maintainable serves as an important factor for the managers of the project while allocation of the resources in a process or during the planning.

References:

Adiga, S., 2012. Object-oriented software for manufacturing systems. Springer Science & Business Media.

Blaschek, G., 2012. Object-oriented Programming: With Prototypes. Springer Science & Business Media.

Dennis, A., Wixom, B.H. and Tegarden, D., 2015. Systems analysis and design: An object-oriented approach with UML. John Wiley & Sons.

Dittrich, K.R., Dayal, U. and Buchmann, A.P. eds., 2012. On object-oriented database systems. Springer Science & Business Media.

Fedorov, V.V. and Hackl, P., 2012. Model-oriented design of experiments (Vol. 125). Springer Science & Business Media.

Ferreira, K.A., Bigonha, M.A., Bigonha, R.S., Mendes, L.F. and Almeida, H.C., 2012. Identifying thresholds for object-oriented software metrics. Journal of Systems and Software, 85(2), pp.244-257.

Heyner, A.R. and Mills, H.D., 2012. Object-Oriented Design. Studies in Computer Science: In Honor of Samuel D. Conte, p.191.

Huda, M., Arya, Y.D.S. and Khan, M.H., 2015. Quantifying Reusability of Object Oriented Design: A Testability Perspective. Journal of Software Engineering and Applications, 8(04), p.175.

Larman, C., 2012. Applying UML and Patterns: An Introduction to Object Oriented Analysis and Design and Interative Development. Pearson Education India.

Lee, R.Y., 2013. Object-Oriented Design. In Software Engineering: A Hands-On Approach (pp. 147-168). Atlantis Press.

Liang, Y.D., 2013. Introduction to Java programming: brief version. Pearson.

Mago, J. and Kaur, P., 2012, April. Analysis of quality of the design of the object oriented software using fuzzy logic. In Proceedings of the International Conference on Recent Advances and Future Trends in Information Technology (pp. 21-25).

Montgomery, S. ed., 2012. Object-oriented information engineering: analysis, design, and implementation. Academic Press.

Tonks, M.R., Gaston, D., Millett, P.C., Andrs, D. and Talbot, P., 2012. An object-oriented finite element framework for multiphysics phase field simulations. Computational Materials Science, 51(1), pp.20-29.

Xinogalos, S., 2015. Object-oriented design and programming: an investigation of novices’ conceptions on objects and classes. ACM Transactions on Computing Education (TOCE), 15(3), p.13.

Zuo, W., 2013. An object-oriented graphics interface design and optimization software for cross-sectional shape of automobile body. Advances in Engineering Software, 64, pp.1-10.


Buy CO4403 Coursework Assignment Answers Online

Talk to our expert to get the help with CO4403 Coursework Assignment Answers to complete your assessment on time and boost your grades now

The main aim/motive of the management assignment help services is to get connect with a greater number of students, and effectively help, and support them in getting completing their assignments the students also get find this a wonderful opportunity where they could effectively learn more about their topics, as the experts also have the best team members with them in which all the members effectively support each other to get complete their diploma assignments. They complete the assessments of the students in an appropriate manner and deliver them back to the students before the due date of the assignment so that the students could timely submit this, and can score higher marks. The experts of the assignment help services at urgenthomework.com are so much skilled, capable, talented, and experienced in their field of programming homework help writing assignments, so, for this, they can effectively write the best economics assignment help services.

Get Online Support for CO4403 Coursework Assignment Help Online

Copyright © 2009-2023 UrgentHomework.com, All right reserved.