Professional Documents
Culture Documents
Received October 7th, 2011; revised November 14th, 2011; accepted November 27th, 2011.
ABSTRACT
Software requirements engineering deals with: elicitation, specification, and validation of software requirements. Fur-
thermore there is a need to facilitate collaboration amongst stakeholders and analysts. Fewer efforts were deployed to
support them in performing their job on a day to day basis. To solve this problem we use knowledge management for
software requirements engineering. This paper proposes a knowledge management framework, based on the SECI
model of knowledge creation, aimed at exploiting tacit and explicit knowledge related to software requirements within a
given software project. The core part of the proposed framework is a set of four sub systems Socializer; External-
izer; Combiner; and Internalizer, attached to a couple of domain ontologies and a set of knowledge assets. In-
deed we aim to facilitate a semantic based interpretation of knowledge assets related to software requirements by re-
stricting their interpretation through the application domain and software requirements ontologies. We anticipate that
this framework would be very helpful for stakeholders as well as analysts to exchange and manage their knowledge
within a given software project. We show in the case study, through a virtual payroll project using the two-step ap-
proach: domain level requirements plus design level requirements, how the key elicitation SRE techniques are used
during the first phase of domain requirements elicitation through the four subsystems of our framework.
Keywords: Software Requirements Engineering, Knowledge Management, Domain Ontologies, SECI Model
In Section 5, we present a knowledge management fra- environment in which the software will operate. Accord-
mework in SRE based on the SECI model of knowledge ingly, the resulting SRS document should be clear, un-
creation. Then we integrate two domain ontologies to an- ambiguous, easy to understand, complete and consistent.
notate the knowledge assets related to software require- In practice, this is difficult to achieve as stakeholders inter-
ments. Section 6 illustrates the use of the proposed frame- pret the requirements in different ways and there are of-
work through a case study related to a virtual software ten inherent conflicts and inconsistencies in the require-
project in the domain of payroll. Finally the last section ments [5].
concludes the paper and points out directions for future A different understanding of the concepts involved
work. may lead to an ambiguous, incomplete specification and
major rework after system implementation [10]. In ad-
2. Software Requirements Engineering
dition, it is important to assure that all analysts and
The requirements for a system are the descriptions of stakeholders in the analysis phase have a shared under-
what the system should do, the services that it provides standing of the concepts related to the application do-
and the constraints on its operation. The process of find- main. Furthermore, even when users can express their needs,
ing out, analyzing, documenting and checking these ser- analysts find it difficult to write them accurately. The re-
vices and constraints is called requirements engineering sult is that the real needs, such as expressed by users, and
(RE) [5]. SRE is a sub-category of (RE) that deals with the requirements, such as written in SRS, dont match.
the elicitation, specification, and validation of require- SRE is concerned with interpreting and understanding
ments for software [6] and it is critical for successful stakeholders terminology, concepts, viewpoints and goals.
software development. It aims to integrate these diverse views into a shared,
Domain analysis is the process through which an ana- correct and complete SRS. Therefore, it must concern it-
lyst learns background information. Some domains might self with an understanding of beliefs of stakeholders (epis-
be very broad, such as human resources. Others are nar- temology), the question of what is observable in the
rower such as Payroll. People who have a deep know- world (phenomenology), and the question of what can be
ledge of a domain are called domain experts. Since the agreed on as objectively true (ontology). Such issues
involved analysts are often not domain experts, they must become important whenever one wishes to talk about va-
learn about the problem domain from whatever sources lidating requirements, especially where stakeholders may
of information. These include domain experts, books have divergent goals and incompatible belief systems
about the domain and existing software. The interview- [11].
ing, observation, brainstorming and prototyping techni- Gruber [12] defines ontology as a formal specification
ques can help with domain analysis [7]. of a conceptualization. A conceptualization is an abstract
The software requirements specification (SRS) is an simplified view of a domain that describes the objects,
official statement of what the system developers should concepts and relationships between them that hold in that
implement. It should include a detailed specification of domain. Ontology can be used for both, to describe re-
the system requirements [5]. It helps to understand what quirements specification [5,13] and formally to represent
the system is supposed to do and how its use can support requirements content [1]. Further, the domain model
users and satisfy stakeholders. It is critical to the success can be described using an ontology language, with vary-
of a development project. Accordingly it should be based ing degrees of formalization and expressiveness. Ontolo-
on a model in which the result is an unambiguous and gies seem to be well suited for an evolutionary approach
complete specification document. The generic IEEE stan- to the specification of requirements and domain knowl-
dard 830-1998 [8] describes recommended approaches for edge [1]. In addition, ontologies can be used to support
the SRS. It describes the content and qualities of a good requirements management and traceability [2].
SRS. It can be adapted to the considered project. Moreover semantic wikis are used in SRE process, as
Joint Application Design (JAD) and Participatory De- semantic and social-web based collaboration platforms by
sign (PD) methodologies emphasize and promote coop- the diverse stakeholders participating in this process [14].
erative work, among the various SRE actors, in devel-
4. The SECI Model of Knowledge Creation
oping the SRS [9].
In the past, there have been a number of tools facilitating
3. Using Ontologies in Software knowledge management (KM) activities, but they were
Requirements Engineering not intended to explicitly integrate knowledge sharing
The requirements on particular software are typically a and exchange. Most of the past KM research works used
complex combination of requirements from different stake- a typical top-down approach considering knowledge as a
holders at different levels of an organization and from the separate entity and focusing on the creation of central
knowledge repositories that foster knowledge reuse and Naeve et al. [23] consider the Ba as a place for inter-
collaboration. Organizations have recognized that know- active knowledge creation (this space can be physical,
ledge constitutes a valuable intangible asset for creating virtual or mental). This Ba is divided into four contexts
and sustaining competitive advantages. Knowledge shar- corresponding respectively to each knowledge mode: 1)
ing is an activity through which knowledge is exchanged Originating Ba: a space for social interaction; 2) Dia-
among members of a community or an organization. Re- loguing Ba: a place where participants share and articu-
cent research on KM clearly recognizes the importance late their mental models and skills; 3) Systemizing Ba: a
of sharing knowledge within organizations [15-17] to context where EK can be combined such as a collabo-
name but a few. rative environment; and 4) Exercising Ba: an internali-
Researchers divide knowledge into two distinct forms: zation context where knowledge is exercised through
tacit and explicit. Polanyi [18] considers knowledge as action and practice.
either tacit or rooted in tacit knowledge. The type of The third element in the SECI model is the knowledge
knowledge that we have learned so well, and embedded assets. They are defined by Nonaka [22] as a set of en-
in the unconscious mind, that we use them without thinking. terprise-specific resources, that are considered as inputs,
Nonaka [19] argues that we can know more than we can outputs as well as moderating factors of the knowledge
tell. Indeed not all our knowledge can be expressed into creation process and that are necessary to create values
objects, documents or artifacts. In 1991, Nonaka [16] for the company. Four groups of knowledge assets are
adapted the definition of tacit knowledge of Polanyi and identified in [16] by Nonaka et al.:
defined the explicit and tacit forms of knowledge. Experiential knowledge assets can be seen as hands-
Explicit knowledge (EK) is easily expressed, cap- on experiences; skills acquired through dialogue, discus-
tured, stored and reused. It can be conveyed as data and sion and shared practice.
is accessible from databases, books, manuals and mail. Conceptual knowledge assets consist of EK arti-
Tacit knowledge (TK) is difficult to express and culated through images, symbols and language. These as-
transfer to another person by means of writing it down or sets are based on the concepts held by members and stake-
verbalizing it. It is deeply rooted in action and consists holders of the community.
partly of technical skills and partly of mental models that Systemic knowledge assets consist of systematized
we do not recognize in ourselves and cannot easily spec- and packaged EK, such as explicitly stated technologies,
ify them. product specifications, manuals, and documents.
Nonaka & Takeuchi [16] propose the SECI knowledge Routine knowledge assets consist of the TK that is
creation model as a key for KM in organizations. They customized and embedded in the actions and practices of
view knowledge as an activity rather than an object and the organization.
they focus on knowledge creation, collaboration and pra- Based on SECI knowledge spiral model, Wan et al.
ctices rather than knowledge transmission as stated in [20, [24] have put forward a knowledge creation model for
21]. software requirement development. Authors consider that
The SECI model consists of three main elements: 1) knowledge dissymmetry is one of the forces that drive
four modes of knowledge conversion between the EK knowledge conversion. Therefore they argue that depen-
and TK; 2) a shared context called Ba; and 3) knowl- ding on experts on requirement, this model can reduce
edge assets. knowledge dissymmetry, and realize knowledge con-
The creation of knowledge is a continuous process of version and share more effectively and efficiently. More-
dynamic interactions between EK and TK. The four modes over Kamata [25] proposes the combination approach of
of knowledge conversion interact in the spiral of knowl- KM and chance discovery in order to do better require-
edge, Socialization; Externalization; Combination; and ments definition. KM might be effective for shallow
Internalization as following: level. The author shows how the knowledge may flow
Socialization: sharing experience to create new TK; through SECI process more sufficiently between the cus-
Externalization: articulating and converting TK to tomer and the supplier, being respectively considered by
EK. TK becomes EK through metaphors, analogies, con- the author as an application domain expert and an IT ex-
cepts, hypothesis, and models; pert.
Combination: restructuring and aggregating EK
5. A Knowledge Management Framework in
into new EK;
SRE Based on the SECI Model
Internalization: reflecting on EK and internalizing
it into TK. The domain of SRE deals with a set of processes: elicita-
The Ba can be defined as the shared context where tion; specification; and validation of software require-
the four modes of knowledge conversion happen [22]. ments. In software projects with high uncertainty, a better
actors participation increases the quality of SRS [26]. the SWORE ontology describes only a small subset of
Therefore, SRE actors should collaboratively work to im- the domain of SRE, our choice is motivated by its modu-
prove the quality of the SRS. We assume that this col- lar structure as well as its clear conceptual separation.
laboration can be improved by using a knowledge man- However we have proposed an extension of SWORE by
agement framework dedicated to SRE and based on SECI integrating further SRE concepts such as requirements
model of knowledge creation. styles and levels.
The remainder of this section describes the structure of Figure 3 visualizes an extract from the core of the
the framework and is organized into three sub sections. SWORE ontology, which was developed in accordance
The first two subsections describe how the domain on- with standards of the requirements engineering commu-
tologies and the SECI model are applied to SRE. Then nity [29]. Central to this ontology are the classesStake-
the frameworks architecture is proposed in the third sub- holder and Abstract Requirement along with property de-
section. tails. Abstract requirements have the subclassesGoal, Sce-
nario, and Requirement each of which are defined by
5.1. Applying Domain Ontologies to SRE
stakeholders and can be detailed by other abstract re-
Our proposed framework aims to facilitate a semantic- quirements. This enables the specification of abstract re-
based interpretation of software requirements and the re- quirements at different levels of granularity. The colla-
lated knowledge assets, within each SRE process, by res- borative aspects of requirements engineering are empha-
tricting their interpretation through domain ontologies. sized by integrating discussions amongst the stakeholders
Indeed, we advocate the idea that these domain ontolo- and voting in the model. In order to interlink requirements
gies can be used to describe software requirements re- with existing documents or resources, SWORE contains the
lated knowledge assets that flow through the SECI cycle classes Raw Information and Reference Point together with
of knowledge creation occurring during the SRE proc- suitable properties [28].
esses, thus providing them with a new dimension of con- Style and Level, which are drawn using shading styles,
tent reusability. are the main classes of the extended part. A software re-
Happel and Seedorf [10] differentiate between the use quirement might be specified in many styles (in plain text,
of ontologies in software engineering: 1) at development, as a diagram, as a table, screen, etc.). The goal design
such as using conceptual models of the problem domain scale is composed of 4 software requirements levels: goal
and 2) at run-time, such as adaptations. According to this level; domain level; product level; and design level [27].
classification, our approach belongs to the second ca- The goal-level requirement aims to justify why the cus-
tegory. tomer wants to spend money on the product. It can be
Two domain ontologies are used by our framework to verified, although only after some period of operation.
represent the domain knowledge: Application Domain The domain-level requirement outlines the user tasks in-
Ontology (ADO) and Software Requirements Ontology volved and requires support for these tasks. The prod-
(SRO). uct-level requirement specifies what comes in and goes
ADO involves understanding the application do- out of the product (software). It identifies only the func-
main (e.g. payroll; finance; sales; library; etc.). In order tions and features. The design-level requirement specifies
to enable effective knowledge assets understanding, we one of the product interfaces in detail.
have to further enhance semantics of their content. There-
5.2. Applying the SECI Model to SRE
fore, we recommend that they should be further enhanced
by providing application domain ontology based annota- In our approach we consider the four SECI model modes
tions of their content. Many specific application domain as they occur in each SRE process, where the main actors
ontologies exist on the Web that can be found using Swoo- are the analysts, users, managers, domain experts and other
gle1a semantic web search engine. stakeholders. In Figure 1 we adapt the SECI framework
SRO encompasses many SRE concepts. It covers described in [23] to the context of SRE. Actors individ-
many possibilities: requirements on various levels from ual knowledge will flow through the SECI cycle of know-
goal-level to design-level, different requirements styles ledge creation. The knowledge tacit or explicit that is in-
from plain text to diagramming, and from data require- put to a given mode gets through a transformation proc-
ments to quality requirements, many techniques and me- ess of dialogue, negotiation, conceptualization and agree-
thods from elicitation to validation [27]. For SRO, we ment. Each SECI mode, as shown in Figure 1, occurs in
have selected SWORE2 ontology (SoftWiki Ontology for a corresponding Ba.
Requirements Engineering) proposed by [28]. Despite Domain-related concepts and relationships of the do-
1
http://swoogle.umbc.edu/. main ontologies, located at the center of the Figure 1, are
2
SWORE is available for download at: http://softwiki.de/SWORE. used to annotate knowledge assets.
Socialization mode occurs in the originating Ba. It a prototype. Possible techniques of externalization are
is based on exciting experiences to learn from each other. taking notes (during interviews or observation), brain-
TK is shared between SRE actors to have a better indi- storming (during a close meeting) and prototyping. A
vidual understanding of the software requirements, for software requirement specification such as a data re-
instance: 1) Users might share their domain expertise, quirement represented using a data dictionary style is one
activities, preferences, problems and opinions; 2) Man- example of output of this mode. The externalization pro-
agers might share their challenges, strategies, constraints cess is controlled, among others, by the objectives of ana-
and objectives; 3) Analysts might share their background, lysts; the expression power of users in expressing their
technical points of view and solutions. One typical tech- needs; and the means and rules of externalization. At this
nique of socialization is JAD (Joint Application Design), point we are in the stage of representation (reification) of
a structured process in which users, managers and ana- knowledge.
lysts work together for several days in a series of inten- Combination mode occurs in the systemizing Ba.
sive meetings to specify or review system requirements. Separate and simple software requirements specification
As an added plus, group members are more likely to de- (EK) is further arranged into systematic and complex
velop a shared understanding of what the software is specification (EK). For example, user requirements and
supposed to do, reaching consensus. The socialization system requirements could be assembled to build an SRS.
process is controlled, among others, by the objectives, the Possible techniques of combination are based on docu-
moral values, the common background, and the readiness ment reuse, building complex document from smaller ones
for collaboration of SRE actors; the balance of forces by using transformation of structure. The combination
between these actors; and the means and rules of social- process is controlled, among others, by the objectives of
lization. At this point, we are in the stage of negotiation analysts and the means and rules of combination.
of meaning. Internalization mode occurs in the exercising Ba.
Externalization mode happens in the dialoguing Software requirements specification and other software
Ba. The preferences and wishes of users (TK) are arti- requirements related knowledge assets (EK) are trans-
culated and conceptualized by analysts to produce for formed into increased individual users and analysts un-
instance new (EK) such as notes or some specification derstanding (TK). Moreover users can deduce new re-
using different styles (data dictionaries, entity-relation- quirements (TK) through running a prototype (EK). Pos-
ship diagrams, virtual windows for data requirements) or sible techniques of internalization are observation, active
reading (books about the domain, user documents, SRS, cepts and relationships in domain ontologies. The func-
etc.) and using prototype or existing similar software. The tional details of the major components of the framework
internalization process is controlled, among others, by are explained as following:
the objectives and the previous knowledge (background) 1) The domain ontologies contain domain-related con-
of users and analysts and the means and rules of inter- cepts and relationships in a structured and machine-in-
nalization. terpretable format, and are used to annotate knowledge
The overall outcome from applying SECI model of assets related to software requirements. We have consid-
knowledge creation to SRE is an increased and better EK ered two different ontologies (Section 5.1)Application
and/or TK on software requirements among all the pro- Domain Ontology (ADO) and Software Requirements
ject actors: (analysts, users, managers, domain experts Ontology (SRO). Semantic relations can model conflicts
and other stakeholders). Table 1 gives some examples of or dependencies between the requirements.
EK (pieces of knowledge that can be written down, trans- 2) The knowledge repository is composed of knowl-
mitted, and understood by a beneficiary actor) and TK edge assets either as instantiations (Is-a relationship) of
(chunks of knowledge that the users are not aware of or ADO and SRO concepts or as related knowledge re-
cannot express) in the domain of SRE. In practice most sources (Refers-to relationship). Indeed a knowledge
requirements are tacit. Analysts should specify only re- asset might be a theoretical knowledge in the domain of
quirements which are not obvious. To do so, they must SRE as well as a practical knowledge such as a best
know what designers are likely to use these requirements
practice in the domain. Examples of knowledge assets
for [27]. Table 2 gives some examples of knowledge
are given in Table 2. Using a semantic representation,
assets according to the four categories of SECI model of
opposing to the traditional approach, aims to foster the
knowledge creation.
understanding between SRE actors helping them to ma-
5.3. Frameworks Architecture nage their knowledge assets related to software require-
The proposed framework is based on SECI model of ments. The framework allows indexing, using and reus-
knowledge creation. Moreover it uses ontologies to make ing of these knowledge assets, based on concepts and
semantic the different processes of this model. The sys- relationships from ADO and SRO. Otherwise said, the
tems architecture in Figure 2 is drawn around four sub- knowledge assets related to software requirements be-
systems matching the four modes of SECI model and con- come more definite, complete, consistent and suitable to
sidered as their corresponding virtual Ba. These sub- share and reuse.
systems are: Socializer, Externalizer, Combiner, and 3) The four virtual Bas, being virtual places for in-
Internalizer. Furthermore, knowledge assets, contained teractive knowledge creation, offers a set of complement-
within a knowledge repository, are annotated using con- tary tools and has as input and output either TK or EK
Category Examples
Explicit
A list or a textual description of functions to be provided by the software, a data dictionary, a prototype of the software screens
knowledge
The ability to conduct a risk analysis is to identify risky areas of the software project and to decrease the risk. The hard part is to
imagine the future work situations. This technique requires all sorts of knowledge and best practices that are not always known
explicitly, even by expert analysts, and which are difficult to explicitly transfer to other analysts. As novice analysts (apprentices)
Tacit
learn how to conduct a risk analysis through simulation, observation, imitation and practice, they will learn new skills through
knowledge
on-the-job training. After a period of imitation and practice, a new analyst will not only deduce risks from procedures but also
working with stakeholders and asking them which potential conflicts do they expect with other stakeholders? This turned out to be
the secret for successful risk analysis.
Routine knowledge assets A best practice to conduct an interview learnt from more experienced analysts
Feature Description
The content presentation of pages can change based on semantic annotations. Pages can be enriched with
Adaptive content presentation the display of semantically related pages in a separate box or information can be displayed, which is
derived from the underlying knowledge base.
Offering extra information about the relation a link describes. Furthermore, it can provide context-aware
Enhanced navigation
navigation.
Typing of annotation Annotating links and text (requirements artifact) by giving them certain types.
and quality requirements for critical quality factors. A will change according the importance and the context of
CRUD check (Create, Read, Update, and Delete) is nec- each project.
essary to see that all required data are handled in some task. Table 4 shows how the key elicitation SRE techniques
It should be followed by a review. Stakeholders are pri- interviewing; observation; and questionnaires are used dur-
marily invited to correct the task descriptions. ing the first phase of domain requirements elicitation,
2) The second step is the design level approach. A through the four subsystems of our framework: Socializer,
design task that creates design level requirements for Externalizer, Combiner, and Internalizer.
complex interfaces. A prototype of screens is developed
on the basis of task description and data description. Then
the prototype is reviewed and validated through a usabil-
ity test to see its effective support of the user tasks. Fi-
nally, verification consists to see that design-level re-
quirements are satisfied.
Figure 3 illustrates the use of the domain ontologies
(ADO) and (SRO) and the knowledge repository, as two
components of the framework, within the payroll system
project. Payroll system related knowledge assets from the
knowledge repository are connected to concepts from both
ADO and SRO domain ontologies according either re-
fers to or is a links.
Furthermore, we assume that the above two-step ap-
proach follows an iterative process using a spiral model
whose main output is the SRS. The combination of the
two levels (domain and design) with the three SRE proc-
esses (elicitation; specification; and validation) results in
six phases as shown in Figure 4: (1) domain requirements
elicitation; (2) domain requirements specification; (3)
domain requirements validation; (4) design requirements
elicitation; (5) design requirements specification; and (6) Figure 4. A spiral view of the iterative two-step approach
design requirements validation. The number of iterations process.
Table 4. Using the framework in the two-step approach during the domain requirements elicitation phase.
[21] C. Hoadley and P. G. Kilner, Using Technology to Trans- [28] T. Riechert, K. Lauenroth, J. Lehmann and S. Auer, To-
form Communities of Practice into Knowledge-Building wards Semantic based Requirements Engineering, Pro-
Communities, SIGGROUP Bulletin, Vol. 25, No. 1, 2005, ceedings of 7th International Conference on Knowl- edge
pp. 31-40. Management I-KNOW07, Graz, 5-7 September 2007, pp.
[22] I. Nonaka, R. Toyama and N. Konno, SECI, Ba and 144-151.
Leadership: A Unified Model Knowledge Creation, Long [29] K. Pohl, Requirements Engineering, Dpunkt Verlag,
Range Planning, Vol. 33, No 1, 2000, pp. 5-34. Grundlagen, Prinzipien, Techniken, 2007.
doi:10.1016/S0024-6301(99)00115-6 [30] T. Riechert and T. Berger, Leveraging Semantic Data
[23] A. Naeve, P. Yli-Luoma, M. Kravcik and M. D. Lytras, Wikis for Distributed Requirements Elicitation, Pro-
A Modeling Approach to Study Learning Processes with ceedings of the 4th Workshop on Wikis for Software En-
a Focus on Knowledge Creation, International Journal gineering Wikis4SE at 31st International Conference on
Technology Enhanced Learning, Vol. 1, No. 1-2, 2008, pp. Software Engineering ICSE09, IEEE Computer Society,
1-34. doi:10.1504/IJTEL.2008.020228 Vancouver, 19 May 2009, pp. 12-19.
[24] J. Wan, H. Zhang, D. Wan and D. Y. Huang, Research [31] B. Decker, E. Ras, J. Rech, P. Jaubert and M. Rieth,
on Knowledge Creation in Software Requirement Deve- Wiki-Based Stakeholder Participation in Requirements
lopment, Journal of Software Engineering & Applica- Engineering, IEEE Software, Vol. 24, No. 2, 2007, pp.
tions, Vol. 3, 2010, pp. 487-494. 28-35. doi:10.1109/MS.2007.60
[25] M. I. Kamata, Software Requirements Elicited through [32] S. Lohmann, P. Heim, S. Auer, S. Dietzold and T. Rie-
Human-Centric Chance Discovery, AAAI Fall Sympo- chert, Semantifying Requirements EngineeringThe Soft-
sium Technical Report FS-02-01, 2002, pp. 99-105. wiki Approach, Proceedings of the 4th International Con-
[26] K. E. Emam, S. Quintin and N. H. Madhavji, User Par- ference on Semantic Technologies I-SEMANTICS, ACM,
ticipation in the Requirements Engineering Process: An Graz, 3-5 September 2008, pp. 182-185.
empirical Study, Requirements Engineering Journal, Vol. [33] J. Trinkunas and O. Vasilecas, A Graph Oriented Model
1, 1996, pp. 4-26. doi:10.1007/BF01235763 for Ontology Transformation into Conceptual Data Mo-
[27] S. Lauesen, Software Requirements: Styles and Tech- del, Information Technology and Control, Vol. 36, No. 1A,
niques, Addison-Wesley, Boston, 2002. 2007, pp. 126-132.