Expert System and Knowledge Management for Software Developer in Software Companies

Similar documents
Introduction to Service Oriented Architectures (SOA)

David Pilling Director of Applications and Development

Service-Oriented Architectures

A Service Oriented Security Reference Architecture

SOA CERTIFIED CONSULTANT

A standards-based approach to application integration

Introduction to SOA governance and service lifecycle management.

Service Oriented Architecture

Service Computing: Basics Monica Scannapieco

ITU-T Kaleidoscope Conference Innovations in NGN. Managing NGN using the SOA Philosophy. Y. Fun Hu University of Bradford

How To Understand A Services-Oriented Architecture

ANALYSIS OF WEB-BASED APPLICATIONS FOR EXPERT SYSTEM

Requirement Engineering in Service-Oriented Architecture

Enhancing A Software Testing Tool to Validate the Web Services

SOA Myth or Reality??

Enterprise Application Designs In Relation to ERP and SOA

HELPDESK EXPERT. Abstract

Fuzzy Knowledge Base System for Fault Tracing of Marine Diesel Engine

A Framework for Personalized Healthcare Service Recommendation

Combining Service-Oriented Architecture and Event-Driven Architecture using an Enterprise Service Bus

IAI : Expert Systems

Extend the value of your core business systems.

Service Oriented Architecture (SOA) An Introduction

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

Reusable Knowledge-based Components for Building Software. Applications: A Knowledge Modelling Approach

Service-Oriented Architecture and its Implications for Software Life Cycle Activities

A Study on Service Oriented Network Virtualization convergence of Cloud Computing

JOURNAL OF OBJECT TECHNOLOGY

Data Mining Governance for Service Oriented Architecture

The Service Revolution software engineering without programming languages

FACULTY OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY AUTUMN 2016 BACHELOR COURSES

Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object

Three Stages for SOA and Service Governance

SOA: The missing link between Enterprise Architecture and Solution Architecture

Reengineering Open Source CMS using Service-Orientation: The Case of Joomla

An Electronic Negotiation Coordinator for Software Development in Service-Oriented Environments

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal

Service Oriented Architecture and Its Advantages

Automated Test Approach for Web Based Software

Improving Agility at PHMSA through Service-Oriented Architecture (SOA)

Improvised Software Testing Tool

Volume 11 Issue 7 Version 1.0 December 2011 Type: Double Blind Peer Reviewed International Research Journal Publisher: Global Journals Inc.

Research on Operation Management under the Environment of Cloud Computing Data Center

JOURNAL OF OBJECT TECHNOLOGY

Fourth generation techniques (4GT)

How To Develop Software

Grid based Integration of Real-Time Value-at-Risk (VaR) Services. Abstract

IBM Information Management

Service Virtualization: Managing Change in a Service-Oriented Architecture

Realizing business flexibility through integrated SOA policy management.

IBM 2010 校 园 蓝 色 加 油 站 之. 商 业 流 程 分 析 与 优 化 - Business Process Management and Optimization. Please input BU name. Hua Cheng chenghua@cn.ibm.

How To Design An Expert System For Error Detection And Correction In Software Development Environment

Cloud Computing & Service Oriented Architecture An Overview

CASSANDRA: Version: / 1. November 2001

Business Process Management In An Application Development Environment

Applying SOA to OSS. for Telecommunications. IBM Software Group

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

Business-Driven Software Engineering Lecture 3 Foundations of Processes

A Comparison of SOA Methodologies Analysis & Design Phases

Business Process Management Enabled by SOA

Web Services Metrics: A Survey and A Classification

Service-Oriented Architecture: Analysis, the Keys to Success!

The Basics of Expert (Knowledge Based) Systems. Contents. 1. Introduction. 2. Scope of Definition - Formal Description

Middleware- Driven Mobile Applications

Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing

How service-oriented architecture (SOA) impacts your IT infrastructure

A Study on the Integration Model of EIS Based on SOA

BUILDING OLAP TOOLS OVER LARGE DATABASES

HL7 and SOA Based Distributed Electronic Patient Record Architecture Using Open EMR

A Service-oriented Architecture for Business Intelligence

Importance of Data Abstraction, Data Virtualization, and Data Services Page 1

A Unified Messaging-Based Architectural Pattern for Building Scalable Enterprise Service Bus

Rotorcraft Health Management System (RHMS)

Provide access control with innovative solutions from IBM.

VOL. 2, NO. 3, March 2012 ISSN ARPN Journal of Systems and Software AJSS Journal. All rights reserved

Service-Oriented Computing and Service-Oriented Architecture

Lesson 18 Web Services and. Service Oriented Architectures

Multi-agent System based Service Oriented Architecture for Supply Chain Management System (MAS-SOA-SCM)

