Learn More
In last decade, researchers have often tried to improve the usability, portability, integrity and other aspects of software in order for it to be more users friendly and gain user trust. Several approaches and techniques have been proposed to reduce the negative effects of software size and complexity. Moreover, several software quality models were proposed(More)
Pattern is one of the most simple and powerful techniques to improve the design, and consequently enhance the maintainability, reusability, and reverse engineering. Design pattern detection is a useful technique for gaining knowledge on the design issues of existing systems and improves the system's comprehension, which consequently enhance the software(More)
Software reuse is a major concern in many software development companies. It is one of the main strategies used to reduce the cost of software product development. Studies show that the reuse strategy is the most significant strategy in terms of effort and quality. That it could save the half of the software development effort and increase the quality of(More)
The nature of an Open Source Software development paradigm forces individual practitioners and organization to adopt software through trial and error approach. This leads to the problems of coming across software and then abandoning it after realizing its lack of important qualities to suit their requirements or facing negative challenges in maintaining the(More)
Software development is a highly knowledge intensive activity. During the software life cycle, knowledge and experiences are accumulated over time. One of the main knowledge sources in software development is lessons learned. Even though lessons learned have been a common practice for process improvement, however, there are arguments that lessons learned(More)
Metaphor is a representation of object and situation that have meaning and comparable to real thing to convey the message to people. The purpose of using metaphor is to facilitate in making communication more direct and effective for particular user communities. This study reveals design metaphor issues for paddy farmer population in agriculture domain in(More)
Software testing is the most crucial phase in software development life cycle which intends to find faults as much as possible. Test case generation leads the research in software testing. So, many techniques were proposed for the sake of automating the test case generation process. State sensitivity partitioning is a technique that partitions the entire(More)
Software testing requires executing software under test with the intention of finding defects as much as possible. Test case generation remains the most dominant research in software testing. The technique used in generating test cases may lead to effective and efficient software testing process. Many techniques have been proposed to generate test cases.(More)
The African continent has long benefited from adopting OSS in its private and public organizations that have changed their way of development, the use and how to acquire proprietary software. This frequency of adaptation does not appear to be in balance with the contribution to the OSS community. Using views from experienced software practitioners working(More)