Spelling suggestions: "subject:"5oftware engineering"" "subject:"1software engineering""
131 |
Writing and animating Z specificationsAndrews, Simon John January 1996 (has links)
The work presented in this thesis is concerned with the issues involved in writing and demonstrating formal specifications of information systems written in Z. The use of Z in software development, to enhance productivity and improve software quality, is not without its problems. Whilst the notation itself is highly developed, ways of systematically using Z to create specifications are, by contrast, poorly documented. Also, given that most commissioners of software are not skilled in reading Z, ways of demonstrating the important features of a formal Z specification to a customer are needed if the effective validation of the specification against user requirements is to take place. In this thesis we present a systematic approach, known as OPERATOR, for developing Z specifications and evaluate it against the issues identified for writing formal specifications. We also look at various ways of demonstrating Z specifications. We describe how Z specifications may be animated using Crystal, but go on to present a prototype CASE tool, known as Zappa, that may be used to create and demonstrate faithful animations of Z specifications. The thesis starts with a thorough review of software engineering and of the development and rise of formal methods. The development of the OPERATOR approach is then given along with a review of animation, a description of the Crystal technique, and the development of the CASE tool Zappa. An evaluation of the research against the stated aims is presented and areas where future research is needed are pointed out.
|
132 |
Regression Testing Challenges and Solutions : An Industry-Academia PerspectiveMinhas, Nasir Mehmood January 2019 (has links)
Background: Software quality assurance (QA) is an essential activity in the software development lifecycle. Among the different QA activities, regression testing is a challenging task for large-scale software development. Regression testing is a well-researched area, and a large number of techniques have been proposed to fulfill the needs of industry. Despite the extensive research, the adoption of proposed regression testing techniques in the industry is limited. Studies show that there is a visible gap between research and practice. Objective: This work aims at reducing the gap between industry and academia in regression testing. To fulfill this aim we have the following objectives: 1) Understanding the practitioners' goals regarding regression testing. 2) Understanding the current state of regression testing practice and challenges in the industry. 3) Investigating the testing research applicable in an industrial context. Method: We conducted multiple studies using different methods. To explore the industry perspective on regression testing we used focus group and interview-based studies. To explore solutions from the literature, we used the systematic literature review and systematic mapping study. Results: This thesis presents the practitioners' specific regression testing goals. The identified goals are confidence, controlled fault slippage, effectiveness, efficiency, and customer satisfaction. The challenges identified in the thesis are of two categories, 1) management related challenges and 2) technical challenges. Technical challenges relate to test suite maintenance, test case selection, test case prioritization, evaluation of regression testing. We have mapped 26 empirically evaluated regression testing techniques to the context, effect, and information taxonomies, and provided a guide to the practitioners regarding the adoption of the techniques in an industrial setting. We have also classified 56 model-based test case generation techniques regarding their strengths/limitations, input/intermediate models used, and relevance to the industrial context. Conclusions: The challenges identified in this study are not new for research and practice. There could be two reasons regarding the presence of recurring challenges: 1) regression testing techniques proposed in the literature do not fit the companies’ context, 2) or, companies are not aware of the availability of the techniques that could be suitable for their context. To support the adoption of existing research on regression testing in the industry, we have presented three taxonomies. These taxonomies, allow the characterization of regression testing techniques and enable to determine which of these techniques might be suitable in a given context. Furthermore, the identification of information needs for these techniques would be helpful to learn the implications regarding the cost of adoption. Regarding the support in test case generation, we conclude that current research on interaction model-based test case generation techniques did not illustrate the use of rigorous methodology, and currently, model-based test case generation techniques have low relevance for the industrial problems.
|
133 |
UX - A usable interfaceVesterlund, Christer January 2018 (has links)
In today’s society, we tend to use our mobiles more and more and they have become a importent part in our everyday life. Users have become more aware of what is a good application and creating an appealing application with high usability becomes of great importance. This study has investigated how it is possible to create a useful application based on predetermined criteria and design patterns. The application was implemented in React Native with Firebase as a backend. The design process was carried out with user tests as well as think aloud as the basic method. The results were evaluated and analyzed, the shortcomings considered to affect the usability were corrected. To assess the user-friendliness of the application, a System Usability Scale, SUS evaluation was conducted. The result shows how important it is that the implementation is preceded by a good design process to make the final product as good as possible. In this study, the result became an application that the users of the product graded relatively high in the SUS evaluation.
|
134 |
Automatic error detection and switching of redundant video signals, with focus on loop detection / Automatisk feldetektion och växling mellan rendundanta videosignaler, med fokus på loop detektion.Zdunek, Aleksander January 2018 (has links)
This report describes work done on implementing automatic detection of looping frame sequences in a video signal. The central loop detection algorithm is described. Hashing of video frames is used as a means of improving computational performance. Two video signals are compared with respect to containing loops, and switching of displayed stream is done based on evaluated stream qualities. Repeating sequences -distinct from looping sequences- are also discussed, as well as cursory thoughts for further work on implementing a more comprehensive error detection package for video signals. / Denna rapport beskriver arbete utfört med att implementera automatisk detektion av loopande följder av bildrutor i en videosignal. Den centrala algoritmen för igenkänning av loopar beskrivs. För att förbättra beräkningshastighet tillämpas hashning av bildrutor. Två videosignaler jämförs med avseende på deras innehåller av loopar, och växling av uppspelad signal sker baserat på utvärdering av signalernas kvalitet. Upprepade följder, skilt från loopande följder, diskuteras. Tankar för vidare utveckling av en mer heltäckande paketlösning för detektion av olika typer av fel i videosignaler presenteras kort.
|
135 |
Viewpoints in practice : explanations explainedRiddle, Steve January 1997 (has links)
No description available.
|
136 |
Progressive Web applications för journalföring inom hälso- och socialvård : Mjukvaruarkitekturer för Progressive Web ApplicationsEk, Hampus, Johnsson, Elias January 2018 (has links)
The purpose of this study is to examine and compare a small set of software stacks which can be used for a progressive web application to see if one stack is more suitable to build a journaling system with strict requirements on accessibility and traceability. The study is a comparative case study where the development of a system with different software stacks were compared. First a literature study was conducted to find potential technologies to use. Then interviews were conducted with persons who have used journaling systems within their work to get a clear picture of the essential functionality of a journaling system. The purpose of this was to create a specification of a simple journaling system. This specification was used during the development of two software stacks. The literature study showed that two databases and two javascript-framework of the researched potential technologies were more suitable than the other technologies. These technologies were then used in the two software stacks where code size and development time was measured. In the end there was not a big difference between the two software stacks in terms of code size and development time. Though one of the stacks had a small advantage of having a marginally faster development time and smaller code size. The conclusion was that a more comprehensive study should be done to get a more conclusive answer but that the results of this study can be used together with other data as a decision guide when a software stack is chosen for a project for a progressive web application with strict requirements on accessibility and traceability. A limitation had been set at only choosing two software stacks to compare because the lack of time. Also, the number of features in the finished systems has been limited, because of the lack of time only the essential parts of a journaling system will be included. The study also doesn’t present or take into account all the laws and requirements that affects a journaling system
|
137 |
Adaptive case managment in practice / Casos de uso adaptativos na práticaKress, Juergen Marcus 07 July 2016 (has links)
Dissertação (mestrado)—Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia Elétrica, 2016. / Submitted by Camila Duarte (camiladias@bce.unb.br) on 2017-01-09T16:24:10Z
No. of bitstreams: 1
2016_JüergenMarcusKress.PDF: 2470719 bytes, checksum: c056bb15fca3124e12520f285ae82361 (MD5) / Approved for entry into archive by Raquel Viana(raquelviana@bce.unb.br) on 2017-02-03T17:51:58Z (GMT) No. of bitstreams: 1
2016_JüergenMarcusKress.PDF: 2470719 bytes, checksum: c056bb15fca3124e12520f285ae82361 (MD5) / Made available in DSpace on 2017-02-03T17:51:58Z (GMT). No. of bitstreams: 1
2016_JüergenMarcusKress.PDF: 2470719 bytes, checksum: c056bb15fca3124e12520f285ae82361 (MD5) / Esta dissertação tem como objetivo desenvolver e validar uma nova metodologia de engenharia de software para Gerenciamento de Casos Adaptativos (ACM). ACM é um padrão de projeto (design pattern), relativamente novo, utilizado para apoiar, de forma mais adequada, cenários de trabalho em que um fluxo de trabalho preciso não pode ser definido de maneira rigorosa. Em tais cenários, o trabalho é altamente dependente de decisões baseadas no conhecimento sobre as atividades e resultados, levando a várias regras de negócio e possibilidades de fluxo de atividades que podem tornar a modelagem e a automatização bastante complexas ou, até mesmo, inviável. Conceitos e pesquisas sobre Gerenciamento de Casos Adaptativos, também apresentados neste trabalho, ainda estão evoluindo e amadurecendo. O estado-da-arte atual em ACM carece de metodologia descrita formalmente e comprovada para o desenvolvimento de soluções ACM. O objetivo deste trabalho é contribuir para o preenchimento dessa lacuna. A proposta de metodologia ACM é baseada em cinco fases, que abrange as seguintes disciplinas típicas de engenharia de software: Modelagem de Negócio, Visualização, Análise, Projeto e Implementação. Novos modelos de artefatos de software para interfaces de usuário ACM (ACM Workspace) e análise e projeto de solução ACM (ACM Canvas) também estão entre as contribuições deste trabalho. O projeto em ACM utiliza a recentemente criada Notação para Modelagem de Gerenciamento de Casos Adaptativos (Case Management Modeling Notation - CMMN). Modelos para artefatos de software, desenvolvidos para cada fase metodologia, também são apresentados. Tudo isso suporta um resultado orientado e garante o progresso e sucesso de projetos. Essa metodologia foi desenvolvida ao longo dos últimos dois anos de trabalho e análise de projetos ACM reais em diferentes indústrias. Nesta dissertação, um estudo de caso completo é descrito e implementado, como uma prova de conceito para a metodologia proposta. / This dissertation aims at developing and validating a new software engineering methodology for Adaptive Case Management (ACM). ACM is a relatively new design pattern used to support work that is well suited for work scenarios where a precise workflow cannot be strictly defined. In such scenarios, work is highly dependent on knowledge-based decisions about activities and outcomes, leading to multiple work paths and business rules that can become quite complex or even unfeasible to model and completely automate. Concepts and research on Adaptive Case Management, also reviewed in this work, are still evolving and maturing. Current ACM state-of-art lacks of formally described and proven methodology for development of ACM solutions. The goal of this work is to contribute with fulfilling this gap. The proposed ACM Methodology is based on the five phases, which covers typical software engineering disciplines: Business Modeling, Visualization, Analysis, Design and Implementation. New software artifact models for ACM user interfaces (ACM Workspace) and ACM solution analysis and design (ACM Canvas) are also among the contributions of this work. ACM design leverages the recently established Case Management Modeling Notation (CMMN v1.1). Templates of software artifacts, developed for each methodology phase, are also presented. These support a guided outcome and ensure projects progress and success. The methodology was developed over the past two years from work and analysis of actual ACM projects in different industries. In this dissertation, a Case Study is completely described and implemented, as a proof-of-concept for the proposed methodology.
|
138 |
A framework for transforming, analyzing, and realizing software designs in unified modeling languageDong, Zhijiang 14 July 2006 (has links)
Unified Modeling Language (UML) is the most comprehensive and widely accepted object-oriented modeling language due to its multi-paradigm modeling capabilities and easy to use graphical notations, with strong international organizational support and industrial production quality tool support. However, there is a lack of precise definition of the semantics of individual UML notations as well as the relationships among multiple UML models, which often introduces incomplete and inconsistent problems for software designs in UML, especially for complex systems. Furthermore, there is a lack of methodologies to ensure a correct implementation from a given UML design. The purpose of this investigation is to verify and validate software designs in UML, and to provide dependability assurance for the realization of a UML design. In my research, an approach is proposed to transform UML diagrams into a semantic domain, which is a formal component-based framework. The framework I proposed consists of components and interactions through message passing, which are modeled by two-layer algebraic high-level nets and transformation rules respectively. In the transformation approach, class diagrams, state machine diagrams and activity diagrams are transformed into component models, and transformation rules are extracted from interaction diagrams. By applying transformation rules to component models, a (sub)system model of one or more scenarios can be constructed. Various techniques such as model checking, Petri net analysis techniques can be adopted to check if UML designs are complete or consistent. A new component called property parser was developed and merged into the tool SAM Parser, which realize (sub)system models automatically. The property parser generates and weaves runtime monitoring code into system implementations automatically for dependability assurance. The framework in the investigation is creative and flexible since it not only can be explored to verify and validate UML designs, but also provides an approach to build models for various scenarios. As a result of my research, several kinds of previous ignored behavioral inconsistencies can be detected.
|
139 |
Supporting Effort Estimation in Agile Software DevelopmentUsman, Muhammad January 2015 (has links)
Background: In Agile Software Development (ASD) planning is valued more than the resulting plans. Planning and estimation are carried out at multiple levels in ASD. Agile plans and estimates are frequently updated to reflect the current situation. It supports shorter release cycles and flexibility to incorporate changing market and customer needs. Many empirical studies have been conducted to investigate effort estimation in ASD. However, the evidence on effort estimation in ASD has not been aggregated and organized. Objective: This thesis has two main objectives: First, to identify and aggregate evidence, from both literature and industry, on effort estimation in ASD. Second, to support research and practice on effort estimation in ASD by organizing the identified knowledge. Method: In this thesis we conducted a Systematic Literature Review (SLR), a systematic mapping study, a questionnaire based industrial survey and an interview based survey. Results: The SLR and survey results showed that agile teams estimate effort, mostly during release and iteration planning, using techniques that are based on experts' subjective assessments. During effort estimation team related cost drivers, such as team members’ expertise, are considered important. The results also highlighted that implementation and testing are the only activities that are accounted for in effort estimates by most agile teams. Our mapping study identified that taxonomies in SE are mostly designed and presented in an ad-hoc manner. To fill this gap we updated an existing method to design taxonomies in a systematic way. The method is then used to design taxonomy on effort estimation in ASD using the evidence identified in our SLR and survey as input. Conclusions: The proposed taxonomy is evaluated by characterizing effort estimation cases of selected agile projects reported in literature. The evaluation found that the reporting of the selected studies lacks information related to the context and predictors used during effort estimation in ASD. The taxonomy can be used in consistently reporting effort estimation studies in ASD to facilitate identification, aggregation and analysis of the evidence. The proposed taxonomy was also used to characterize the effort estimation activity of agile teams in three different software companies. The proposed taxonomy was found to be useful by interviewed agile practitioners in documenting important effort estimation related knowledge, which otherwise remain tacit in most cases.
|
140 |
Sökmotoroptimering med analysverktygAndersson, Magnus January 2018 (has links)
No description available.
|
Page generated in 0.081 seconds