SEAug 4, 2017
Object-Oriented Sokoban Solver: A Serious Game Project for OOAD and AI EducationZheng Li, Liam O'Brien, Shayne Flint et al.
Serious games are beneficial for education in various computer science areas. Numerous works have reported the experiences of using games (not only playing but also development) in teaching and learning. Considering it could be difficult for teachers/students to prepare/develop a game from scratch during one semester, assistant educational materials would be crucial in the corresponding courses. Unfortunately, the literature shows that not many materials from educational game projects are shared. To help different educators identify suitable courseware and help students implement game development, it is worth further investigating and accumulating the educational resources from individual game projects. Following such an idea, this paper proposes a game development project of an object-oriented Sokoban solver, and exposes relevant educational materials. The documented system design can be viewed as a ready-to-use resource for education in object-oriented analysis and design (OOAD), while the Sokoban solver itself may be used as an assignment platform for teaching artificial intelligence (AI). Further documentation, platform, and APIs will be realized and shared in the future to facilitate others' educational activities. Overall, this work is supposed to inspire and encourage other researchers and educators to post available materials of more game projects for the purpose of sharing and reuse.
SESep 28, 2015
The more Product Complexity, the more Actual Effort? An Empirical Investigation into Software DevelopmentsZheng Li, Liam O'Brien, Ye Yang
[Background:] Software effort prediction methods and models typically assume positive correlation between software product complexity and development effort. However, conflicting observations, i.e. negative correlation between product complexity and actual effort, have been witnessed from our experience with the COCOMO81 dataset. [Aim:] Given our doubt about whether the observed phenomenon is a coincidence, this study tries to investigate if an increase in product complexity can result in the abovementioned counter-intuitive trend in software development projects. [Method:] A modified association rule mining approach is applied to the transformed COCOMO81 dataset. To reduce noise of analysis, this approach uses a constant antecedent (Complexity increases while Effort decreases) to mine potential consequents with pruning. [Results:] The experiment has respectively mined four, five, and seven association rules from the general, embedded, and organic projects data. The consequents of the mined rules suggested two main aspects, namely human capability and product scale, to be particularly concerned in this study. [Conclusions:] The negative correlation between complexity and effort is not a coincidence under particular conditions. In a software project, interactions between product complexity and other factors, such as Programmer Capability and Analyst Capability, can inevitably play a "friction" role in weakening the practical influences of product complexity on actual development effort.
SEFeb 9, 2013
Effort-Oriented Classification Matrix of Web Service CompositionZheng Li, Liam O'Brien, Jacky Keung et al.
Within the service-oriented computing domain, Web service composition is an effective realization to satisfy the rapidly changing requirements of business. Therefore, the research into Web service composition has unfolded broadly. Since examining all of the related work in this area becomes a mission next to impossible, the classification of composition approaches can be used to facilitate multiple research tasks. However, the current attempts to classify Web service composition do not have clear objectives. Furthermore, the contexts and technologies of composition approaches are confused in the existing classifications. This paper proposes an effort-oriented classification matrix for Web service composition, which distinguishes between the context and technology dimension. The context dimension is aimed at analyzing the environment influence on the effort of Web service composition, while the technology dimension focuses on the technique influence on the effort. Consequently, besides the traditional classification benefits, this matrix can be used to build the basis of cost estimation for Web service composition in future research.
SEFeb 9, 2013
Towards Technology Independent Strategies for SOA ImplementationsZheng Li, He Zhang, Liam O'Brien
Benefiting from the technology based strategies, Service-Oriented Architecture (SOA) has been able to achieve the general goals such as agility, flexibility, reusability and efficiency. Nevertheless, technical conditions alone cannot guarantee successful SOA implementations. As a valuable and necessary supplement, the space of technology independent strategies should also be explored. Through treating SOA system as an instance of organization and identifying the common ground on the similar process of SOA implementation and organization design, this paper uses existing work in organization theory area to inspire the research into technology independent strategies of SOA implementation. As a result, four preliminary strategies that can be applied to organizational area we identify to support SOA implementations. Furthermore, the novel methodology of investigating technology independent strategies for implementing SOA is revealed, which encourages interdisciplinary research across service-oriented computing and organization theory.
SEFeb 9, 2013
Circumstantial-Evidence-Based Judgment for Software Effort EstimationZheng Li, Liam O'Brien, He Zhang
Expert judgment for software effort estimation is oriented toward direct evidences that refer to actual effort of similar projects or activities through experts' experiences. However, the availability of direct evidences implies the requirement of suitable experts together with past data. The circumstantial-evidence-based judgment proposed in this paper focuses on the development experiences deposited in human knowledge, and can then be used to qualitatively estimate implementation effort of different proposals of a new project by rational inference. To demonstrate the process of circumstantial-evidence-based judgment, this paper adopts propositional learning theory based diagnostic reasoning to infer and compare different effort estimates when implementing a Web service composition project with some different techniques and contexts. The exemplar shows our proposed work can help determine effort tradeoff before project implementation. Overall, circumstantial-evidence-based judgment is not an alternative but complementary to expert judgment so as to facilitate and improve software effort estimation.