Oracle SOA Suite 11g: Essential Concepts Student Guide

Converting Java EE Applications into OSGi Applications

WORLDSKILLS SINGAPORE 2014 QUALIFYING ROUND TECHNICAL DESCRIPTION

Analyses on functional capabilities of BizTalk Server, Oracle BPEL Process Manger and WebSphere Process Server for applications in Grid middleware

Challenges and Opportunities for formal specifications in Service Oriented Architectures

A Review on Knowledge-based Expert System: Concept and Architecture

2.1. The Notion of Customer Relationship Management (CRM)

Service Oriented Architecture: A driving force for paperless healthcare system

NTU-IR: An Institutional Repository for Nanyang Technological University using DSpace

Transcription:

Expert System and Knowledge Management for Software Developer in Software Companies 1 M.S.Josephine, 2 V.Jeyabalaraja 1 Dept. of MCA, Dr.MGR University, Chennai. 2 Dept.of MCA, Velammal Engg.College,Chennai. ABSTRACT The Important work in the software companies are the development of the software and the software developer plays the important role in the developing process. Analyze the software developer to have the expert knowledge and develop the software. Developer must have the knowledge to define the problem, analysis, design and implementation. The every process must well defined by the developer. The developer entirely depends on the system and they have the expert solution of the system. The developer has communication every services using the SOA architecture. For the services and the expert knowledge to gain the developer, create the software developer optimizer. This optimizer will develop based on the knowledge base of the developer. This paper introduces the knowledge management process for an expert system that is the software developer optimizer (SDO). It is the design of expert system for the software developer process. Then the development stages are described. The SDO is an innovation since it is the first expert system developed for software developer It is a knowledge-based and SOA optimization system. Keywords: Service oriented architecture, software developer optimizer 1. INTRODUCTION The Important work in the software companies are the development of the software and the software developer plays the important role in the developing process. Software developer must solve problems by using their factual knowledge and reasoning ability. To get these knowledge, the software developer use the artificial intelligent and expert s knowledge. Expert systems[1] represent an area of interest in artificial intelligence. Artificial intelligence is used to solve problems that are difficult enough to require emulation of human intelligence. Thus far, the work done on software developer optimizer in the software developing companies has included literature reviews, problem solving process, logical process and expert process. However, it is crucial to take into account the knowledge and expertise available through developer experts. Therefore, it is necessary to develop an expert system. An expert system is a computer program that represents and reasons with knowledge of some specialist subject with a view to solving problems or giving advice [2]. The term expert system refers to computer programs that apply substantial knowledge of specific areas of expertise to the problem-solving process [8]. It is a computer system that emulates the decision making ability of a human expert [2]. The terms emulate means that the expert system is intended to act in all respects like a human expert [2]. In this paper, develop the software developer optimizer using the software developing steps. 2. LITERATURE REVIEW 2.1 Expert systems An Expert system is a computer program that simulates the judgment and behavior of a human being or an organization that has expert knowledge and experience in a particular field. Typically, such a system contains a knowledge base of accumulated experience and a set of rules for applying the condition to each particular situation that is described in the program. Sophisticated expert systems can be enhanced with additions to the knowledge base or to the set of rules. In other words, it is a software based system which makes or evaluates decisions based on rules established within the software. Besides the knowledge base, the expert system also need a inference engine to identify features of the problems inputted and propose a more reliable recommendation or solution via inference to be listed by the explanation subsystem with explanations on, for instance, How and Why. This way it will have the prototype of an expert system. At present, more matured expert systems have been at least equipped with the ability of a human expert. Expert systems are in fact visible everywhere in the computer system [5],[6]. Among the most frequently seen is the Help function of MS Windows. Through multiple choices, it helps users describe features of the problem and show them steps to the solution. Removing troubles in this manner helps save the time spent on flipping through the manual in search for an answer. For enhancing work efficiency and system stability, it is quite valuable. Therefore, we can use expert systems to 243

