Abstract: Change requirement traceability in object oriented software systems is one of the challenging areas in research. We know that the traces between links of different artifacts are to be automated or semi-automated in the software development life cycle (SDLC). The aim of this paper is discussing and implementing aspects of dynamically linking the artifacts such as requirements, high level design, code and test cases through the Extensible Markup Language (XML) or by dynamically generating Object Oriented (OO) metrics. Also, non-functional requirements (NFR) aspects such as stability, completeness, clarity, validity, feasibility and precision are discussed. We discuss this as a Fifth Taxonomy, which is a system vulnerability concern.
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: In recent times, the rapid change in new technologies has spurred up the way and manner records are handled in educational institutions. Also, there is a need for reliable access and ease-of use to these records, resulting in increased productivity in organizations. In academic institutions, such benefits help in quality assessments, institutional performance, and assessments of teaching and evaluation methods. Students in educational institutions benefit the most when advanced technologies are deployed in accessing records. This research paper discusses the use of biometric technologies coupled with smartcard technologies to provide a unique way of identifying students and matching their data to financial records to grant them access to restricted areas such as examination halls. The system developed in this paper, has an identity verification component as part of its main functionalities. A systematic software development cycle of analysis, design, coding, testing and support was used. The system provides a secured way of verifying student’s identity and real time verification of financial records. An advanced prototype version of the system has been developed for testing purposes.
Abstract: This research aims to create mobile tools to analyze rice disease quickly and easily. The principle of object-oriented software engineering and objective-C language were used for software development methodology and the principle of decision tree technique was used for analysis method. Application users can select the features of rice disease or the color appears on the rice leaves for recognition analysis results on iOS mobile screen. After completing the software development, unit testing and integrating testing method were used to check for program validity. In addition, three plant experts and forty farmers have been assessed for usability and benefit of this system. The overall of users’ satisfaction was found in a good level, 57%. The plant experts give a comment on the addition of various disease symptoms in the database for more precise results of the analysis. For further research, it is suggested that image processing system should be developed as a tool that allows users search and analyze for rice diseases more convenient with great accuracy.
Abstract: This paper focused on application support for technical control of artillery units – PVNPG-14M, especially on interpolation issue. Artillery units of the Army of the Czech Republic, reflecting the current global security neighborhood, can be used outside the Czech Republic. The paper presents principles, evolution and calculation in the process of complete preparation. The paper presents expertise using of application of current artillery communication and information system and suggests the perspective future system. The paper also presents problems in process of complete preparing of fire especially problems in permanently information (firing table) and calculated values. The paper presents problems of current artillery communication and information system and suggests requirements of the future system.
Abstract: Software vulnerabilities are increasing and not only impact services and processes availability as well as information confidentiality, integrity and privacy, but also cause changes that interfere in the development process. Security test could be a solution to reduce vulnerabilities. However, the variety of test techniques with the lack of real case studies of applying tests focusing on software development life cycle compromise its effective use. This paper offers an overview of how a Systematic Mapping Study (MS) about security verification, validation and test (VVT) was performed, besides presenting general results about this study.
Abstract: Mobile applications are being used to perform a wide variety of tasks in day-to-day life, ranging from checking email to controlling your home heating. Application developers have recognized the potential to transform a smart device into a medical device, by using a mobile medical application i.e. a mobile phone or a tablet. When initially conceived these mobile medical applications performed basic functions e.g. BMI calculator, accessing reference material etc.; however, increasing complexity offers clinicians and patients a range of functionality. As this complexity and functionality increases, so too does the potential risk associated with using such an application. Examples include any applications that provide the ability to inflate and deflate blood pressure cuffs, as well as applications that use patient-specific parameters and calculate dosage or create a dosage plan for radiation therapy. If an unapproved mobile medical application is marketed by a medical device organization, then they face significant penalties such as receiving an FDA warning letter to cease the prohibited activity, fines and possibility of facing a criminal conviction. Regulatory bodies have finalized guidance intended for mobile application developers to establish if their applications are subject to regulatory scrutiny. However, regulatory controls appear contradictory with the approaches taken by mobile application developers who generally work with short development cycles and very little documentation and as such, there is the potential to stifle further improvements due to these regulations. The research presented as part of this paper details how by adopting development techniques, such as agile software development, mobile medical application developers can meet regulatory requirements whilst still fostering innovation.
Abstract: Global Software Development (GSD) is becoming a common norm in software industry, despite of the fact that global distribution of the teams presents special issues for effective communication and coordination of the teams. Now trends are changing and project management for distributed teams is no longer in a limbo. GSD can be effectively established using agile and project managers can use different agile techniques/tools for solving the problems associated with distributed teams. Agile methodologies like scrum and XP have been successfully used with distributed teams. We have employed exploratory research method to analyze different recent studies related to challenges of GSD and their proposed solutions. In our study, we had deep insight in six commonly faced challenges: communication and coordination, temporal differences, cultural differences, knowledge sharing/group awareness, speed and communication tools. We have established that each of these challenges cannot be neglected for distributed teams of any kind. They are interlinked and as an aggregated whole can cause the failure of projects. In this paper we have focused on creating a scalable framework for detecting and overcoming these commonly faced challenges. In the proposed solution, our objective is to suggest agile techniques/tools relevant to a particular problem faced by the organizations related to the management of distributed teams. We focused mainly on scrum and XP techniques/tools because they are widely accepted and used in the industry. Our solution identifies the problem and suggests an appropriate technique/tool to help solve the problem based on globally shared knowledgebase. We can establish a cause and effect relationship using a fishbone diagram based on the inputs provided for issues commonly faced by organizations. Based on the identified cause, suitable tool is suggested, our framework suggests a suitable tool. Hence, a scalable, extensible, self-learning, intelligent framework proposed will help implement and assess GSD to achieve maximum out of it. Globally shared knowledgebase will help new organizations to easily adapt best practices set forth by the practicing organizations.
Abstract: The development of change prediction models can help the software practitioners in planning testing and inspection resources at early phases of software development. However, a major challenge faced during the training process of any classification model is the imbalanced nature of the software quality data. A data with very few minority outcome categories leads to inefficient learning process and a classification model developed from the imbalanced data generally does not predict these minority categories correctly. Thus, for a given dataset, a minority of classes may be change prone whereas a majority of classes may be non-change prone. This study explores various alternatives for adeptly handling the imbalanced software quality data using different sampling methods and effective MetaCost learners. The study also analyzes and justifies the use of different performance metrics while dealing with the imbalanced data. In order to empirically validate different alternatives, the study uses change data from three application packages of open-source Android data set and evaluates the performance of six different machine learning techniques. The results of the study indicate extensive improvement in the performance of the classification models when using resampling method and robust performance measures.
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: Software quality issues require special attention
especially in view of the demands of quality software product to meet
customer satisfaction. Software development projects in most
organisations need proper defect management process in order to
produce high quality software product and reduce the number of
defects. The research question of this study is how to produce high
quality software and reducing the number of defects. Therefore, the
objective of this paper is to provide a framework for managing
software defects by following defined life cycle processes. The
methodology starts by reviewing defects, defect models, best
practices, and standards. A framework for defect management life
cycle is proposed. The major contribution of this study is to define a
defect management roadmap in software development. The adoption
of an effective defect management process helps to achieve the
ultimate goal of producing high quality software products and
contributes towards continuous software process improvement.
Abstract: Although it is fully impossible to ensure that a software system is quite secure, developing an acceptable secure software system in a convenient platform is not unreachable. In this paper, we attempt to analyze software development life cycle (SDLC) models from the hardware systems and circuits point of view. To date, the SDLC models pay merely attention to the software security from the software perspectives. In this paper, we present new features for SDLC stages to emphasize the role of systems and circuits in developing secure software system through the software development stages, the point that has not been considered previously in the SDLC models.
Abstract: As computing technology advances, smartphone
applications can assist student learning in a pervasive way. For
example, the idea of using mobile apps for the PA Common Trees,
Pests, Pathogens, in the field as a reference tool allows middle school
students to learn about trees and associated pests/pathogens without
bringing a textbook. While working on the development of three heterogeneous mobile
apps, we ran into numerous challenges. Both the traditional waterfall
model and the more modern agile methodologies failed in practice.
The waterfall model emphasizes the planning of the duration for each
phase. When the duration of each phase is not consistent with the
availability of developers, the waterfall model cannot be employed.
When applying Agile Methodologies, we cannot maintain the high
frequency of the iterative development review process, known as
‘sprints’. In this paper, we discuss the challenges and solutions. We
propose a hybrid model known as the Relay Race Methodology to
reflect the concept of racing and relaying during the process of
software development in practice. Based on the development project,
we observe that the modeling of the relay race transition between any
two phases is manifested naturally. Thus, we claim that the RRM
model can provide a de fecto rather than a de jure basis for the core
concept in the software development model. In this paper, the background of the project is introduced first.
Then, the challenges are pointed out followed by our solutions.
Finally, the experiences learned and the future works are presented.
Abstract: The need to merge software artifacts seems inherent
to modern software development. Distribution of development over
several teams and breaking tasks into smaller, more manageable
pieces are an effective means to deal with the kind of complexity. In
each case, the separately developed artifacts need to be assembled as
efficiently as possible into a consistent whole in which the parts still
function as described. In addition, earlier changes are introduced into
the life cycle and easier is their management by designers.
Interaction-based specifications such as UML sequence diagrams
have been found effective in this regard. As a result, sequence
diagrams can be used not only for capturing system behaviors but
also for merging changes in order to create a new version. The
objective of this paper is to suggest a new approach to deal with the
problem of software merging at the level of sequence diagrams by
using the concept of dependence analysis that captures, formally, all
mapping, and differences between elements of sequence diagrams
and serves as a key concept to create a new version of sequence
diagram.
Abstract: The paper tackles the topic of determining the cost of
innovation in software development projects. Innovation can be
achieved either in a planned or unplanned manner. The paper
approaches the scenarios were innovation is planned for. As a starting
point an innovative software development project is analyzed. The
project is depicted step by step as it was implemented, from inception
to delivery. Costs that are proprietary to innovation in software
development are isolated based on the author’s personal experience
in managing the above mentioned project. Innovation costs
components identified by the author are then validated using open
discussions with software development professionals and projects
managers on LinkedIn groups. In order to receive relevant feedback
only groups that focus on software development and innovation
management are targeted. Additional innovation cost components
suggested by software development professionals and projects
managers are also considered. Based on the identified cost
components an indicator is built. The indicator is meant to formalize
the process of determining the cost of innovation in a software
development project. The indicator aggregates all the innovation cost
components that are identified in the research process. The process of
calculating each cost component is also described. Conclusions are
formulated and new related research topics are submitted for debate.
Abstract: Estimation of model parameters is necessary to predict
the behavior of a system. Model parameters are estimated using
optimization criteria. Most algorithms use historical data to estimate
model parameters. The known target values (actual) and the output
produced by the model are compared. The differences between the
two form the basis to estimate the parameters. In order to compare
different models developed using the same data different criteria are
used. The data obtained for short scale projects are used here. We
consider software effort estimation problem using radial basis
function network. The accuracy comparison is made using various
existing criteria for one and two predictors. Then, we propose a new
criterion based on linear least squares for evaluation and compared
the results of one and two predictors. We have considered another
data set and evaluated prediction accuracy using the new criterion.
The new criterion is easy to comprehend compared to single statistic.
Although software effort estimation is considered, this method is
applicable for any modeling and prediction.
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: 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.