The application of and unresolved problems regarding the use of objectives in software engineering

One of the first items which should be identified in resolving a problem or need is an objective in the various fields of knowledge as it enables determining which results must be achieved. Objectives are the starting point in identifying goals, processes, tasks and the people in charge; moreover, activities defined to fulfil their follow-up are based on a set of proposed objectives and enable evaluating results. This article shows how objectives can be defined and used in various fields, especially in software engineering, and depicts the flaws found.

How to cite: How to cite: Lezcano L.A., Guzmán J. A., Tamayo P. A. (2012).The application of and unresolved problems regarding the use of objectives in software engineering.Ingeniería e Investigación.Vol. 32, No. 2, August 2012, pp. 63-67.taking the technique used into account in the various fields of knowledge, the objectives to be fulfilled in reaching organisational goals must be defined.The field of software engineering is no exception; several authors have used objectives for requirement elicitation; nevertheless, its definition has several flaws such as the characterisation and hierarchisation of the objectives used.
Applying objectives in the fields of knowledge Organisational field Rauscher et al., (1997), Twery et al., (1998) and Nute et al., (2000) have managed ecosystem administration by means of systems supporting object-and goal-orientated decision-making.They deal with basic aspects to fulfil objectives such as hierarchical structure of objectives, identifying objectives and problems and objectives and problem-solving.Norad (1997) created a manual for developing objective-based projects using LFA.Camacho et al., (2001) also used this approach in building problem-solving-based development objectives, leading to attempting to construct an objectives tree.
Educational field Bloom et al., (1956) used verb taxonomy in writing objectives in education; they defined cognitive, affective and psychomotor fields of human knowledge involved in correct learning.They emphasised cognitive sub-field verbs as they led to recognising information and complex skills.Clair and Baker (2000) designed an instructional objective writing assistant (IOWA) on-line tool which has instructions and suggestions for correctly and completely writing observable and quantifiable objectives.The authors based their work on the taxonomy of verbs created by Bloom et at., (1956).Bateman (1993) defined the minimum objectives for flight-school students to be able to use real training devices.A student would face a computerised system based on instructions for carrying out tasks, objectives and curricula.Each field had an associated set of objectives, such as behaviour, conditions and standards.Each objective was given a value rendering a student's grade.Koren et al., (2005), Huyck et al., (2006) and Ferguson et al., (2007) created an inter-professional projects programme (IPRO) consisting of a method for evaluating knowledge acquisition related to specific skills and behaviour (communication, ethics, project administration and group work) by means of objectivebased learning and defining competence.Gacitúa (2001) has also used Bloom's verb taxonomy for identifying requirements.et al., (2004) defined a multi-vision model for analysing requirements in complex systems involving functionalism, abstraction, structural and quality views regarding the abstraction contemplated in an initial objective and its relationship to scenarios.It used the following diagrams: a business description model, scenario generation, multi-vision requirement approximation, an overall process, a refined objective and a scenario tree.Quartel et al., (2009) presented a language named ARMOR for modelling corporate objectives and requirements; they used graphic tools to obtain the traceability of concerned parties' needs and evaluate alternative architectures.Poernomo et al., (2008) defined a methodology to be integrated within a computational independent model (CIM) of an architecture-orientated model (AOM) using a set of diagrams to identify the needs of the parties interested in it.It used a KAOS objective diagram (Lamsweerde, 2000).Yamin et al., (2010) have added requirements' traceability to the method which Poernomo et al., (2008) developed, and an extended method has been applied in a case study in the field of international law.

