Font Size: a A A

Ontology Modeling For Software And Related Techniques In Crowd-based Software Engineering Environment

Posted on:2016-12-06Degree:MasterType:Thesis
Country:ChinaCandidate:Z Y ZhuFull Text:PDF
GTID:2428330461457762Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Crowd Model is an emerging pattern,which use the crowd intelligence to complete the relevant work.With the rapid development and popularization of the Internet in recent years,Crowd Model is adopted in many social innovation fields.The researchers introduced Crowd Model into the field of Software Engineering and proposed the concept of Crowd-based Software Engineering.In Crowd-based Software Engineering,the development process changes from the traditional closed model to an open mode,software developers are no longer relatively fixed,development time and place is no longer unified,organized way changes from the traditional factory mode to community mode,and development methodology shifts from mechanical engineering to social engineering.Thus this process need to work together and exchange or share a lot of resources,like software description,models and code.How to represent and interact with these shared resources is essential for achieving the Crowd-based Software Development.Choosing a core model of knowledge representation is a considerable work.This paper introduces Ontology as a core knowledge representation model of Crowd-based Software Development.Ontology is conceptualized,explicit,formal,and shareable,so it is very suitable for this open software development scenarios.The main work includes the following three aspects:Firstly,we built a software ontology model to describe software information.This article drew on some of the ontology modeling of Web service and component,design a software concept hierarchy for software ontology model:The root is Software concept,System Software concept,Multimedia Software concept,Office Software concept are sub-concepts of Software concept.Software concept has some properties like name,developer,size,version,etc.Ontology model also has other concepts,such as Interface concept,Digital Signature concept,Hardware concept and other software-related concepts.Software ontology model focused on two kind of relationships:relationships between software entities,such as software dependencies relationship,relationship between the main line software and branch software,relationship between the complete software and its components;relationships between sofftware and other concepts,such as the relationship between the software and digital signature,relationship between software and the interface description,relationship between software and hardware.Secondly,we described the constructing process of software ontology by building sub-ontology for mobile software.The main work:design a web crawler to get phone software information from mobile application store,and preprocess the initial text data;build mobile software sub-ontology and check the consistency of the ontology:because there are many duplicate softwares in data set,but their names may not be identical,we design a semantic similarity approach to detect same software relationship,thereby removing duplication;for there are some errors or missing data,we develop an automate way to amend or supplement by combining same software relationships and Internet search engine software.Finally,we got more than 300000 software entities,and detected more than 40000 same software sets.Finally,we enriched semantic of software ontology model by clustering software function features.Its core is using features of computer software to build the corresponding content of ontology.The main work:use web crawler to obtain basic information and feature information from Softpedia website;design a semantic distance K-means clustering method to process feature information expressed by natural language.This method utilizes WordNet tool to calculate semantic similarity between words,and compute short text based Pointwise Mutual Information as a supplement.The method aggregates similar software features,and the feature of the nearest cluster center represents the corresponding cluster,then it will be added to the software features entities.Comparing with cosine distance K-means clustering,the experiments result shows that our method is higher in BCubed recall.Finally,we talked about the impact of feature clustering to software ontology modeling...
Keywords/Search Tags:ontology, crowd-based software engineering, semantic modeling, mobile software semantic
PDF Full Text Request
Related items