Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników

Znaleziono wyników: 4

Liczba wyników na stronie
first rewind previous Strona / 1 next fast forward last
Wyniki wyszukiwania
Wyszukiwano:
w słowach kluczowych:  software reuse
help Sortuj według:

help Ogranicz wyniki do:
first rewind previous Strona / 1 next fast forward last
EN
Background: Software practice is evolving with changing technologies and practices such as InnerSource, DevOps, and microservices. It is important to investigate the impact of contemporary software engineering (SE) practices on software reuse. Aim: This study aims to characterize software reuse in contemporary SE practices and investigate its implications in terms of costs, benefits, challenges, and potential improvements in a medium-sized company. Method: We performed an exploratory case study by conducting interviews, group discussions, and reviewing company documentation to investigate software reuse in the context of contemporary SE practices in the case company. Results: The results indicate that the development for reuse in contemporary SE practices incurs additional coordination, among other costs. Development with reuse led to relatively fewer additional costs and resulted in several benefits such as better product quality and less development and delivery time. Ownership of reusable assets is challenging in contemporary SE practice. InnerSource practices may help mitigate the top perceived challenges: discoverability and ownership of the reusable assets, knowledge sharing and reuse measurement. Conclusion: Reuse in contemporary SE practices is not without additional costs and challenges. However, the practitioners perceive costs as investments that benefit the company in the long run.
EN
Context: Automated acceptance testing validates a product’s functionality from the customer’s perspective. Text-based automated acceptance tests (AATs) have gained popularity because they link requirements and testing. Objective: To propose and evaluate a cost-effective systematic reuse process for automated acceptance tests. Method: A systematic approach, method engineering, is used to construct a systematic reuse process for automated acceptance tests. The techniques to support searching, assessing, adapting the reusable tests are proposed and evaluated. The constructed process is evaluated using (i) qualitative feedback from software practitioners and (ii) a demonstration of the process in an industry setting. The process was evaluated for three constraints: performance expectancy, effort expectancy, and facilitating conditions. Results: The process consists of eleven activities that support development for reuse, development with reuse, and assessment of the costs and benefits of reuse. During the evaluation, practitioners found the process a useful method to support reuse. In the industrial demonstration, it was noted that the activities in the solution helped in developing an automated acceptance test with reuse faster than creating a test from scratch i.e., searching, assessment and adaptation parts. Conclusion: The process is found to be useful and relevant to the industry during the preliminary investigation.
EN
This article presents an overview and a case study example of a software development system where families of similar systems can be created, based on their requirements specifications. The presented tool suite allows for specifying requirements in a precise grammar and then transforming them automatically into design models and code. Requirements, design and code of a system form a so-called “software case” which can be sought for in a software case repository. The system allows for merging “slices” of past software cases into the current system.
PL
Artykuł przedstawia przegląd oraz studium przypadku systemu wytwarzania oprogramowania, który umożliwia tworzenie rodzin podobnych systemów oprogramowania w oparciu o ich specyfikacje wymagań. Prezentowany zestaw narzędzi pozwala specyfikować wymagania w precyzyjnie zdefiniowanej gramatyce oraz dokonywać ich automatycznej transformacji w modele projektowe oraz kod. Wymagania, projekt oraz kod systemu tworzą razem tzw. „przypadek oprogramowania”, który może być przechowywany i wyszukiwany w specjalnym repozytorium. System umożliwia tworzenie „wycinków” przypadków oprogramowania stworzonych wcześniej i łączenie ich z bieżącym projektem.
EN
Vast majority of software development projects seem to ignore past knowledge about sohdng specific problems. This might be explained by significant difficulties to reuse knowledge in such a complex domain as software engineering is. There seem to be no eijfective mechanisms to find and reuse past solutions to problems similar to the currently solved one. The main ąuestion that this book aims at solving is the above inability to reuse knowledge about already solved software development problems. In this book there is proposed a process for systematic reuse of so-called Software Cases. Any Software Case contains a precisely expressed problem statement in the form of a Reąuirements Model. Ali elements of this problem statement can be mapped onto appropriate elements of the problem solution. This solution is formed of (again) precisely expressed design models and the finał code. Software Cases can be reused on the basis of their similarity to the currently developed system (current Software Case). This similarity can be determined by comparing the current (perhaps yet incomplete) reąuirements model with reąuirements models of past Software Cases. The past solution can then be easily reused by modifying it in those places that arę precisely marked as needing rework in order to solve the current problem. The book contains a detailed discussion on the issues that lead to constructing a comprehensive reąuirements-based reuse framework. There arę described mechanisms and tools that can support such a framework. A vision of how to organise a reuse process is presented, including details on how a software development organi-sation should follow this process. This includes using a specific precise language for specifying reąuirements and designing systems. The process and the language arę defined both formally and practically. The book introduces concrete syntax for in-dividual elements of Software Cases: reąuirements, architecture and detailed design. This syntax is used to formulate them in a systematic way. Techniąues for transform-ing models to form a coherent path from reąuirements to code arę given. Certain mechanisms for comparing and retrieving Software Cases arę also specified. This includes a ąuery language suitable for formulating ąueries that allow for match-ing reąuirements models thus allowing for reusing solutions to problems specified through reąuirements.
PL
Zdecydowana większość projektów konstrukcji oprogramowania wydaje się ignorować wiedzę na temat rozwiązanych wcześniej problemów. Można to wytłumaczyć trudnościami w ponownym wykorzystaniu wiedzy w tak złożonej dziedzinie jak inżynieria oprogramowania. Brakuje efektywnych mechanizmów znajdowania i ponownego wykorzystania rozwiązań minionych problemów, podobnych do stojących przed nami w danej chwili. Podstawową kwestią, której rozwiązanie jest celem tej książki jest powyższa niemożność "reużycia" wiedzy o rozwiązanych już problemach w konstrukcji oprogramowania. W tej książce zaproponowano proces systematycznego wykorzystywania tzw. przypadków programistycznych (ang. software case). Każdy przypadek programistyczny zawiera precyzyjnie sformułowane stwierdzenie problemu w formie modelu wymagań. Wszystkie elementy tego modelu mogą być przełożone na odpowiednie elementy rozwiązania sformułowanego problemu. To rozwiązanie jest złożone z precyzyjnie wyrażonych modeli projektowych oraz kodu. Przypadki programistyczne mogą być ponownie wykorzystane na podstawie ich podobieństwa do aktualnie tworzonego systemu (aktualnego przypadku programistycznego). To podobieństwo może być określone poprzez porównanie aktualnego (być może jeszcze niekompletnego) modelu wymagań z modelami wcześniej wytworzonych przypadków. Wcześniejsze rozwiązanie może być z łatwością ponownie wykorzystane poprzez jego modyfikację w miejscach oznaczonych jako wymagające przeróbek aby dostosować je do aktualnego problemu. Książka zawiera szczegółową dyskusję kwestii, które umożliwiają skonstruowanie kompleksowego systemu ponownego wykorzystania opartego na wymaganiach. Opisane są mechanizmy i narzędzia wspomagające taki system. Przedstawiono wizję zorganizowania procesu ponownego wykorzystania, łącznie ze wskazówkami dla organizacji wytwarzających oprogramowanie. Oznacza to również wykorzystanie konkretnego, precyzyjnego języka specyfikacji wymagań i projektowania systemów. Proces i język są zdefiniowane zarówno formalnie jak i od strony praktycznej. Książka wprowadza konkretną składnię dla elementów przypadków programistycznych: wymagań, architektury i projektu szczegółowego. Ta składnia jest wykorzystana do formułowania ich w sposób systematyczny. Jednocześnie podano techniki dla transformacji modeli w celu utworzenia spójnej ścieżki od wymagań do kodu. Przedstawiono również określone mechanizmy porównywania i odszukiwania przypadków programistycznych. Dotyczy to również języka zapytań odpowiedniego dla formułowania kwerend pozwalających na dobieranie modeli wymagań, w ten sposób pozwalając na ponowne wykorzystanie rozwiązań wyspecyfikowanych wymaganiami.
first rewind previous Strona / 1 next fast forward last
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.