Abstract: In the software development lifecycle, the quality prediction techniques hold a prime importance in order to minimize future design errors and expensive maintenance. There are many techniques proposed by various researchers, but with the increasing complexity of the software lifecycle model, it is crucial to develop a flexible system which can cater for the factors which in result have an impact on the quality of the end product. These factors include properties of the software development process and the product along with its operation conditions. In this paper, a neural network (perceptron) based software quality prediction technique is proposed. Using this technique, the stakeholders can predict the quality of the resulting software during the early phases of the lifecycle saving time and resources on future elimination of design errors and costly maintenance. This technique can be brought into practical use using successful training.
Abstract: This paper presents an approach to reduce some of its current flaws in the requirements phase inside the software development process. It takes the software requirements of an application, makes a conceptual modeling about it and formalizes it within JSON documents. This formal model is lodged in a NoSQL database which is document-oriented, that is, MongoDB, because of its advantages in flexibility and efficiency. In addition, this paper underlines the contributions of the detailed approach and shows some applications and benefits for the future work in the field of automatic code generation using model-driven engineering tools.
Abstract: More and more businesses and services are depending on software to run their daily operations and business services. At the same time, cyber-attacks are becoming more covert and sophisticated, posing threats to software. Vulnerabilities exist in the software due to the lack of security practices during the phases of software development. Implementation of secure software development practices can improve the resistance to attacks. Many methods, models and standards for secure software development have been developed. However, despite the efforts, they still come up against difficulties in their deployment and the processes are not institutionalized. There is a set of factors that influence the successful deployment of secure software development processes. In this study, the methodology and results from a systematic literature review of factors influencing the implementation of secure software development practices is described. A total of 44 primary studies were analysed as a result of the systematic review. As a result of the study, a list of twenty factors has been identified. Some of factors that affect implementation of secure software development practices are: Involvement of the security expert, integration between security and development team, developer’s skill and expertise, development time and communication between stakeholders. The factors were further classified into four categories which are institutional context, people and action, project content and system development process. The results obtained show that it is important to take into account organizational, technical and people issues in order to implement secure software development initiatives.
Abstract: Unified Modeling Language (UML) is considered as one of the widespread modeling language standardized by the Object Management Group (OMG). Therefore, the model driving engineering (MDE) community attempts to provide reuse of UML diagrams, and do not construct it from scratch. The UML model appears according to a specific software development process. The existing method generation models focused on the different techniques of transformation without considering the development process. Our work aims to construct an UML component from fragments of UML diagram basing on an agile method. We define UML fragment as a portion of a UML diagram, which express a business target. To guide the generation of fragments of UML models using an agile process, we need a flexible approach, which adapts to the agile changes and covers all its activities. We use the software product line (SPL) to derive a fragment of process agile method. This paper explains our approach, named RECUP, to generate UML fragments following an agile process, and overviews the different aspects. In this paper, we present the approach and we define the different phases and artifacts.
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: Communicating and managing customers’
requirements in software development projects play a vital role in the
software development process. While it is difficult to do so locally, it
is even more difficult to communicate these requirements over
distributed boundaries and to convey them to multiple distribution
customers. This paper discusses the communication of multiple
distribution customers’ requirements in the context of customised
software products. The main purpose is to understand the challenges
of communicating and managing customisation requirements across
distributed boundaries. We propose a model for Communicating
Customisation Requirements of Multi-Clients in a Distributed
Domain (CCRD). Thereafter, we evaluate that model by presenting
the findings of a case study conducted with a company with
customisation projects for 18 distributed customers. Then, we
compare the outputs of the real case process and the outputs of the
CCRD model using simulation methods. Our conjecture is that the
CCRD model can reduce the challenge of communication
requirements over distributed organisational boundaries, and the
delay in decision making and in the entire customisation process
time.
Abstract: Most quality models have defined usability as a
significant factor that leads to improving product acceptability,
increasing user satisfaction, improving product reliability, and also
financially benefitting companies. Usability is also the best factor that
balances both the technical and human aspects of a software product,
which is an important aspect in defining quality during software
development process. A usability risk consist risk factors that could
impact the usability of a software product thereby contributing to
negative user experiences and causing a possible software product
failure. Hence, it is important to mitigate and reduce usability risks in
the software development process itself. By managing possible
usability risks in software development process, failure of software
product could be reduced. Therefore, this research uses the Delphi
method to identify mitigation plans for reducing potential usability
risks. The Delphi method is conducted with seven experts from the
field of risk management and software development.
Abstract: Within the last years, several technologies have been developed to help building e-learning portals. Most of them follow approaches that deliver a vast amount of functionalities, suitable for class-like learning. The SuGI project, as part of the D-Grid (funded by the BMBF), targets on delivering a highly scalable and sustainable learning solution to provide materials (e.g. learning modules, training systems, webcasts, tutorials, etc.) containing knowledge about Grid computing to the D-Grid community. In this article, the process of the development of an e-learning portal focused on the requirements of this special user group is described. Furthermore, it deals with the conceptual and technical design of an e-learning portal, addressing the special needs of heterogeneous target groups. The main focus lies on the quality management of the software development process, Web templates for uploading new contents, the rich search and filter functionalities which will be described from a conceptual as well as a technical point of view. Specifically, it points out best practices as well as concepts to provide a sustainable solution to a relatively unknown and highly heterogeneous community.
Abstract: An application framework provides a reusable
design and implementation for a family of software systems.
Frameworks are introduced to reduce the cost of a product line
(i.e., family of products that share the common features). Software
testing is a time consuming and costly ongoing activity during the
application software development process. Generating reusable test
cases for the framework applications at the framework
development stage, and providing and using the test cases to test
part of the framework application whenever the framework is used
reduces the application development time and cost considerably.
Framework Interface Classes (FICs) are classes introduced by
the framework hooks to be implemented at the application
development stage. They can have reusable test cases generated at
the framework development stage and provided with the
framework to test the implementations of the FICs at the
application development stage. In this paper, we conduct a case
study using thirteen applications developed using three
frameworks; one domain oriented and two application oriented.
The results show that, in general, the percentage of the number of
FICs in the applications developed using domain frameworks is, on
average, greater than the percentage of the number of FICs in the
applications developed using application frameworks.
Consequently, the reduction of the application unit testing time
using the reusable test cases generated for domain frameworks is,
in general, greater than the reduction of the application unit testing
time using the reusable test cases generated for application
frameworks.
Abstract: User-Centered Design (UCD), Usability Engineering (UE) and Participatory Design (PD) are the common Human- Computer Interaction (HCI) approaches that are practiced in the software development process, focusing towards issues and matters concerning user involvement. It overlooks the organizational perspective of HCI integration within the software development organization. The Management Information Systems (MIS) perspective of HCI takes a managerial and organizational context to view the effectiveness of integrating HCI in the software development process. The Human-Centered Design (HCD) which encompasses all of the human aspects including aesthetic and ergonomic, is claimed as to provide a better approach in strengthening the HCI approaches to strengthen the software development process. In determining the effectiveness of HCD in the software development process, this paper presents the findings of a content analysis of HCI approaches by viewing those approaches as a technology which integrates user requirements, ranging from the top management to other stake holder in the software development process. The findings obtained show that HCD approach is a technology that emphasizes on human, tools and knowledge in strengthening the HCI approaches to strengthen the software development process in the quest to produce a sustainable, usable and useful software product.
Abstract: The emerging Semantic Web has been attracted many
researchers and developers. New applications have been developed on top of Semantic Web and many supporting tools introduced to improve its software development process. Metadata modeling is one of development process where supporting tools exists. The existing
tools are lack of readability and easiness for a domain knowledge expert to graphically models a problem in semantic model. In this paper, a metadata modeling tool called RDFGraph is proposed. This
tool is meant to solve those problems. RDFGraph is also designed to work with modern database management systems that support RDF and to improve the performance of the query execution process. The
testing result shows that the rules used in RDFGraph follows the W3C standard and the graphical model produced in this tool is properly translated and correct.
Abstract: Software organizations are constantly looking for
better solutions when designing and using well-defined software
processes for the development of their products and services.
However, while the technical aspects are virtually easier to arrange,
many software development processes lack more support on project
management issues. When adopting such processes, an organization
needs to apply good project management skills along with technical
views provided by those models. This research proposes the
definition of a new model that integrates the concepts of PMBOK
and those available on the OPEN metamodel, helping not only
process integration but also building the steps towards a more
comprehensive and automatable model.
Abstract: The policies governing the business of any
organization are well reflected in her business rules. The business
rules are implemented by data validation techniques, coded during
the software development process. Any change in business
policies results in change in the code written for data validation
used to enforce the business policies. Implementing the change in
business rules without changing the code is the objective of this
paper. The proposed approach enables users to create rule sets at
run time once the software has been developed. The newly defined
rule sets by end users are associated with the data variables for
which the validation is required. The proposed approach facilitates
the users to define business rules using all the comparison
operators and Boolean operators. Multithreading is used to
validate the data entered by end user against the business rules
applied. The evaluation of the data is performed by a newly
created thread using an enhanced form of the RPN (Reverse Polish
Notation) algorithm.
Abstract: Unsatisfactory effectiveness of software systems
development and enhancement projects is one of the main reasons
why in software engineering there are attempts being made to use
experiences coming from other engineering disciplines. In spite of
specificity of software product and process a belief had come out that
the execution of software could be more effective if these objects
were subject to measurement – as it is true in other engineering
disciplines for which measurement is an immanent feature. Thus
objective and reliable approaches to the measurement of software
processes and products have been sought in software engineering for
several dozens of years already. This may be proved, among others,
by the current version of CMMI for Development model. This paper
is aimed at analyzing the approach to the software processes and
products measurement proposed in the latest version of this very
model, indicating growing acceptance for this issue in software
engineering.
Abstract: An application framework provides a reusable design
and implementation for a family of software systems. Frameworks
are introduced to reduce the cost of a product line (i.e., a family of
products that shares the common features). Software testing is a timeconsuming
and costly ongoing activity during the application
software development process. Generating reusable test cases for the
framework applications during the framework development stage,
and providing and using the test cases to test part of the framework
application whenever the framework is used reduces the application
development time and cost considerably. This paper introduces the
Framework Interface State Transition Tester (FIST2), a tool for
automated unit testing of Java framework applications. During the
framework development stage, given the formal descriptions of the
framework hooks, the specifications of the methods of the
framework-s extensible classes, and the illegal behavior description
of the Framework Interface Classes (FICs), FIST2 generates unitlevel
test cases for the classes. At the framework application
development stage, given the customized method specifications of
the implemented FICs, FIST2 automates the use, execution, and
evaluation of the already generated test cases to test the implemented
FICs. The paper illustrates the use of the FIST2 tool for testing
several applications that use the SalesPoint framework.
Abstract: The software system goes through a number of stages
during its life and a software process model gives a standard format
for planning, organizing and running a project. The article presents a
new software development process model named as “Divide and
Conquer Process Model", based on the idea first it divides the things
to make them simple and then gathered them to get the whole work
done. The article begins with the backgrounds of different software
process models and problems in these models. This is followed by a
new divide and conquer process model, explanation of its different
stages and at the end edge over other models is shown.
Abstract: This paper describes the two actual tendencies in the
software development process usage: 'Scrum' and 'work in home
office'. It-s exposed the four main challenges to adopt Scrum
framework for distributed teams in this cited kind of work. The
challenges are mainly based on the communication problems due
distances since the Scrum encourages the team to work together in
the same room, and this is not possible when people work distributed
in their homes.
Abstract: The existing information system (IS) developments
methods are not met the requirements to resolve the security related
IS problems and they fail to provide a successful integration of
security and systems engineering during all development process
stages. Hence, the security should be considered during the whole
software development process and identified with the requirements
specification. This paper aims to propose an integrated security and
IS engineering approach in all software development process stages
by using i* language. This proposed framework categorizes into three
separate parts: modelling business environment part, modelling
information technology system part and modelling IS security part.
The results show that considering security IS goals in the whole
system development process can have a positive influence on system
implementation and better meet business expectations.
Abstract: Software Reliability is one of the key factors in the software development process. Software Reliability is estimated using reliability models based on Non Homogenous Poisson Process. In most of the literature the Software Reliability is predicted only in testing phase. So it leads to wrong decision-making concept. In this paper, two Software Reliability concepts, testing and operational phase are studied in detail. Using S-Shaped Software Reliability Growth Model (SRGM) and Exponential SRGM, the testing and operational reliability values are obtained. Finally two reliability values are compared and optimal release time is investigated.
Abstract: We present an implementation of an Online Exhibition System (OES) web service(s) that reflects our experiences with using web service development packages and software process models. The system provides major functionality that exists in similar packages. While developing such a complex web service, we gained insightful experience (i) in the traditional software development processes: waterfall model and evolutionary development and their fitness to web services development, (ii) in the fitness and effectiveness of a major web services development kit.