(IJCSIS) International Journal of Computer Science and Information Security,Vol. 10, No. 4, 2012
Fuzzy Model for Quantifying Usability of ObjectOriented Software System
Sanjay Kumar Dubey, Mridu and Prof. (Dr.) Ajay Rana
Computer Science and Engineering DepartmentAmity School of Engineering and TechnologyAmity University, NOIDA, (U.P.), Indiaskdubey1@amity.edu, email@example.com and firstname.lastname@example.org
— The demand for quality oriented software system isincreasing day by day. Usability is considered as a significantquality factor for successful software system. These days mostlysoftware systems are developed using object-oriented technique.Object-oriented approach enhances the usability of softwaresystem when software engineering is combined with usabilityengineering. Inspite of such significant importance of usabilitythere is no well defined criteria to quantify usability. This paperproposes a fuzzy model to measure usability of an object-orientedsoftware system. The model takes a project, developed in javaand quantifies its usability. The obtained value is validated byusing AHP technique.
Keywords- usability, fuzzy, metrics, object-oriented system,model,AHP.
Usability is essential for quality assessment of a softwaresystem. These days demand is increasing for object orientedtechniques because they form efficient software system. Henceif usability of an efficient system like object oriented softwareis evaluated then it would be easier to develop morequalitative software products.The Institute of Electrical and Electronics Engineers defines usability as “the ease with which a user can learn tooperate, prepare inputs for and interpret outputs of a system or a component”. According to ISO 9241-11  usability isdefined as “the extent to which a product can be used byspecified users to achieve specified context of use”.Subsequently, ISO/IEC 9126-1  categorized usability a part stating internal and external software quality, defining itas “ the capability of the software product to be understood,learned, used and attractive to the user, when used under specified conditions”.Object-oriented programming (OOP) is the basic style of programming that uses objects. Object can be defined as aset of functions and data structures. OOP controls thecomplexity of a system. Features of object oriented programming are modularity, data abstraction, encapsulation, polymorphism and inheritance. Modularity means that smallcomponents of a program can be executed separately.Encapsulation means combining the data members andfunctions together in one unit and abstraction means hidingunnecessary data and highlighting the important features.Polymorphism means to reuse a particular code many timesand Inheritance means an object can share its behavior to itschild i.e. child acquires the behavior of its parent class.
Software metric is a way of evaluating some factors thatare essential for software development. These software metricsare basically used to find about accurate attributes that arerequired for design implementation. As of now only fewobject-oriented metrics are available. Also, metrics designed previously for general system are not appropriate for objectoriented system [8, 9, 19]. Hence a new suite of metrics were built for an object oriented system [1, 2, 4, 5, 10]. The metricsthat are given by Chidamber and Kemerer (CK) is used mostlyfor object oriented design because their performance issuperior in comparison to other metrics that are defined.Hence CK metrics are used in this paper for usabilityevaluation of object-oriented system.
For calculating usability of an object oriented system fivefactors are taken –class, complexity, coupling, cohesion andinheritance. These factors are chosen since they are designcomplexity factors and affect usability of object-orienteddesign system.
A class is a basic unit of OOP and it can be portrayed as aset of objects that includes same methods, attributes andrelationships.
By software complexity we mean the difficulty to preserve,modify and comprehend the software.
Coupling means the interdependency between differentcomponents or functions. Coupling is the measure of interconnections among the modules in a software structure.
Cohesion is the degree of connectivity between theattributes of a class. If parts of a class are correlated then onlyit is cohesive. It should be hard to divide a cohesive class.