Paper Menu >>
Journal Menu >>
![]() Journal of Software Engineering and Applications, 2011, 4, 345-349 doi:10.4236/jsea.2011.46039 Published Online June 2011 (http://www.SciRP.org/journal/jsea) Copyright © 2011 SciRes. JSEA 345 Improvement of Software Quality Attributes in Object Oriented Analysis and Design Phase Using Goal-Question-Metric Paradigm Hitesh Rajput1, Lalit Kumar Singh2 1Product Engineering Services, Patni Computers, Navi Mumbai, India; 2Department of Atomic Energy, Nuclear Power Corporation of India Ltd, Bhabha Atomic Research Centre, Mumbai, India. Email: rajputhitesh0@gmail.com, lalit.rs.cse@itbhu.ac.in, lksingh@npcil.co.in Received April 19th, 2011, revised May 16th, 2011; accepted May 24th, 2011. ABSTRACT In a competitive busine ss landscape, large organizations such as insurance companies and banks are under high pres- sure to innovate, improvise and distinguish their products and services while continuing to reduce the time-to market for new product introductions. Traditional approaches to software reliability modeling for such software are black box-based. Bad structure or model again can lead us to lower down these non functional properties. The basic con- structs of the model are objects. We will not deal about the identification of the objects, as may be referred in many books, but how to model those objects. The objective of this paper is to provide an philosophical approach, using Goal-Question-Metric paradigm, to structure or model the identified objects of software system, in better way to im- prove the quality of th e software. Keywords: Software Reliability, OOAD, Class, Object, Association, GQM, MFC 1. Introduction Many companies invest significant resources and effort in software development. Because of today’s high market demands for software; its size, complexity, qu ality needs are increasing rapidly. Due to which the various prob- lems, specific for software development, viz planning difficulties, unknown or bad quality, projects are never ended, milestones that are reached months or years too late, or developers who are working mostly unstructured, under high stress; are also increasing. Those problems are generally known as “software crisis” and are being tackled by ‘Software Process Improvement’ (SPI) [1]. The object-oriented paradigm gives us tools for fighting the software crisis: Object-oriented techniques make it possible for us to handle large systems, change them, reuse parts of old systems in new systems, ease the communication between customer and developer, and much more. When we are fighting the software crisis we are fighting human nature and human inability to handle complexity. The performance/price ratio has exploded for hardware, whereas the increase in the performance/ price ratio is hardly noticeable for software. Worse than this quantity problem is the quality pro- blem. The quality problem is due to lack of SPI. One of the ways to handle is problem is through object-oriented modeling. The act of making model is known as model- ing. A model is a representation of a real-world process, device or concept [IEEE-729]. When we start building a system, we might find tangible and non tangible items (ideas, etc). All these must be put in our model. So, mod- el is the collection of real objects that exist in the world by applying our ideas. This can be understood with the help of Figure 1. Basic concepts used in object-ori- ented modeling are objects, classes, attributes and mes- sages and important concepts such as information hiding. We thus need a technique that can be used to arrange our model so we can look at it both in detail and, when needed, in larger chunks, hiding its internal details. The mind mapping technique is an excellent example of how good structures can in crease our ability to manag e a larg e number of details. We find lot of things when modeling but what do we find? Purpose is a key. Utility is in the eye of beholder. We cannot tell if we are going in the right direction until you know where we want to go. So we propose to make the use of Goal-Question-Metric approach to model the ![]() Improvement of Software Quality Attributes in Object Oriented Analysis and Design Phase 346 Using Goal-Question-Metric Paradigm Figure 1. Real objects and ideas are put in the model. objects or our system(in broad sense). The GQM approach to process and metrics, first sug- gested by Basili and his colleagues, has proven to be a particularly effective approach to selecting and imple- menting metrics [Basili and Weiss, 1984; Basili and Rombach, 1 98 8 ]. The GQM paradigm is explained in Section 2. This paper is organized as follows: in Section 2, GQM paradigm is explained. Section 3 focuses on the way to model the reality, based on GQM. Section 4 concludes the paper. 2. The GQM Paradigm Many metrics programs begin by measuring what is convenient or easy to measure, rather than by measuring what is needed. Such programs often fail because the resulting data are not useful to the developers and main- tainers of the software. A measurement program can be more successful if it is designed with the goals of the project in mind. The GQM approach provides a frame- work involving three steps [2,3]: 1) List the major goals of the development or main- tenance projec t. 2) Derive from each goal the questions that must be answered to determine if the go als are being met. 3) Decide what must be measured in order to be able to answer the questions adequately. The GQM paradigm provides a method for top-down metric definition and bottom-up data interpretation (Fig- ure 2). 3. Relationship of GQM and Model of the Identified Objects i n Th eo re ti cal Perspective We know the various methods to identify the potential objects like Use case text, CRC models, etc. Once we find the potential objects, to model them, we demonstrate that Goal-Question-Metric will be able to help in this regard. We must follow the following steps: 1) What is our purpose-our intention? Our purpose is obviously to find the potential objects. So the GOAL is to model the potential objects. 2) Now we should ask various set of QUESTIONS like what are the requirements of our system, what are Figure 2. The Goal-Question-Metric paradigm. Copyright © 2011 SciRes. JSEA ![]() Improvement of Software Quality Attributes in Object Oriented Analysis and Design Phase 347 Using Goal-Question-Metric Paradigm the possible ways through which objects can be shown or in what possible forms the objects can be shown. These questions can be answered with the help of requirements specification or analysis models. 3) Now we can select the required form of the objects with the help of domain knowledge or requirements spe- cification. 4. Applying GQM to Model the Reality in Object Form We feel that the GQM paradigm can be adequately used to model (object derivation) the reality because the real- ity can be modeled in number of ways, depending on the Goal. This can be illustrated with the help of following two examples: Example 1 [3]. Nature of fundamental particles likes electrons, protons, neutrons, etc. It became palpable that the particles did not always behave as something that had a well-defined shape and size. Apparently, the funda- mental particles in some experiments behaved as parti- cles with characteristics like mass and electric charges, where as in other experiments they behaved as waves producing diffraction patterns (see Figure 3). The model needed to explain an experiment depended on the intent or goal of the experiment. Example 2. Classification of Nuclear Power Plant (NPP)-the people who live near to NPP will classify it in one way (probably launch complaint about the radiation exposure or machinery noise). The people who use its electricity will classify it in some different way (probably like a dynamo without their own control). The people who are into maintenance of NPP will classify it in other way. When we try to describe computer systems, so various purposes also yield various models. We always have to define a clear goal, otherwise modeling situation will soon become very awkward indeed. Let us assume that in Nuclear Power Plant there is a Nitrogen Tank to cre- ate some Pressure, may be for process requirement. Be- ing an important object, NPP Engineering group also store many tanks in the store. Now this situation can be modeled by GQM paradigm as in Figure 4. If the pur- poses of modeling nitrogen tank because we need it to pressurize the system, then it is better to model two dif- ferent simple objects rather than one complex object, else to model only one complex object is sufficient (see Figure 5). we shall store a tank in a store is very differ- ent from the purpose of modeling a nitrogen tank be- cause we need it to pressurize the system, then it is better to model two different simple objects rather than one Figure 3. An electron can behave like a wave or a particle depending on goal. Figure 4. Use of GQM to model the object (Nitrogen Tank) of NPP. Copyright © 2011 SciRes. JSEA ![]() Improvement of Software Quality Attributes in Object Oriented Analysis and Design Phase 348 Using Goal-Question-Metric Paradigm Figure 5. (a) One way to model nitrogen tank, (b) Other way to model nitrogen tank. complex object, else to model only on e complex obj ect is sufficient. The above concept has also been implemented in Document/View Architecture [4] in (Microsoft Foundation Classes) MFC. The MFC multiple-document interface (MDI) architecture is focused on opening multi- ple documents of the same class. The document class contains the internal representation of the application data. For each new or opened document the framework creates an instance of Cdocument. The frame class de- scribes the user interface of document windows of the application, typically MDI frames. The view class sh ow s a [5] graphical representation of the document type. All classes are as CObject subclasses. In MFC the CDocu- ment based classes act as observers for the views at- tached to them. Whenever user modifies document data via one of the views the view notifies the associated document by calling its UpdateAllViews() member. The document then notifies all views that are attach ed to it by calling their OnUpdate() member. The views can then redraw their data based on the hints passed to them as parameters (see Figure 6). The above method is ju st like a brainstorming in which our set of questions is a tool to make a discussion take a new and different direction. 5. A Comparative Study in between the Classical Approach and the Proposed Philosophical Approach The classical approach to model the objects is very nicely given in the text book by Pressman [6], in which a data object can be treated an external entity, anything that produces or consumes information, a thing like report, an occurrence like telephone call, event, a role, a place or a structure. It has been stated that according to the re- quirements the data object should be modeled but no technique or model is given for that. In this case a mod- eler can model the object which may lead to many changes in the future, may be during development phase. Figure 6. Observer in document/view model. Copyright © 2011 SciRes. JSEA ![]() Improvement of Software Quality Attributes in Object Oriented Analysis and Design Phase 349 Using Goal-Question-Metric Paradigm So modeler may have to re-model the objects which could be very costly and time consuming, which can slip off the deadline. As we have seen above, our method provide a clear cut method to model the object during the analysis or design phase to overcome the flaws, using the traditional method. 6. Conclusions The concept of Goal-Question-Metric paradigm [7-8] has been proposed to model the identified objects, which are the basic constructs of model, of the software system, in better way for the improvement of non functional proper- ties, which are the quality attributes of software. Two examples have been used for illustratio n. REFERENCES [1] S. Sigfried, “Understanding Object-Oriented Software Engineering,” IEEE Press Understanding Science & Technology Series, Piscataway, New Je rsey, 1995. [2] N. E. Fenton and S. L. Pfleeger, “Software Metrics, A Rigorous and Practical Approach,” 2nd Edition, Interna- tional Thomson Computer Press, Boston, 1996. [3] R. V. Solingen, et al., “Improvement by Goal-Oriented Measurement,” Proceedings of European Software Engi- neering Process Group Conference, 16-20 June 1997, Amsterdam, The Netherlands, p. 11. [4] SDI (Single Document Interface) and MDI (Multiple Document Interface) Documents, “Views and Framework (MFC),” 2005. http://www.msdn.microsoft.com/en-us/library/b2kye6c4( v=vs.80).aspx [5] Multiple Document Interface, “Multiple Document In- ference,” August 2007. http://www.en.wikipedia.org/wiki/ Mul-tiple_d ocument_in- terface [6] R. S. Pressman, “Software Engineering: A Practitioner’s Approach,” McGraw-Hill Science Engineering Publica- tion, New York, 2004. [7] L. Cyra, et al., “Extending GQM by Argument Struc- tures,” International Federation for Information Proc- essing (IFIP), Vol. 5082, 2008, pp. 26-39. [8] F. V. Latum, R. V. Solingen, M. Oivo, B. Hoisl, D. Rombach and G. Ruhe, “Adopting GQM-Based Meas- urement in an Industrial Environment,” Software IEEE, Schlumberger RPS, Vol. 15, No. 1, 1998, pp. 78-86. Copyright © 2011 SciRes. JSEA |