Abstract: Requirements modeling and analysis are important in successful information systems' maintenance. Unified Modeling Language (UML) class diagrams are useful standards for modeling information systems. To our best knowledge, there is a lack of a systems development methodology described by the organism metaphor. The core concept of this metaphor is adaptation. Using the knowledge representation and reasoning approach and ontologies to adopt new requirements are emergent in recent years. This paper proposes an organic methodology which is based on constructivism theory. This methodology is a knowledge representation and reasoning approach to analyze new requirements in the class diagrams maintenance. The process and rules in the proposed methodology automatically analyze inconsistencies in the class diagram. In the big data era, developing an automatic tool based on the proposed methodology to analyze large amounts of class diagram data is an important research topic in the future.
Abstract: Requirement Engineering (RE) is a part being created for programming structure during the software development lifecycle. Software product line development is a new topic area within the domain of software engineering. It also plays important role in decision making and it is ultimately helpful in rising business environment for productive programming headway. Decisions are central to engineering processes and they hold them together. It is argued that better decisions will lead to better engineering. To achieve better decisions requires that they are understood in detail. In order to address the issues, companies are moving towards Software Product Line Engineering (SPLE) which helps in providing large varieties of products with minimum development effort and cost. This paper proposed a new framework for software product line and compared with other models. The results can help to understand the needs in SPL testing, by identifying points that still require additional investigation. In our future scenario, we will combine this model in a controlled environment with industrial SPL projects which will be the new horizon for SPL process management testing strategies.
Abstract: This paper critically examines the evolution of socio-technical systems theory, its practices, and challenges in system design and development. It examines concepts put forward by researchers focusing on the application of the theory in software engineering. There are various methods developed that use socio-technical concepts based on systems engineering without remarkable success. The main constraint is the large amount of data and inefficient techniques used in the application of the concepts in system engineering for developing time-bound systems and within a limited/controlled budget. This paper critically examines each of the methods, highlight bottlenecks and suggest the way forward. Since socio-technical systems theory only explains what to do, but not how doing it, hence engineers are not using the concept to save time, costs and reduce risks associated with new frameworks. Hence, a new framework, which can be considered as a practical approach is proposed that borrows concepts from soft systems method, agile systems development and object-oriented analysis and design to bridge the gap between theory and practice. The approach will enable the development of systems using socio-technical systems theory to attract/enable the system engineers/software developers to use socio-technical systems theory in building worthwhile information systems to avoid fragilities and hostilities in the work environment.
Abstract: Up to this point business process management projects
in general and business process modelling projects in particular
could not rely on a practical and scientifically validated method to
estimate cost and effort. Especially the model development phase
is not covered by a cost estimation method or model. Further
phases of business process modelling starting with implementation
are covered by initial solutions which are discussed in the literature.
This article proposes a method of filling this gap by deriving a cost
estimation method from available methods in similar domains namely
software development or software engineering. Software development
is regarded as closely similar to process modelling as we show. After
the proposition of this method different ideas for further analysis and
validation of the method are proposed. We derive this method from
COCOMO II and Function Point which are established methods of
effort estimation in the domain of software development. For this
we lay out similarities of the software development process and the
process of process modelling which is a phase of the Business Process
Management life-cycle.
Abstract: All the software engineering researches and best
industry practices aim at providing software products with high
degree of quality and functionality at low cost and less time. These
requirements are addressed by the Component Based Software
Engineering (CBSE) as well. CBSE, which deals with the software
construction by components’ assembly, is a revolutionary extension
of Software Engineering. CBSE must define and describe processes
to assure timely completion of high quality software systems that are
composed of a variety of pre built software components. Though
these features provide distinct and visible benefits in software design
and programming, they also raise some challenging problems. The
aim of this work is to summarize the pertinent issues and
considerations in CBSE to make an understanding in forms of
concepts and observations that may lead to development of newer
ways of dealing with the problems and challenges in CBSE.
Abstract: Through this paper we present a method for automatic
generation of ontological model from any data source using Model
Driven Architecture (MDA), this generation is dedicated to the
cooperation of the knowledge engineering and software engineering.
Indeed, reverse engineering of a data source generates a software
model (schema of data) that will undergo transformations to generate
the ontological model. This method uses the meta-models to validate
software and ontological models.
Abstract: Developing a reliable and sustainable software products is today a big challenge among up–coming software developers in Nigeria. The inability to develop a comprehensive problem statement needed to execute proper requirements engineering process is missing. The need to describe the ‘what’ of a system in one document, written in a natural language is a major step in the overall process of Software Engineering. Requirements Engineering is a process use to discover, analyze and validate system requirements. This process is needed in reducing software errors at the early stage of the development of software. The importance of each of the steps in Requirements Engineering is clearly explained in the context of using detailed problem statement from client/customer to get an overview of an existing system along with expectations from the new system. This paper elicits inadequate Requirements Engineering principle as the major cause of poor software development in developing nations using a case study of final year computer science students of a tertiary-education institution in Nigeria.
Abstract: This paper proposes a new teaching and learning approach-project and module based teaching and learning (PMBTL). The PMBTL approach incorporates the merits of project/problem based and module based learning methods, and overcomes the limitations of these methods. The correlation between teaching, learning, practice and assessment is emphasized in this approach, and new methods have been proposed accordingly. The distinct features of these new methods differentiate the PMBTL approach from conventional teaching approaches. Evaluation of this approach on practical teaching and learning activities demonstrates the effectiveness and stability of the approach in improving the performance and quality of teaching and learning. The approach proposed in this paper is also intuitive to the design of other teaching units.
Abstract: Process improvements have drawn much attention in
practical software engineering. The capability maturity levels from
CMMI have become an important index to assess a software company-s
software engineering capability. However, in countries like
Taiwan, customers often have no choices but to deal with vendors that
are not CMMI prepared or qualified. We call these vendors maturitylevel-
1 (ML1) vendors. In this paper, we describe our experience
from consulting an e-school project. We propose an approach to help
our client tackle the ML1 vendors. Through our system analysis, we
produce a design. This design is suggested to be used as part of
contract and a blueprint to guide the implementation.
Abstract: Design patterns describe good solutions to common
and reoccurring problems in program design. Applying design
patterns in software design and implementation have significant
effects on software quality metrics such as flexibility, usability,
reusability, scalability and robustness. There is no standard rule for
using design patterns. There are some situations that a pattern is
applied for a specific problem and this pattern uses another pattern.
In this paper, we study the effect of using chain of patterns on
software quality metrics.
Abstract: Measuring the complexity of software has been an
insoluble problem in software engineering. Complexity measures can
be used to predict critical information about testability, reliability,
and maintainability of software systems from automatic analysis of
the source code. During the past few years, many complexity
measures have been invented based on the emerging Cognitive
Informatics discipline. These software complexity measures,
including cognitive functional size, lend themselves to the approach
of the total cognitive weights of basic control structures such as loops
and branches. This paper shows that the current existing calculation
method can generate different results that are algebraically
equivalence. However, analysis of the combinatorial meanings of this
calculation method shows significant flaw of the measure, which also
explains why it does not satisfy Weyuker's properties. Based on the
findings, improvement directions, such as measures fusion, and
cumulative variable counting scheme are suggested to enhance the
effectiveness of cognitive complexity measures.
Abstract: Software Architecture plays a key role in software development but absence of formal description of Software Architecture causes different impede in software development. To cope with these difficulties, ontology has been used as artifact. This paper proposes ontology for Software Architectural design based on IEEE model for architecture description and Kruchten 4+1 model for viewpoints classification. For categorization of style and views, ISO/IEC 42010 has been used. Corpus method has been used to evaluate ontology. The main aim of the proposed ontology is to classify and locate Software Architectural design information.
Abstract: Reverse Engineering is a very important process in
Software Engineering. It can be performed backwards from system
development life cycle (SDLC) in order to get back the source data
or representations of a system through analysis of its structure,
function and operation. We use reverse engineering to introduce an
automatic tool to generate system requirements from its program
source codes. The tool is able to accept the Cµ programming source
codes, scan the source codes line by line and parse the codes to
parser. Then, the engine of the tool will be able to generate system
requirements for that specific program to facilitate reuse and
enhancement of the program. The purpose of producing the tool is to
help recovering the system requirements of any system when the
system requirements document (SRD) does not exist due to
undocumented support of the system.
Abstract: Free and open source software is gaining popularity at
an unprecedented rate of growth. Organizations despite some
concerns about the quality have been using them for various
purposes. One of the biggest concerns about free and open source
software is post release software defects and their fixing. Many
believe that there is no appropriate support available to fix the bugs.
On the contrary some believe that due to the active involvement of
internet user in online forums, they become a major source of
communicating the identification and fixing of defects in open source
software. The research model of this empirical investigation
establishes and studies the relationship between open source software
defects and online public forums. The results of this empirical study
provide evidence about the realities of software defects myths of
open source software. We used a dataset consist of 616 open source
software projects covering a broad range of categories to study the
research model of this investigation. The results of this investigation
show that online forums play a significant role identifying and fixing
the defects in open source software.
Abstract: Productivity has been one of the major concerns with the increasingly high cost of software development. Choosing the right development language with high productivity is one approach to reduce development costs. Working on the large database with 4106 projects ever developed, we found the factors significant to productivity. After the removal of the effects of other factors on productivity, we compare the productivity differences of the ten general development programs. The study supports the fact that fourth-generation languages are more productive than thirdgeneration languages.
Abstract: Majority of Business Software Systems (BSS)
Development and Enhancement Projects (D&EP) fail to meet criteria
of their effectiveness, what leads to the considerable financial losses.
One of the fundamental reasons for such projects- exceptionally low
success rate are improperly derived estimates for their costs and time.
In the case of BSS D&EP these attributes are determined by the work
effort, meanwhile reliable and objective effort estimation still appears
to be a great challenge to the software engineering. Thus this paper is
aimed at presenting the most important synthetic conclusions coming
from the author-s own studies concerning the main factors of
effective BSS D&EP work effort estimation. Thanks to the rational
investment decisions made on the basis of reliable and objective
criteria it is possible to reduce losses caused not only by abandoned
projects but also by large scale of overrunning the time and costs of
BSS D&EP execution.
Abstract: This paper is a survey of current component-based
software technologies and the description of promotion and
inhibition factors in CBSE. The features that software components
inherit are also discussed. Quality Assurance issues in componentbased
software are also catered to. The feat research on the quality
model of component based system starts with the study of what the
components are, CBSE, its development life cycle and the pro &
cons of CBSE. Various attributes are studied and compared keeping
in view the study of various existing models for general systems and
CBS. When illustrating the quality of a software component an apt
set of quality attributes for the description of the system (or
components) should be selected. Finally, the research issues that can
be extended are tabularized.
Abstract: The importance of low power consumption is widely
acknowledged due to the increasing use of portable devices, which
require minimizing the consumption of energy. Energy dissipation is
heavily dependent on the software used in the system. Applying
design patterns in object-oriented designs is a common practice
nowadays. In this paper we analyze six design patterns and explore
the effect of them on energy consumption and performance.
Abstract: Component-Based software engineering provides an
opportunity for better quality and increased productivity in software
development by using reusable software components [10]. One of the
most critical aspects of the quality of a software system is its
performance. The systematic application of software performance
engineering techniques throughout the development process can help
to identify design alternatives that preserve desirable qualities such
as extensibility and reusability while meeting performance objectives
[1]. In the present scenario, software engineering methodologies
strongly focus on the functionality of the system, while applying a
“fix- it-later" approach to software performance aspects [3]. As a
result, lengthy fine-tunings, expensive extra hard ware, or even
redesigns are necessary for the system to meet the performance
requirements. In this paper, we propose design based,
implementation independent, performance prediction approach to
reduce the overhead associated in the later phases while developing a
performance guaranteed software product with the help of Unified
Modeling Language (UML).
Abstract: Software crisis refers to the situation in which the developers are not able to complete the projects within time and budget constraints and moreover these overscheduled and over budget projects are of low quality as well. Several methodologies have been adopted form time to time to overcome this situation and now in the focus is component based software engineering. In this approach, emphasis is on reuse of already existing software artifacts. But the results can not be achieved just by preaching the principles; they need to be practiced as well. This paper highlights some of the very basic elements of this approach, which has to be in place to get the desired goals of high quality, low cost with shorter time-to-market software products.