Jeongwook
Anton (1998) presented a limited set of verbs which might be used to write objectives, classifying them into three categories: maintenance, upgrading and performance.Anton has also proposed a goal-based requirements analysis method (GBRAM) containing a method based on heuristics for resolving which arise when elucidating and specifying objectives.Activities included in GBRAM were integrated into an input-process-output model in which the process was divided into analysis and refinement (Anton 1996(Anton , 1997(Anton , 1998)).Anton et al., (1996) presented a weborientated tool which supported objective-based requirements analysis.Thomas and Oliveros (2005) presented the use of scenarios as a source of identifying objectives using a GBRAM model strategy, starting from Leite et al.,'s schema of scenarios (Leite et al., 1996 and2000).Bolchini and Paolini (2002) presented a methodology for web application requirements analysis, combining requirements engineering aimed at scenario-based objectives and techniques, using an ubiquitous web application (UWA) model for documenting objectives, concerned parties' requirements, concerned parties and process refinement.This methodology has been used in projects for developing applications ( 2004), specifying digital library requirements (Bolchini and Paolini 2002), developing hypermedia web applications (Bolchini et al., 2003) and designing informal web communication (Bolchini and Randazzo 2005).Zapata and Lezcano (2009) characterised verbs to formulate objectives starting from verbs' conceptual lexical structures (CLS), thematic roles and linguistic classification of verbs.They used an algorithm allowing them to extract a verb computational lexicon fulfiling their characterisation.Lezcano (2007) presented a proposal which included seven heuristic rules for identifying elements and drawing up a KAOS objectives diagram, using a natural controlled UN-Lencep language as their starting point (Zapata et al., 2006).The diagram so obtained was hierarchical and linked actors with their corresponding responsibilities.Zapata et al., (2008) validated Lezcano's proposed method (2007) and used three case studies included in the specialised literature to do so.Mylopoulos et al., (1999Mylopoulos et al., ( , 2001) ) presented five stages making up an objective-orientated analysis.These stages included objectives, flexible objectives, correlating flexible objectives, correlating an objective and evaluation of alternatives.To illustrate this technique, they analysed a scenario implying a definition of requirements for a system for programming meetings.Hadad et al. (2009) used future scenarios for identifying requirements; they presented a device for requirement priority compatibilisation based on decomposing objectives into sub-objectives using scenarios as a bridge to transfer priorities from subobjectives to requirements.Santos et al., (2010) presented a top-level process for systematically describing a business process model and notation (BPMN) update by representing variability in objective trees.This approach promoted linking business process models, objective models and their mutual traceability.Martinez andCechich (2005 and2007) determined software requirements from the discussion of an analyst and a concerned party regarding a global objectives chart.They used a predefined list of objectives obtained in accordance with the concerned party's needs and they used what they named as a cognitive load determining the party's degree of "satisfaction".Park et al., (2004) and Kim et al., (2006a and2006b) identified dominion requirements through objectives and scenarios, representing them by means of a set of variables used in cases.They used four levels of hierarchical abstraction (business, service, interaction and an internal level) of requirements to describe the proposed model's structure of objectives and scenarios.Kavakli and Loucopoulos (1999, 2002and 2003) examined modelling objective requirements in terms of five methodological orientations: understanding an organisation's current situation, recognisinga need to change, providing a context to deliberate RE, correlating a system's business objectives and functional and non-functional components and using a system for validating specifications regarding a concerned party's objectives.Giorgini et al., (2003) defined and analysed a formal model for objectives by forward and backward reasoning.Forward reasoning is centred on spreading all starting values forward towards all the objectives on a diagram.Backward reasoning is centred on a reverse search to enter possible values that may lead to obtaining a final desired value submitted to undesired restrictions.Giorgini et al., (2005) illustrated the formal use of a model for objectives by means of a set of cases regarding the formal use of an objectives model; furthermore, they implemented an objectives' reasoning tool.Cooper et al., (2005 and2006) made a first approach towards integrating an RUP methodology with an objectives diagram (Kruchten, 1999); they emphasised functional and non-functional requirements and search traceability from an RUP towards an objectives diagram.Moreover, they presented the way to fulfil top-level and subrogated objectives by means of a diagram.Estrada et al., (2003) and Martinez et al., (2006) defined an objective-based methodological approach for generating business models and used such models as a starting point for specifying requirements in software development.They defined the methodology via an educing method to constitute refined goal-based objectives, enabling the capture of an organisation's context, language i* (Yu, 1995) to create a strategic model and a strategic model for obtaining functional specifications along with their corresponding scenarios.Loucopoulos and Karakostas (1995) described a set of techniques used in eliciting requirements.It originated with users, thereby allowing concerned parties to express their needs openly, and presented the following difficulties: concerned parties do not clearly know what they want, they have problems expressing and/or conveying their knowledge and they use vocabulary unknown to an analyst.Hence, the objectives of a future piece of software cannot be clearly established.It involved analysis of forms.This is a compilation of data structured by means of variables supporting data input and its corresponding retrieval.Dominion-related aspects of a problem may be omitted by means of this technique since a concerned party has no active participation in the construction of forms.It did not contemplate using objectives.It involved task analysis, referring to a set of processes analysing and describing the way concerned parties perform their tasks.It focused on an existing system's tasks but did not include the use of objectives.It did involve scenarios describing the characteristics a piece of software should fulfil through a sequence of steps.This technique caused a counter-sense as objectives were used in the definition phase, coming prior to the use of scenarios.

Problems related to using objectives in software engineering
Characterising verbs for objectives Spanish and languages in general consist of a large set of verbs representing activities, achievements, feelings, etc. Bloom et al., (1956), Gacitúa (2001), Anton (1998) and Zapata and Lezcano (2009) have defined a set of verbs which may be used as objectives; nevertheless, there are no clear guidelines, rules or standards to allow one to determine whether a verb may be used to define an objective.Moreover, there are no guidelines enabling one to determine whether an objective has been well formulated; this is done via the experience of the people who participated in doing so.

Hierarchisation of verbs for objectives
Within a set of verbs susceptible to being used as verbs for objectives, none of the authors identified their hierarchisation for establishing relationships among objectives to determine which verbs may serve to define general objectives or which specific objectives or which objectives may be subrogated from others.The works of Rauscher et al. (1997), Twery et al., (1998), Nute et al., (2000), Camacho et al., (2001), Zapata and Lezcano (2009), Hadad et al., (2009), Santos et al., (2010) and Martinez andCechich (2005 and2007) was hierarchised through the intervention of an expert responsible for determining, prioritising and subrogating objectives.

Software tools supporting the formulation of objectives
Some computer aided software engineering (CASE) tools have been described by Clair and Baker (2000), Bateman (1993), Koren et al., (2005), Huyck et al., (2006), Quartel et al., (2009), Anton (1998) and Giorgini et al., (2003) allowing and facilitating analysts' objective formulation.One can also find tools leading to a person's competence and skill evaluation while carrying out a set of tasks.Nonetheless, none of these software tools support defining, characterising and hierarchising objectives, as an expert in the field determines which objectives are to be used and their relationships with each other.
Table 1 summarises the problems detected in the proposals; it presents six characteristics of the proposals as follows: characterising verbs and objectives, hierarchising verbs and objectives, requiringan expert's intervention to define objectives and being supported by a software tool and an area of usability.

Conclusions and future work
Defining objectives is of great importance in every field of knowledge, as one may define the strategies an organisation or person must follow to attain desired results using them as a starting point.In the works analysed here, one can observe that objectives have been used to evaluate a person's skills and competences and as a reference point for fulfilling needs and/or an organisation's mission.This article has reviewed the use of objectives in various fields, more specially in software development, and has identified the following problems: verbs have not been characterised to allow objectives to be formulated, verbs or objectives have not been hierarchised to enable subrogating specific objectives from general objectives and the verbs used to formulate objectives have been selected depending on the expe-rience and knowledge of the personnel in charge.Based on the aforementioned reviews, one can suggest several susceptible aspects when starting research work, such as:

•
Defining a set of heuristic rules leading to characterising and hierarchising verbs for defining objectives; • Constructing or complementing a software tool automating the very concept of objectives in promoting errorreduction; and

•
Obtaining a semi-automated graphical representation of an objectives' diagram and its elements.