Software Engineering and Knowledge Engineering

2 downloads 50 Views 229KB Size Report
The development of engineering systems is usually based upon the deployment of ... ware lifecycle to allow a development of such applications using a common.
6RIWZDUH(QJLQHHULQJDQG.QRZOHGJH Engineering: From Competition to Cooperation

6$PPDU.KRGMD13HUU\$%HUQDUG ,5&&\1(FROH&HQWUDOHGH1DQWHV1DQWHV)UDQFH

Abstract The development of engineering systems is usually based upon the deployment of FODVVLFDOVRIWZDUHHQJLQHHULQJ 6( OLIHF\FOH /& PRGHOV,QWKHFDVHRI.QRZOHGJH LQWHJUDWLRQLQ.QRZOHGJH%DVHG6\VWHPVVSHFLÀFNQRZOHGJH0DQDJHPHQWF\FOH RIWHQFDOOHGNQRZOHGJHHQJLQHHULQJ .( OLIHF\FOHLVDGRSWHG The objective of this paper is to discuss the relations between the software engiQHHULQJOLIHF\FOHDQGWKHNQRZOHGJHHQJLQHHULQJOLIHF\FOH$VVXPLQJWKDWGHSOR\PHQWRI6(GHDOVZLWKWKHLGHQWLÀFDWLRQRIWKHDSSOLFDWLRQFRPSRQHQWV.(WHQGV WRGHÀQHWKHFRQWHQWRIWKHVHFRPSRQHQWV+RZHYHUWKHVHWZRF\FOHVDUHGHSOR\HG VHSDUDWHO\7KHFRQVHTXHQFHLVDORVWRIH[SHUWLVHLQWKHÀQDOVRIWZDUHVROXWLRQ7KH goals of our study are to minimize this expertise loss by identifying the correspondence between the activities of the two cycles and to propose a common lifecycle for both SE and KE within the same system development project.

Keywords Knowledge engineering, Software engineering, Knowledge processing

1

Introduction

The experience of the whole product lifecycle has shown that decisions about product development are made continuously during the development cycle. To enhance the communication within organizations, a general reference sysWHPLVQHHGHGWRPDNHWKHFRQFXUUHQWHQJLQHHULQJHDVLHU>@'XULQJSURGXFW GHYHORSPHQWGHVLJQHUVRIWHQMXJJOHZLWKPDQ\DQGRIWHQFRQÁLFWLQJFRQstraints to balance aesthetics, manufacturability and functional objectives ZLWKLQDPDUNHWDEOHSURGXFWVSHFLÀFDWLRQ>@,QRUGHUWRKHOSHQJLQHHUVLQ

576

KBE

PDQDJLQJWKLVLQIRUPDWLRQÁRZVVRIWZDUHV\VWHPVQRZDGD\VWHQGWRUHSODFH WKHXVHULQSHUIRUPLQJURXWLQHWDVNV1HYHUWKHOHVVVRIWZDUHGHYHORSPHQWKDV EHHQDFNQRZOHGJHGDVDFRPSOH[SUREOHPVROYLQJDFWLYLW\GRQHLQDPXOWL dimensional space. People actively involved in software development need support in understanding and documenting not only the description of the software developed, but also the problem domain and the reasons behind deFLVLRQV WDNHQ GXULQJ HYROXWLRQ >@ 'HYHORSPHQW PHWKRGV GR QRW SURYLGH such support, and researchers begin to explore the integration of reasoning in VSHFLÀFSKDVHVRIVRIWZDUH·VGHYHORSPHQW,QWKLVVHQVHRUJDQL]DWLRQVKDYH understood that, one strategy to be competitive is to exploit and reuse their experts’ intellectual assets. Most of them are now investing on this capital reuse by setting up engineering activities that focuse on the capture and the PDQDJHPHQW RI WKLV H[SHUWV· NQRZOHGJH7KLV PRYHV WKH V\VWHPV IURP EHLQJLQIRUPDWLRQEDVHGWRNQRZOHGJHEDVHG7KHGLIIHUHQFHLVWKDWWKHV\VWHP contains the context of use of the data and information. The new generation of HQJLQHHULQJV\VWHPVLVFDOOHGNQRZOHGJHEDVHGV\VWHPV .%6 6XFKV\VWHPV DUHVRIWZDUHSURJUDPVGHVLJQHGWRFDSWXUHDQGDSSO\GRPDLQVSHFLÀFNQRZOedge and expertise in order to facilitate problems solving. A Knowledge based V\VWHPFDQEHGHÀQHGDVDFRPSXWHULVHGV\VWHPWKDWXVHVNQRZOHGJHDERXW some domains to arrive at a solution to a problem which should essentially be WKHVDPHDVWKHVROXWLRQFRQFOXGHGE\DSHUVRQNQRZOHGJHDEOHDERXWWKHGRmain of the problem, when confronted with the same problem [10]. However, GXULQJWKHGHYHORSPHQWRIVXFKV\VWHPVPRVWRUJDQL]DWLRQVÀQGLWQHFHVVDU\ to use different lifecycle models for different projects, depending on the naWXUHRIWKHSURMHFWVRIWZDUHGHYHORSPHQWRUNQRZOHGJHLQWHJUDWLRQ The objective of this paper is to discuss theses separations in order to put in parallel the activities related to each aspect of the system, and to identify the FRUUHVSRQGHQFHVEHWZHHQWKHP7KHÀUVWVHFWLRQLQWURGXFHVVRPHHVWDEOLVKHG distinctions between SE and KE to illustrate how the two disciplines switch from a competition to cooperation. After that, the lifecycle models proposed in both engineering are presented. The forth section presents a synthesis to alORZWKHLGHQWLÀFDWLRQRIWKHFRUUHVSRQGHQFHVEHWZHHQWKHWZROLIHF\FOHV2XU analysis focuses on the engineering activities structuring during the development of the KBE application. The questions are: should we set up two different projects to develop a KBS/KBE system? How to deploy the two lifecycles ZLWKLQWKHVDPHSURMHFW":KDWLVWKHNQRZOHGJHSURFHVVLQJZHVKRXOGVHWXS at each stage of the software application development? At the end, we will SURSRVH DQ LQWHJUDWLRQ RI NQRZOHGJH HQJLQHHULQJ DFWLYLWLHV ZLWKLQ WKH VRIWware lifecycle to allow a development of such applications using a common and a single lifecycle.

Ammar-Khodja, Perry, Bernard



577

6RIWZDUH(QJLQHHULQJDQG.QRZOHGJH(QJLQHHULQJ

Software Engineering and Knowledge Engineering are increasingly converging into a common and a single lifecycle, as the two engineering disciplines are studied in more depth, and increasingly larger systems are GHYHORSHG LQ WKH WZR ÀHOGV 6RIWZDUH HQJLQHHULQJ ZDV FUHDWHG WR SURYLGH computable solutions to real-world problems. Knowledge Engineering, on the other hand, is a fruit of the postindustrial society, with a switch from the need for manpower to the need for brainpower or, to put it differently, from manufacturing to mind-facturing [2]. A major debate has begun in the 1990’s on SE and KE. Some authors consider them as two completely different branches of engineering, while others point out similarities in their development [1]. Kierulf and colleagues [12] clearly established the differences between SE and KE. These differences have sometimes led to a separated deployment and application of these two branches of engineering with the belief that they were mutually exclusive disciplines. Software engineering processes have traditionally been used to develop technical products to meet a client’s requirements. Requirements DUHFRQVLGHUHGWREHDGLIIHUHQWWKLQJIURP´QHHGVµDQG´VROXWLRQVµDUHFRQVLGHUHGWREHDGLIIHUHQWWKLQJIURP´SURGXFWVµ>@6(·VLQWHQWLVWKXVWR tightly control the system development process so that the products that are delivered at the end match what was originally thought to be required. The SE and KE concepts are introduced in the next sections as well as the existing lifecycle models in both disciplines.



6RIWZDUH(QJLQHHULQJ0RGHOV

The term of Software Engineering appeared in 1960’s to characterize the formalization of an engineering approach for software development. The aim was to identify, classify, and discuss the problems with large-scale softZDUHSURGXFWLRQLQVHDUFKRIDVROXWLRQWRZKDWZDVUHIHUUHGWRDVWKH´VRIWZDUHFULVLVµ>@7KHUHDUHYDULRXVGHÀQLWLRQVRI6(/&,WFDQEHGHÀQHG by being series of steps through which the product development progresses. +RZHYHUGLIIHUHQFHVVWLOOH[LVWIRUWKHGHÀQLWLRQRI6(6(WRGD\LVXQGHUstood as the application of tools, methods, and disciplines to the production and maintenance of automated solutions to real world problems [5]. Farther, Blanchard [4] described it in considerable depth. $6(/&PRGHOLVDYLHZRIWKHDFWLYLWLHVWKDWRFFXUGXULQJWKHVRIWZDUH development. It describes phases of the development cycle and the order in

578

KBE

ZKLFKWKRVHSKDVHVDUHH[HFXWHG'DYLVKDVLGHQWLÀHGWKHPDLQEHQHÀWVRI 6(/&PRGHO>@7\SLFDOO\WKH/&PRGHOLQFOXGHVUHTXLUHPHQWDQDO\VLV GHVLJQ FRQVWUXFWLRQLPSOHPHQWDWLRQ WHVWLQJ YDOLGDWLRQYHULÀFDWLRQ  LQVWDOODWLRQDQGPDLQWHQDQFH$FFRUGLQJWRWKLV/&VHYHUDOPRGHOVH[LVWDQG each company adopts its own model, but all have very similar patterns. The QH[WSDUDJUDSKVSUHVHQWEULHÁ\VRPHRIWKHVHPRGHOV 3.1

General Model

7KHJHQHUDOPRGHOLVWKHEDVLFPRGHOXVHGIRU6(GHYHORSPHQW VHH)LJ  It is composed of four major phases, and each phase produces deliverables DQGJXLGHOLQHVUHTXLUHGE\WKHQH[WSKDVHLQWKHZKROH/&6WDUWLQJIURP WKHVRIWZDUHUHTXLUHPHQWVGHÀQHGIRUWKHGHVLJQSKDVHDQGGULYHQE\WKLV GHVLJQFRGHLVSURGXFHGGXULQJLPSOHPHQWDWLRQ7HVWLQJYHULÀHVWKHVLPLlarities between the deliverable of the implementation phase and requirements.

Fig. 1: General lifecycle model

7KLVPRGHOXVHVWRZRUNZHOOIRUVPDOOHUSURMHFWZKHUHUHTXLUHPHQWVDUH very well understood. It offers the advantages of being simple, easy to use and to manage, and its phases are processed one at a time and each one proGXFHVVSHFLÀFGHOLYHUDEOHV1HYHUWKHOHVVXVLQJWKLVPRGHOLQODUJHSURMHFW and new domains is not recommended because, it can lead to a high amount RIULVNDQGXQFHUWDLQW\DQGWKXVNLOOWKHSURMHFW 3.2

Waterfall Model

7KHZDWHUIDOOPRGHOLVRQHRIWKHÀUVWPRGHOVGHYHORSHG:LQVWRQ5R\FH >@SURSRVHGLWLQWRGHVFULEHVRIWZDUHGHYHORSPHQW/DWHULWVHUYHV DVDEXLOGLQJEORFNIRUPRVWRIWKHSURSRVHGOLIHF\FOHPRGHOV/LNHWKHJHQeral model, the waterfall model views the whole software development process as a sequence of phases and each phase has a set of goals and activities that need to be accomplished. 'LIIHUHQWO\IURPWKHÀUVWPRGHOZLWKWKLVRQHWKHGHYHORSPHQWSURJUHVV FDQEHVHHQDVÁRZIURPRQHSKDVHWRDQRWKHUZLWKSRVVLEOHIHHGEDFNVWRWKH previous phase. This, a priori, implies that there are no constraints, which

Ammar-Khodja, Perry, Bernard

579

impose that activities from the current phase should be done only in that phase. Adding to that, a complete cycle of execution of all the phases might lead either to the complete system or just a part of it, depending on detailed level of requirements. 3.3

The V Lifecycle Model

/LNHWKHSUHYLRXVPRGHOVWKLVRQHEHJLQVZLWKWKHLGHQWLÀFDWLRQRIVRIWZDUH requirements and ends with the formal validation of the developed softZDUHUHJDUGLQJWKRVHUHTXLUHPHQWV7KHVRIWZDUHGHYHORSPHQW9/&PRGHO FRQVLVWVLQDVHTXHQWLDOH[HFXWLRQRISURFHVVHVZLWKSRVVLELOLWLHVRINHHSLQJ WUDFNRIWKHRYHUDOOSURMHFWSURJUHVV,WGHVFULEHVWKHDFWLYLWLHVDQGUHVXOWV WKDWKDYHWREHSURGXFHGGXULQJVRIWZDUHGHYHORSPHQW7KH9 /&PRGHO GHÀQHVLQDÀUVWSDUWWKHV\VWHPVSHFLÀFDWLRQDFWLYLWLHV7KHQLWVXPVXSWKH WHVWLQJVWHSVWRYDOLGDWHWKHGHYHORSHGVROXWLRQUHJDUGLQJWKHVSHFLÀFDWLRQV 7KH NH\VWRQH RI WKLV PRGHO LV WKH GHYHORSPHQW VWDJH 7KH 9 OLIHF\FOH LV VXLWDEOHIRUSURMHFWVWKDWKDYHZHOOGHÀQHGUHTXLUHPHQWVWKDWDUHXQOLNHO\ WRFKDQJHVLJQLÀFDQWO\RYHUWKHOLIHRIWKHSURMHFW:LWKLQWKLVPRGHOWKH requirements are listed. They have to be traced during the design of the system. At the end, they verify the complete and correct implementation of UHTXLUHPHQWV6LQFHHYHU\WKLQJLVZHOOGHÀQHGWKLVW\SHRIDSSURDFKFDQEH carried out under a controlled context. %HVLGHVWKHVHWKUHHZHOONQRZQPRGHOVRWKHUPRGHOVKDYHEHHQSURSRVHG and reused several time as well in the literature as in the industry. Among these models we can mention the incremental model, the spiral model, prototyping, etc. 3.4

Conclusion

According to Davis [8] each model is not particularly different, but they all provide different views of the same basic software development process. $OWKRXJKHDFK/&PRGHOKDVLWVRZQYLHZVWRGHYHORSVRIWZDUHJHQHUDOO\ PRGHOVDUHPRUHFRPSOHPHQWDU\WKDQH[FOXVLRQDU\$OOWKH6(/&VVHUYHDV tools to monitor the activities and overall progress of software development focusing on the system’s structure. However, new systems generation tend WRIDFHWKHPDUNHWHYROXWLRQVDQGFKDOOHQJHVE\GHYHORSLQJV\VWHPVEDVHG RQH[SHUWV·NQRZOHGJH7KHSUREOHPLVWKDW6(GRHVQRWWDNHLQWRDFFRXQW WKHFRQWHQWRIWKHV\VWHPLQWHUPVRIGDWDLQIRUPDWLRQDQGNQRZOHGJHWREH manipulated and/or generated by the system.

580

KBE

7KLVSUREOHPDWLFOHGWRWKHGHÀQLWLRQRIQHZHQJLQHHULQJDFWLYLWLHVFDOOHG .QRZOHGJH(QJLQHHULQJDQG.QRZOHGJH0DQDJHPHQW .0 WRDOORZWKH LQWHJUDWLRQRINQRZOHGJHZLWKLQFRPSXWHUL]HGV\VWHPV7KH.(FRQFHSWLV presented in the next section.



.QRZOHGJH(QJLQHHULQJ/LIHF\FOHV

1RZDGD\VNQRZOHGJHPDQDJHPHQWDWWUDFWVPRUHDQGPRUHDWWHQWLRQLQHLther research or industry. Organizations often spend a lot of time and money WRODXQFKVWUDWHJLF.0LQLWLDWLYHVZLWKRXWÀUVWDVVHVVLQJZKHWKHURUQRWWKHLU culture is mature enough for the implementation of such initiatives. ,QGHHG FXVWRPHUV XVXDOO\ HQFRGH WKH NQRZOHGJH UHODWHG WR WKHLU UHquirements, into text, drawings, or verbal messages. The main disadYDQWDJH RI WKLV IRUP RI NQRZOHGJH LV WKDW LW HYDGHV FULWLFDO GLVFXVVLRQV [15]. Knowledge management means attending to processes for creating, VXVWDLQLQJ DSSO\LQJ VKDULQJ DQG UHQHZLQJ NQRZOHGJH WR HQKDQFH WKH company’s performance and create value for that company [17]. While NQRZOHGJHHQJLQHHULQJUHSUHVHQWVWKHHQJLQHHULQJGLVFLSOLQHWKDWLQYROYHV FDSLWDOL]LQJDQGLQWHJUDWLQJNQRZOHGJHLQWRFRPSXWHUV\VWHPVLQRUGHUWR solve complex problems normally requiring a high level of human experWLVH>@9DULRXVGHÀQLWLRQVRI.(KDYHEHHQSURSRVHGWKHVHGHÀQLWLRQV focused on three fundamental elements: people, processes and technology. All three of these elements complement one another and they are critical to the successful implementation of a KM and KE program. In this paper WKHH[LVWLQJPHWKRGVZLOOQRWEHDSSURDFKHG IRUDQRYHUYLHZVHH'LHQJ  DO>@ RQO\VRPH.(OLIHF\FOHVZLOOEHLQWURGXFHG 7KHPRVWNQRZQ.(/&PRGHOLVWKHRQHSURSRVHGE\*UXQGVWHLQ>@ 7KLVPRGHOSURFHVVHVNQRZOHGJHLQIRXUPDLQSKDVHV7KHÀUVWRQHFRQVLVWVLQLGHQWLI\LQJDQGORFDOL]LQJUHOHYDQWNQRZOHGJHDVZHOODVLWVSRtential sources. The second phase, deals with the extraction of the identiÀHG NQRZOHGJH IURP LWV VRXUFHV DQG WR VWUXFWXULQJ LW IRU DQ LQWHJUDWLRQ REMHFWLYH 7KH GHYHORSPHQW SKDVH FRQVLVWV LQ VSUHDGLQJ WKH NQRZOHGJH through the system, in such away that every one can use it. However, UHXVLQJ NQRZOHGJH E\ GLIIHUHQW XVHUV VRPHWLPHV FDQ OHDG WR FRQWUDGLFtions, that is why the forth phase is necessary to ensure the coherency DQGXSGDWLQJZLWKLQWKHV\VWHPDQGWKHRUJDQL]DWLRQ)URPDNQRZOHGJH PDQDJHPHQWSRLQWRIYLHZ*UXQGVWHLQSURSRVHVWRGHÀQHDQRWKHUSKDVH called management phase in order to manage, control and coordinate the DFWLYLWLHVRIWKHRYHUDOO/&.

Ammar-Khodja, Perry, Bernard

581

&DQGORWLQWURGXFHGD.QRZOHGJHOLIHF\FOHIRU.%6(>@7KLV/&LQWURGXFHVKLJKOHYHODFWLYLWLHVIRUNQRZOHGJHSURFHVVLQJZKLOHGHYHORSLQJNQRZOedge based engineering system. These KE activities are gathered into two GLVWLQFWSKDVHV,QIUDVWUXFWXUHLGHQWLÀFDWLRQDQG$UFKLWHFWXUHGHÀQLWLRQ7KH SURSRVHG/&DOORZVV\VWHPLQIUDVWUXFWXUHLGHQWLÀFDWLRQLQIRXUPDLQVVWHSV % ,GHQWLÀFDWLRQDVLWVQDPHLQGLFDWHVLWWKHSXUSRVHRIWKLVVWHSLVWRLGHQWLI\DOOWKHFRQFHSWVXVHGZLWKLQWKHVSHFLÀHGGRPDLQ % Extraction: it consists in recovering and analyzing the concepts idenWLÀHGLQWKHSUHYLRXVVWHS([LVWLQJDVVRFLDWLRQVEHWZHHQFRQFHSWVDUH also highlighted. % Structuring: its objective is to organize domain infrastructure semantically. % Formalization: in this step, the semantic concepts are represented syntacWLFDOO\WRDOORZGRPDLQDUFKLWHFWXUHGHÀQLWLRQ Otherwise, during problem solving, domain’s infrastructure and architecture evolve and thus their states change. The different states will constitute the infrastructure of the system, and the transitions from one state to another will allow the system architecture construction. To allow this construction, WKH/&LQWURGXFHVIRXUVWHSV % 5HÀQHPHQWWRYDOLGDWHDPRQJWKHIRUPDOL]HGFRQFHSWVWKHPRVWUHOHYDQW ones regarding the problem that has to be solved by the system. % Development: formalized concepts are translated in terms of classes and attributes to generate development code. % Diffusion: it consists in putting the system at the disposal of the user to FKHFNLILWFRUUHVSRQGVWRWKHLQLWLDOVSHFLÀFDWLRQVDQGUHTXLUHPHQWV % 0DLQWHQDQFHLWVDLPLVWRNHHSWKHV\VWHPDVFRKHUHQWDVSRVVLEOHWKURXJK LWVXWLOL]DWLRQ,WLVWKXVQHFHVVDU\WRVSHFLI\SURFHGXUHVWRDOORZNQRZledge updating. +RZHYHUWKHSURSRVHGOLIHF\FOHGRHVQRWWDNHLQWRDFFRXQWWKHV\VWHP development. It objectives are to specify the content of the system in terms RINQRZOHGJHDVZHOODVLWVXWLOL]DWLRQ 7KHH[LVWLQJPHWKRGVPRGHOVDQG/&VIRU.(IRFXVRQWKHNQRZOHGJH capture and formalization during KBS/E development. This means that, IRU GHYHORSLQJ VXFK V\VWHPV WZR /&V DUH UHTXLUHG7KH GHSOR\PHQW RI WZR/&VZLWKLQWKHVDPHV\VWHPGHYHORSPHQWSURMHFWFDQOHDGWRUHGXQdancies, especially during requirements gathering and system design. In order to minimize the potential redundancies we propose to integrate KE DFWLYLWLHVZLWKLQD96(OLIHF\FOH

582

KBE



6(DQG.(7RZDUGVD&RPPRQ/LIHF\FOH

One of the primary challenges facing KE in large scale systems developPHQWLVÀQGLQJDZD\WRRSWLPL]HWKHXVHRISURGXFWVJHQHUDWHGDVDUHVXOW of the KE process. Many systems employ different software solutions for engineering problems and then try to integrate them through a user interIDFH H[DPSOHRI&$'&$0V\VWHPV 8QIRUWXQDWHO\WKHH[SHUWPD\QRWEH available immediately to attend to the problem, or the organization may not even have a competent expert for every problem that may arise [4]. Adding WRWKDWGHFLVLRQPDNHUVZKRGRQ·WXQGHUVWDQGWKHEDVLFVRIVRIWZDUHHQJLQHHULQJ FKDQJH WKH WDUJHW FRQWLQXRXVO\ ZLWKRXW ORRNLQJ DW UHVXOWLQJ FRVWV and delays. To manage this problem, KE tends to establish guidance and VWUXFWXUH ÁH[LEOH HQRXJK WR VXSSRUW HYROYLQJ DQG FKDQJLQJ UHTXLUHPHQWV from multiple end-users. %DVHG XSRQ WKH FRXSOLQJ RI WKH 9 OLIHF\FOH DQG WKH .( OLIHF\FOH SURSRVHGE\&DQGORW>@ZHSURSRVHDNQRZOHGJHEDVHGVRIWZDUHGHYHORSPHQW OLIHF\FOH )LJ ZLWFKVXSSRUWHYROYLQJDQGUHTXLUHPHQWVFKDQJLQJIURP PXOWLSOHH[SHUWV7KLV/&LVFRPSRVHGRIWZRGLVWLQFWSKDVHVUHSUHVHQWHGE\ WKHWZRSDUWVRIWKH9/&7KHÀUVWSDUWFDOOHGFKDUDFWHUL]DWLRQDFWLYLWLHV JDWKHUV DOO WKH DFWLYLWLHV FRQFHUQLQJ V\VWHP VSHFLÀFDWLRQ DQG GHVLJQ 7KH second one, automation activities, gathers activities related to the integration and validation of the system. We started with the idea that, to develop DQ\NLQGRIVRIWZDUHZHQHHGWRFRPSOHWHO\XQGHUVWDQGWKHSUREOHPDQG problem user domain, its requirements, available solutions and new solutions to be automated. However, developers do not and could not have a complete understanding of problem and user domain. Their objectives are to understand what the system should perform and how the user can interact ZLWKLW%XWWKH\ZLOOQRWSD\WKHVDPHDWWHQWLRQWRWKHNQRZOHGJHWKDWWKH\ KDYHWRLQWHJUDWHLQWRWKHV\VWHPVLQFHWKHNQRZOHGJHLVQRWZULWWHQGRZQ LQIRUPRIVSHFLÀFDWLRQV:KDWZHDUHSURSRVLQJLVWRRIIHUDSRVVLELOLW\IRU ERWK GHYHORSHUV DQG NQRZOHGJH HQJLQHHUV WR ZRUN FROODERUDWLYHO\ ZLWKLQ WKHVDPHSURMHFWE\GLVWULEXWLQJGHYHORSPHQWWDVNVDPRQJWKHP7KHSURSRVHG /& ZLOO DOVR SHUPLW WR PDQDJH ODWH UHTXLUHPHQWV FKDQJHV ZLWKRXW DIIHFWLQJGHYHORSHUV·ZRUN7RUHDFKWKHVHWZRREMHFWLYHVZHRUJDQL]HG.( DFWLYLWLHVWURXJKWKH9/&

Ammar-Khodja, Perry, Bernard

Fig. 2: .%6GHYHORSPHQW/&

583

584

KBE

5.1

Characterization Activities

Characterization activities consist of three main steps: project parameter DQDO\VLVV\VWHPLQIUDVWUXFWXUHLGHQWLÀFDWLRQDQGV\VWHPDUFKLWHFWXUHVSHFLÀFDWLRQ(DFKVWHSLVFRPSRVHGRIVXEVWHSVDLPLQJDWVSHFLI\LQJDFHUWDLQ aspect of the system. Traditionally, the analysis focuses particularly on what are the funcWLRQDOLWLHV WR LPSOHPHQW VR WKDW VSHFLÀHG UHTXLUHPHQWV ZLOO EH VDWLVÀHG However, the existing reasoning behind these functionalities is not captured. Thus, to increasing domain understanding for developers unfamilLDUZLWKSRUWLRQVRIWKHGRPDLQWKH,QIUDVWUXFWXUHLGHQWLÀFDWLRQSKDVHRI .(/&LVGHSOR\HGWRRUJDQL]HGRPDLQIXQFWLRQVGDWDLQIRUPDWLRQDQG NQRZOHGJHDVVRFLDWHGZLWKWDVNSHUIRUPHUVLQWKHGRPDLQ LWVVWHSVKDYH EHHQGHVFULEHGLQWKHSUHYLRXVVHFWLRQ  Introduced between project parameter analysis and system design, the inIUDVWUXFWXUHLGHQWLÀFDWLRQDLPVWRGHWHUPLQHWKHGLIIHUHQWVWDWHVRIWKHXVHG concepts during problems solving as well as their interdependencies. The next VWHS ZKLFK LV V\VWHP DUFKLWHFWXUH GHÀQLWLRQ DLPV WR WUDFH WKH HYROXWLRQV RI WKHLQIUDVWUXFWXUHHOHPHQWVDQGWKXVLGHQWLI\H[LVWLQJOLQNVEHWZHHQWKHPIRU GHVLJQLQJWKHV\VWHP7KLVVWHSUHLQIRUFHVWKHKLJKOHYHOGHVLJQSKDVHRIWKH9 /&WKDWIRFXVHVRQV\VWHPDUFKLWHFWXUHDQGGHVLJQ$WWKHHQGRIWKHVHVWHSV WKHV\VWHPGHYHORSPHQWVSHFLÀFDWLRQVDUHHVWDEOLVKHG'HYHORSHUVZLOOWKHQ translate them on classes, attributes, functions, and procedures, and so on to GHYHORSWKHV\VWHP7KHGHYHORSPHQWVWHSLVZKHUHDOOFRGLQJWDNHVSODFH Once coding is complete, the path of execution continues up the right side of WKH9ZKHUHWKHWHVWSODQVGHYHORSHGHDUOLHUDUHQRZSXWWRXVH 5.2

Automation Activities

7KLVSDUWRIWKH9/&JDWKHUVWKHDFWLYLWLHVUHODWHGWRWKHLQWHJUDWLRQWHVW FKHFNLQJ YDOLGDWLRQ XVH DQG PDLQWHQDQFH 6LQFH WKHVH DFWLYLWLHV IROORZ WKH GHYHORSPHQW VWHS NQRZOHGJH HQJLQHHULQJ DFWLYLWLHV GR QRW LQWHUYHQH DV PXFK WKDW LQ WKH OHIW VLGH ,Q IDFW .( DUH QHHGHG DW WKH VWHS RI FKHFNLQJLIDOOWKHVSHFLÀFDWLRQVDQGUHTXLUHPHQWVKDYHEHHQWDNHQLQWRDFFRXQW Comparing the integrated concepts and developed functions with the ones LGHQWLÀHGGXULQJSUHYLRXVVWHSVFDQDOORZDQGVXSSRUWWKLVFKHFNLQJ7KLV FRPSDULVRQZLOODOVRSURYLGHDIHHGEDFNRQWKHSURMHFWPDQDJHPHQWRQRQH hand, and identifying the gaps between the requirements and the developed V\VWHPRQWKHRWKHUKDQG7KHÀQDOYDOLGDWLRQZLOOEHFRPSOHWHLIWKHUHVXOWV RIWHVWLQJFRUUHVSRQGZLWKWKHH[SHFWHGUHVXOWVIURPWKHGHÀQHGVFHQDULRV

Ammar-Khodja, Perry, Bernard

585

Other criteria can be considered for the validation of the system. For example, are the displayed results the same that the results expected by the end XVHU",IQRWZKHUHFRXOGWKHXVHUÀQGH[SODQDWLRQV",VWKHXVHULQWHUIDFHHDVily usable? Once the system validate, it will be introduced within the organi]DWLRQVRWKDWXVHUVFDQXVHLWJLYHDIHHGEDFNRQLWDQGHQULFKLWVFRQWDLQ

6

Conclusion

To support developers in efforts to implement systems that satisfy domain requirements and highlights the relationships between domain functions and GDWDVHOHFWHGIRULPSOHPHQWDWLRQWKLVSDSHUSURSRVHVDFRXSOLQJRINQRZOedge engineering and software engineering lifecycles to support and improve NQRZOHGJHEDVHGV\VWHPVGHYHORSPHQW7KHSURSRVHGSURFHVVLVEDVHGXSRQ WKH6(FRQYHQWLRQDO9/&DQGWKH.(/&SURSRVHGE\&DQGORW>@7KH9 /&KDVEHHQVHOHFWHGDPRQJRWKHU/&VIRUEHLQJWKHPRVWZHOONQRZQDQG XVHG PRGHO DQG WKH .( /& IRU EHLQJ RULHQWHG WR NQRZOHGJH LQWHJUDWLRQ )ROORZLQJ DQ DQDO\VLV RI WKH /&V SURSRVHG LQ ERWK GLVFLSOLQHV FRPPRQ JOREDOREMHFWLYHVDQGVLPLODUVWHSVKDYHEHHQLGHQWLÀHG2XUREMHFWLYHWKXV was to put in SDUDOOHOWKHWZR/&VDQGLGHQWLI\ZLWFKNQRZOHGJHHQJLQHHULQJ activities support and completes software engineering. These activities are rearranged to describe system development strategy with the distinction of the system infrastructure step from system architecture step. Such process will allow project manager to manage possible late requirement changing in WKHV\VWHPDUFKLWHFWXUHVSHFLÀFDWLRQGXULQJWKHUHÀQHPHQWVWHS+RZHYHU WKLVSURFHVVGRHVQRWSURYLGHJXLGHOLQHVIRUH[SHULHQFHIHHGEDFNLQWHUDFWLYH integration. Such solution must be thought to allow effective system mainWHQDQFHDQGDFRQWLQXRXVNQRZOHGJHXSGDWHV

References  



$ORQVR)0DWH-DQG3D]RV-  .QRZOHGJH(QJLQHHULQJ9HUVXV 6RIWZDUH(QJLQHHULQJ'DWD .Q(QJ9RO1R $ORQVR ) -XULVWR 1 0DWH -/ 3D]RV -   6RIWZDUH (QJLQHHULQJ DQG.QRZOHGJH(QJLQHHULQJ7RZDUGVD&RPPRQ/LIH&\FOH-RXUQDORI Systems Software, p: 65-79. %HUQDUG$/DEURXVVH03HUU\1  /&XQLYHUVDOPRGHOIRUWKHHQterprise information system structure, CIRP life-cycle engineering seminar, Grenoble, France.

586

KBE



%ODQFKDUG%)DEU\FN\:-6\VWHPV(QJLQHHULQJDQG$QDO\VLV7KLUG Edition, Prentice-Hall, Inc, 1998. %OXP%,  7KH(YROXWLRQRI6RIWZDUH(QJLQHHULQJ)LUVW,QWHUQDWLRQDO Conference on Information and Knowledge Management, Baltimore. &DQGORW$$PPDU.KRGMD60DXFKDQG0HW3HUU\1  5pÁH[LRQ sur une approche systématique pour créer des structures de consolidation GHO·LQIRUPDWLRQHPH&ROORTXH1DWLRQDO$,335,0(&$DYULO/D3ODJQH &KDSPDQ&%3LQIROG0  'HVLJQHQJLQHHULQJ³DQHHGWRUHWKLQN WKHVROXWLRQXVLQJNQRZOHGJHEDVHGHQJLQHHULQJ,Q.%6² 'DYLV $0 %HUVRII (+ &RPHU (5   $ 6WUDWHJ\ IRU &RPSDULQJ $OWHUQDWLYH6RIWZDUH'HYHORSPHQW/LIH&\FOH0RGHOV,(((7UDQV6RIW(QJ 'LHQJ'&RUE\2*LERLQ$5LELqUH0  0HWKRGVDQGWRROVIRU Corporate Knowledge Management. KAW’98, Banff Canada. )DVWK7  .QRZOHGJH%DVHG(QJLQHHULQJIRU60(V0DVWHU·V7KHVLV 7HNQLVND8QLYHUVLWHW,661 *UXQGVWHLQ 0   5DSSRUW GH UHFKHUFKH © /H 0DQDJHPHQW GHV &RQQDLVVDQFHVGHO·(QWUHSULVH3UREOpPDWLTXH$[HGHSURJUqV$SSURFKH opérationnelle », MG Conseil, janvier. .LHUXOI $ &KHQ . 1LHYHUJHOW -   6PDUW *DPH %RDUG DQG *R Explorer: A Study in Software and KE, Communications of the ACM. 1DXU35DQGHOO%  6RIWZDUH(QJLQHHULQJ5HSRUWRQD&RQIHUHQFH 6SRQVRUHGE\WKH1DWR6FLHQFH&RPPLWWHH*DUPLVFK*HUPDQ\ 3UHVVPDQ56  6RIWZDUH(QJLQHHULQJ$3UDFWLWLRQHU·V$SSURDFK 0F*UDZ+LOO1HZ