walk maintenance staffs through bottlenecks they encounter. A full-fledged, comprehensive computer hardware maintenance expert system must be able to offer suggestions on computer trouble diagnosis and repair. Via continuous update of the knowledge base, the maintenance crew can have access to the knowledge of the same system and share their experiences. This way, we can save the expenditure of employee training, on the one hand, and effectively convey updated computer maintenance knowledge. The Knowledge based is used to develop the Software developer Optimizer. This optimizer is used to find the process step of the software developer. This paper describes the knowledge management process followed while developing the SDO, an expert system designed to optimize the Software developer using SOA and knowledge engineering tool. 2.2 Expert System Components The knowledge base system uses the knowledge and experience of experts to solve problems in a reasonable period of time. Human experts solve problems by using their factual knowledge and reasoning ability. In the other hand, an expert system uses its knowledge base and inference engine to perform a similar task. The main components of an expert system are (see Figure 2): 2. 3 Expert system development Figure 4 illustrates the major stages to build an expert system: 1. Identification. 2. Conceptualization. 3. Formalization. 4. Implementation. 5. Validation. 6. Maintenance. As part of the development process, knowledge engineering comprises the following steps: 1. Selecting the expert system shell. 2. Acquiring and implementing the knowledge into the expert system. 3. Validating the prototype system. 4. Adding more knowledge. 5. Validating the final system for use by the software developers Figure 5 exhibits the knowledge elements considered to build the Software developer optimizer(sdo). 1. Knowledge base. 2. Inference engine. 3. User interface. The knowledge base supplies specific facts and rules regarding a domain, while the inference engine offers the reasoning ability that allows the expert system to make conclusions. The user interface is the medium between the expert system and the user. An expert is someone who has the ability to achieve a specific task efficiently by using his or her skills, experience, and knowledge in a specific domain. Figure 3 shows the knowledge management process. 244

The first step in the identification stage is to choose a domain and identify a task that the expert system will perform competently. A domain is a collection of knowledge or an area of application. Software developing is the domain considered for this paper. An expert performs a task correctly and therefore is competent in a specific domain. Performing a task means solving a problem. Optimizing the software development is a task in the domain of creating software. Estimating the rate of knowledge of the developer and the concept of the software interaction parameter are to define the problem, analysis the problem, find the environment, system design, coding, testing and implementation. This parameters are used the expert system development stages. Another step is to prepare a proposal comprising the scope, purpose, audience, the sources of knowledge, and the resources needed to build the expert system. In the conceptualization stage, the knowledge is acquired. Therefore, the concepts dealing with the software development system are determined. The third stage deals with the formalization of the concepts and their relationships after knowledge acquisition. Thus, the knowledge is refined and represented by interrelated modules that are sets of facts and rules. The resulting structure follows the solution process logic. The knowledge modules are elaborated to make the next stage easier. The fourth stage scopes with knowledge implementation or encoding. 2.4 SOA (Service Oriented Architecture) A service in SOA is an application function packaged as a reusable component for use in a business process. It either provides information or facilitates a change to business data from one valid and consistent state to another [4]. Service-oriented architectures have the following key characteristics [5]; SOA services have self-describing interfaces in platform-independent XML documents. Web Services Description Language (WSDL) is the standard used to describe the services. SOA services communicate with messages formally defined via XML Schema (also called XSD). Communication among consumers and providers or services typically happens in heterogeneous environments, with little or no knowledge about the provider. Messages between services can be viewed as key business documents processed in an enterprise. SOA services are maintained in the enterprise by a registry that acts as a directory listing. Applications can look up the services in the registry and invoke the service. Each SOA service has a quality of service (QoS) associated with it. Some of the key QoS elements are security requirements, such as authentication and authorization, reliable messaging, and policies regarding who can invoke services. SOA has the same architecture of the expert system architecture. The developer uses in that architecture to implement the knowledge and expert information. Using this SOA, the developer can develop the software and communicate the software with the users. The binding from the service requester to the service provider should loosely couple the service. This means that the service requester has no knowledge of the technical details of the provider s implementation, such as the programming language, deployment platform, and so forth. The service requester typically invokes two kinds of message operations such as request message and the response message, using the SOA. The developer used SOA architecture to execute the service provider. 3. KNOWLEDGE ACQUISITION The knowledge sources are the experts and their written documents such as books, papers, and technical reports. An expert is a knowledgeable person who performs the task competently. The developers can considered the knowledge engineers and the primary and the primary source of knowledge and expertise in optimizing the software developing system, other expert s knowledge was acquired based on regular meetings and written documents [8]. Building the expert system needs the use of resources such as audio and video tapes and supplies to record sessions with the expert, including paper, pens, and sketchpads. The knowledge is a set of sample problems and solutions regarding development of software for software industry. They are classified into design, training, and evaluation cases. The design cases are typical problems that the first prototype will solve. The training cases are problems used to stretch and enhance the knowledge base. The evaluation cases are applied to validate the expert system and therefore to demonstrate its power and limitations. The domain and task knowledge is acquired from experts following interviews and discussion sessions. It is important to plan and prepare for an interview by reading about the domain to become familiar with terminology for instance. In addition to expert case studies, a set of questions and sample problems and cases should be arranged to discuss during interviews and consultation sessions with the experts to acquire more knowledge. While talking about design cases, it is paramount to listen carefully for hints about 245

