SoftPro Software Project Management Supportive Tool Gimhana Dewapura, Hasith Wijewickrama, Udara Dharmarathna, Marlon Gunathilake Tharindu Perera Department of Information Technology, Sri Lanka Institute of Information Technology (SLIIT), Malabe, Sri Lanka. gimhana888@gmail.com 1, wijewickramah@gmail.com 2, udara.thilinda1@gmail.com 3, marlondev90@gmail.com 4, tharindu.p@sliit.lk 5 Abstract This paper reports evidence that SoftPro, a supportive software project management tool based on information analyzing and predictions is more applicable solution to improve the business value of Software Project Management. In different kinds of applications, project management programs frequently have a learning curve that raise depends on the program s complexity. It use online management applications.the basic tasks of the project managers are learning how to use a program s major features. Therefore they should ensure that team members learn to use the components that they need to represent their task. As it takes a long period of time to plan a project, explain milestones, enter all the things in to the system and allocate tasks to each and every member in the team. Project management software cause amateur project managers to build up the projects which are more complex. As the result of above responsibilities we are willing to support to automate the project management role via this research.that is the criteria we are mainly focusing through this research. Automating the above each and every responsibilities can provide real value to software development projects. In this research, we will explore the value of automation and provide some guidance for automating aspects of the development process. As the result of this research we will be able to run any kind of software project without having a project manager role. Keywords : Ontology, Information Analyzing, Wordnet, Text Mining, Predictions, Classification, Clustering, Regression I..INTRODUCTION Our introducing automated project management systems gives high quality web applications for customers and it will help to ensure the durability too. Developing a web based automated project management system helps users to handle projects in a convenient way without the help of any project manager. The reliability and the robustness of the system offers lots of advantages to the user. This system which has been developed, which highly meets the standard and requirements set by the user. In here customer needs are basically the most important to understand, how to analyze the requirements, produce a design and go about development and testing so that the system you deliver is a high quality and does what the client wants it to do. In here we extract the customer requirement through the documents. Those requirements can be ambiguous or may be unnecessary requirements. Ontology engine will grab those requirements from the single lines which are in the documents. According to the inbuilt methodology ontology engine decide all the possible and essential requirements through the each and every diagrams without any duplications of the same requirements. As the output it will release the finalize unambiguous unique requirements according to the user priority.another important part of this system is automated prediction generator. One of the most important thing of the project management includes is risk management of the project. In lots of projects risks are analyzed and identified in a random way. This is a massive problem because unexpected risk can be arise.so for avoiding that we do the automated risk prediction for each and every activity. As well as this system will predict the time consuming and estimate the project cost. According to this automated software project management system can surprisingly increase performance, productivity and efficiency within an organization without a project manager. II. RESEARCH UNDERSTANDING At first we would get an understanding about research problem. To get started we will first define in clear statement: wha is the problem we want to explore in our research. Then we will find out the bigger scope of this research. Then we will discuss about the solution.
A. Explore the problem space Let s assume in the middle of a software project, project manager has to leave the company due to unavoidable circumstances. So what will happen next? If a new project manager has been recruited to the company, then it takes some time to him to adjust to the current progress of the project. So it is time wasting and sometimes it can reduce the success rate of the project or even get fail. So then companies need to rely When selecting a development team for a software project how can we measure they are the right people for the project. If unsuitable people assigned to handle the project ultimately project will become a mess. Company s reputation depends on the success of the project. Therefore, to complete a project successfully righteous people should be assigned to perform the tasks. And that is a major problem most of the IT companies are facing today[1]. B. Proposed Solution The main requirement of this research is to find a solution for problems associated with Requirement Gathering, Analyzing Documents and Prediction such as cost, deadline, risk management etc. When we consider about Analyzing Documents[2], Project manager or Requirement Annalistic go through the all the pages of the document to find specific area. This is time consuming and cost wasting way. If we were able to generate accurate predictions before starting a project, then we can get a clear understanding of the project. It is also helps to manage the project more precisely[3]. Regardless of the type of project you re beginning, one of the most important aspects of a good start is accurately forecasting when it will be completed. These are the limitations of the manual project management. We can avoid above mentioned limitations by using this product. III. IMPLEMENTATION SoftPro is a software project management supportive tool. System is segregated to 4 parts such as Project Team Prediction, Analyzing requirements inside the ontology engine, extracting information, summarizing, searching information and notification tracking[4]. The flow of the system goes ; inputs are taken to predict the team, then requirements document is taken from the client as an input to the requirements extractor, then the extracted requirements are sent to the ontology engine as an input, from the ontology engine the requirements are analyzed and the duplicated requirements will be removed, sent to the database, from the database, requirements will be matched with the predefined general tasks of a project, and those tasks will be segregated among the team members predicted from the team predictor[5]. Further, team could search information and summarize information from the information analyzer and summarrizer. Figure 1: Basic System Diagram A. Team Prediction Generating accurate predictions is always one step ahead to the success rate of a software project. By predicting and allocating right personnel to the right tasks software companies can reap the benefits of producing a standard software product. In order to achieve the aforementioned objective, a deep investigation is carried out upon similar non critical projects from software industries to get the parameters for selection of project personnel. Data mining, also popularly known as Knowledge Discovery in Database, refers to extracting or mining knowledge from large amounts of data. The sequences of steps identified in extracting knowledge from data are shown in this Figure. Figure 2: Predicting Data Various algorithms and techniques like Classification, Clustering, Regression, Artificial Intelligence, Neural
Networks, Association Rules, Decision Trees, Genetic Algorithm, Nearest Neighbor method etc., are used for data mining process [6]. Our Techniques and methods in data mining need brief mention to have better understanding. Here what we are going to use classification algorithms to master the prediction process. Under classification technique there are three major algorithms we are using here to predict the development team for a particular software project which are support vector machine, k nearest neighbors and naïve bayes. When considering SVM (support vector machine) it is a discriminative classifier formally defined by a separating hyperplane. In other words, given labeled training data (supervised learning), the algorithm outputs an optimal hyperplane which categorizes new examples. After creating the final data set it is given as an input to the system. From the finalized data set, only selected attributes are taken to pass as parameters to the algorithm. We are using two data sets for data mining purposes which are training and test data set. Separating data into training and testing sets is an important part of evaluating data mining models[7]. Typically, when you separate a data set into a training set and testing set, most of the data is used for training, and a smaller portion of the data is used for testing. Analysis Services randomly samples the data to help ensure that the testing and training sets are similar. By using similar data for training and testing, you can minimize the effects of data discrepancies and better understand the characteristics of the model. After the model has been processed by using the training set, you test the model by making predictions against the test set. Because the data in the testing set already contains known values for the attribute that you want to predict, it is easy to determine whether the model's guesses are correct. After that it will calculate the probabilities to happen. Here it is to the developers whether they are suited for the team or not. Finally, it will predict the whole team and update the database. B. Information Extraction All software development methods are based on requirements gathering. That is the first step of all development methods. For this function, client should separately provide requirements document to the SoftPro system. Then system will analyze the document and generate the text document by including the requirements of the software project. First system identifies the topics of the uploaded document. Then check System requirements, hardware requirements and software requirements, topics and extract information under those topics. Using that information system generates a text document and a xml document. Structure of the text document should be sentence wise and those sentences are simple present tense, to do this we use NLTK and WordNet. First we check in which tense the verbs in the sentence are in.then convert the verbs which are not in present tense to present tense. This process is done using this function. Sample example is below. verb = 'go' present = present_tense(verrb) print present # prints "going" past = past_tense(verb) print past # prints "went" Using the NodeBox::Liguistics print en.verb.present("gave") >>> give Then SoftPro system should check these requirements in the text document and remove the duplicate requirements this part will handle by the knowledge base system in this project. According to those requirements SoftPro system generates the tasks to achieve above requirements[8]. C. Ontology Ontology describe and represent an area of knowledge. This ontology based on some specific domain.it helps to communicate between human and the application system and provide correct information. Because ontology aims of domain knowledge. According to this research we developed an ontology to identify all of the unique unambiguous user requirements and build up and finalize the user requirements. Ontology is supporting for avoiding duplicated user requirements for build up our final product. We use Protégé editor as our ontology creation tool. This protégé use OWL ontology language.it is a language which is defining ontology on the web. System grab all the requirements and remove every each useless words which are not in ontology hierarchy. Then system identify the each and every relationship in each requirements and identifying the similar individuals for every each remaining words in each requirements.to identify those similarities OWL ontology suppose to describes a particular domain in terms of classes, properties and individuals and have rich description of the characteristics of that object. Data properties will represent the binary relationship and object properties represent the binary relationship which is link an individual to an individual. System goes through the leaf level and at the root it will identify the each and every similarities. SPARQL helps to access to each and every classes,subclasses and individuals. Finally it helps to finalize the unambiguous user requirements. Following diagram represent how do the each and every classes subclasses and individuals are going to arrange[9].
Figure 3 : Mapped Classes Given a similar sentence pair, parse tree for the 2 sentences are shown below. index. It then computes the term frequency map of the index to find the most frequent words found in the document, takes the top few terms and hits the index with a BooleanQuery to find the most relevant sentences. One strategy used by human summarizers is a strategy called skimming that involves reading the first paragraph fully, and then reading the first few sentences from each of the succeeding paragraphs. Our LuceneSummarizer models this using a linear function that is applied to sentences after the first paragraph. b = 1.0 (f*i) if boost >= b0 b = b0 if boost < b0 where: b = computed boost factor b0 = minimum score after boost f = (de-)boost factor i = position of sentence in paragraph. This results in successive sentences (from the second paragraph onwards) to be treated as less and less important, until it reaches a floor, at which point successive sentences in the paragraph get the same importance. The graph below is the actual boost values from one of my test cases, and should help visualizing the behavior of the above function[2]. Figure 4 : Parse tree for sentence pair Our ontology engine will identify the sentences as shown in the above figure as same kind of sentence.so using that the duplicating requirements would be able to identify[3]. D. Information Analysing and Summarising Summarization involves reading a body of text, and summarizing it in our own words, and if done algorithmically, requires a fair amount of AI code and domain knowledge (about the text being summarized).goal was finding the best few sentences from a text body. We looked at 2 open source summarizer applications namely Classifier4J(C4J) and Open Text Summariser(OTS). Summariser is built, taking ideas from both the applications. For example, OTS uses XML files to specify grammar rules and a dictionary of excluded words, which could be implemented using a Lucene's PorterStemFilter and StopFilter respectively. Classifier4J tokenizes words and uses an in-memory HashMap to store a wordfrequency map, which Lucene provides using its the terms() and docfreq() methods of IndexReader. LuceneSummarizer tokenizes the input into paragraphs, and the paragraphs into sentences, then writes each sentence out to an in-memory Lucene Figure 5: Boost values from test case IV. Conclusion With the development of above software project management supportive tool, a flood of responsibilities of the software project manager is reduced. Developing a web based intelligent supportive tool helps users to handle software projects in a convenient way without help of any software project manager. The reliability and the robustness of this intelligent software project management supportive tool offers lots of advantages to the organization or user who is willing to use this product. This tool has been developed,which highly meets the standard and requirements set by the user. Understanding and analyzing the user needs, finalize the requirements and make predictions are the four main categories which are focused by developing this intelligent supportive tool. Most importantly, the
software project management supportive tool should be useful to a business. It should offer real, tangible benefits, either by increasing efficiency, providing better data or decreasing cost. This intelligent supportive tool can save deployers time, offer better information and provide cost savings. The business validity of this intelligent supportive tool will depict by updated in real time, easy to use, brandable and accessible to different levels of users. REFERENCES [1] R. Dildar, S. Fida, K. Zaman, and T. Nazir, "Limited Use of Project Management Tools and Techniques; Determining and Evaluating the Reasons," pp. 4 5, 2014. [2] V. S.Anantatmula, "Project Manager Leadership Role in Improving Project Performance," Engineering Management Journal, vol. 22, pp. 6 8, Mar. 2010. [3] Raymond, L., & Bergeron, F. (2008). Project management information systems: An empirical study of their impact on project managers and project success. International Journal of Project Management. [4] K. Muszynska, "Communication Management in Project Teams - Practices and Patterns," Management, Knowledge and Learning Joint International Conference, pp. 1359 1365, May 2015. [5] Prasanta Kumar Dey, Benjamin Thomas Clegg, David J. Bennett, "Managing enterprise resource planning projects", Business Process Management Journal, Vol. 16 Iss: 2, pp.282 296. [6] Carl Sant'Anselmo, Robert Sant'Anselmo, David C. Hooper Identification symbol, system and method U.S. Patent 5 612 524, March 18, 1997. [7] Makoto Sato Image retrieval by comparing wavelet encoded database images with input shapes U.S. 6 532 307 B1, March 11, 2003. [8] J. Han,M. Kamber, M. Kaufmann, Data Mining: Concepts and Techniques, 2000. [9] Lucene Summariser,[Online] Available: http://sujitpal.blogspot.com/2009/02/summarizationwith-lucene.html. [10] Similar Sentence,[Online] Available: http://sujitpal.blogspot.com/search?updatedmin=2016-01-01t00:00:00-08:00&updatedmax=2017-01-01t00:00:00-08:00&max-results=16