how the experts classify evidence and sort problems into sub problems. The interviewing and building the relationship with expert are the data and module of the software are used that data to executed correctly or not in the testing stage. Also, the expert gives the idea and rule for designing the software. The facts and data are taken from the knowledge base and implement the concepts using SOA. Then, the user can access the software from the SOA and the SOA acts service provider and do the operation request and response. 4. EXPERT SYSTEM FOR SOFTWARE DEVELOPER Software developer optimizer is to create the process to achieve the good project. It is fully depend on the developer environment. The developer activates the SOA to communicate all the users using web services. The SOA will implement the optimizer according to the software engineering paradigm. Software developer optimizer retrieves the facts from the knowledge base and find the rules from the rules generator and create the SOA to implement the architecture for developing the software. Software developer must understand the SOA and the steps involve in the Software engineering expert system. It achieves the good optimizer to communicate the users and developer can understand the knowledge of the project and develop the project using the optimizer. Expert system for Optimizer Software developer The SDO environments is composed of open source and open standard applications due to the availability of source code and the accumulation of application knowledge from the open source community. These resources are particular valuable to software developing tool research. The control of the software projects and the design of the project are depend on the ability to measure the development. SDO is Internet based and can be applied to help manage globally distributed projects. The Software developer optimizers are the concept of retrieve the information from the knowledge base and get the rules and facts to identify the software. Then it uses the Software engineering steps to analyse, design, coding and testing of the software. SDO optimize all these information to develop the software and software can use by the users implement the SOA architecture. The SOA services are facilitates the user to access the software from the developer. The SDO optimize the knowledge entries and design the expert system for the software developer. SOA is implementing to activate the response and request of the users. When the developer produces the software, it must reach to the users. That is the very important use of the software. This is done by the SOA. Knowledge elicitation from manager Rules and facts Generator Expert system for design the software 5. CONCLUSION Retrieve facts from knowledge base Software Develope r Optimize r (SDO) Steps involve in software engineering Paradigm Figure: 5 SDO Service oriented Architecture Developed project using SDO Knowledge management is an essential step while building an expert system. The latter is an intelligent agent that uses expert knowledge base and inference mechanisms to solve problems. A knowledge base is composed of facts and rules. This paper presents the knowledge management process for software developer in the development environment. The SDO is composed of knowledge entries that are facts and rules. It asks questions about projects and its data parameters. The paper consists to develop the software developer optimizer support the developer to get the expert system facts, SOA and software engineering paradigm. Using these three information, the developer can design the software projects. For designing the project, the SDO can support to communicate all the resources. It is the source to communicate these three resources. The Software Developer Optimizer is a knowledge-based consultation and optimization system. The system asks questions about projects inputs and outputs as a well parameters. After building the expert system, it is vital to verify its knowledge, reasoning, web services and inference mechanism. The web services are 246

identified by the SOA. The SDO is for identify and separate the modules and develop the software according to the process. Validating it is the next step to follow to confirm its soundness. Furthermore, an expert system should be evaluated to judge its value, quality, importance, extent, and condition. Also, it should be continuously maintained, which guarantees its transparency, robustness, creativity, and adaptability. REFERENCES [1] Chefi Ketata, Maria C. Rockwell and Denis Riordan, Knowledge-Based Inspection of Stream Sampling Correctness in Mineral Processing Plants, paper presented at the 1999 CSIE Conference, [2] Chefi Ketata, Maria C. Rockwell and Denis Riordan, Development of Expert Systems for Stream Sampling in Mineral Processing Plants, Artificial Intelligence in Engineering, 14:2, 2000. [3] Abdulatif Abdulah and Rafiqul Islam, A Decision- Making Expert System for the Oil Transport System, paper SPE 69423 presented at the 2001 SPE. [4] Chefi Ketata and M. Rafiqul Islam, Knowledge Selection for Laser Drilling in the Oil and Gas Industry, paper presented at the 2005 IAWTIC Conference in Vienna, Austria. [5] Arsanjani, A.: Service-Oriented Modelling and Architecture (SOMA), IBM developer-works 2004, [6] Bailey, A. D. Jr., K. Hackenbrack, P. De and J. Dillard. 1987. Artificial intelligence, cognitive science, and computational modeling in auditing research: A research approach. Journal of Information Systems (Spring): 20-40 [7] Basden A, Some technical and no-technical issues in implementing a knowledge server, Software Practice and Experience 30(10), 2000, pp. 1127 1164. [8] Harmon, Paul (ed.) 1992a. Intelligent Software Strategies. Vol. VII, No. 7, 1992. [9] Jon G.Hall Expert Systems review The Journal of Knowledge Engineering ISSN: 0266-4270, Willey- Black well press, USA 2009. [10] Plant, R.E. and N.D. Stone. 1991. Knowledge- Based Systems in Agriculture. McGraw-Hill, Inc. New York, NY, 364 p 247