1 |
En fallstudie om kvalitetsfrämjande / A case study on quality improvementJosefsson, Torbjörn, Pettersson, Daniel January 2007 (has links)
Domain Driven Design (DDD) är en filosofi som kan användas ihop med olika systemutvecklingsmetoder. Det centrala i DDD är problemområdet. Förutom att problemområdet skall vara i fokus så är DDD uppbyggt på en samling rekommenderade tillvägagångssätt som tillsammans gör det lättare att lyckas med ett systemutvecklingsprojekt. Dessa tillvägagångssätt skall förutom att göra det lättare att lyckas med projektet även öka kvaliteten på resultatet. Syftet med studien var att undersöka om kvaliteten på mjukvara kan förbättras genom att använda DDD. Det empiriska material som användes i studien samlades in genom intervjuer med två olika respondenter. Respondenterna som valdes hade god erfarenhet och kunskap om ämnesområdet studien berör. Då endast en produkt vid ett företag studerades skall studien betraktas som en fallstudie. Resultatet som framkom vid analys av det teoretiska och empiriska materialet visade att DDD på flera sätt kan hjälpa till att öka kvalitetsgraden på mjukvara. Slutsatsen av studien blev att DDD kan hjälpa till att öka kvalitetsgraden på mjukvara. / Uppsatsnivå: D
|
2 |
The Abacus: A New Approach to AuthorizationSiebach, Jacob Aaron Jess 09 August 2021 (has links)
The purpose of this thesis is to investigate the implementation of digital authorization for computer systems, specifically how to implement an efficient and secure authorization engine that uses policies and attributes to calculate authorization. The architecture for the authorization engine is discussed, the efficiency of the engine is characterized by various tests, and the security model is reviewed against other presently existing models. The resulting efforts showed an increase in efficiency of almost two orders of magnitude, along with a reduction in the amount of processing power required to run the engine. The main focus of the work is how to provide precise, performant authorization using policies and attributes in a way that does not require the authorization engine to break domain boundaries by directly accessing data stores. Specifically, by pushing attributes from source domains into the authorization service, domains do not require the authorization service to have access to the data stores of the domain, nor is the authorization service required to have credentials to access data via APIs. This model also allows for a significant reduction in data motion as attributes need only be sent over the network once (when the attribute changes) as opposed to every time that the engine needs the attribute or every time that an attribute cache needs to be refreshed, resulting in a more secure way to store attributes for authorization purposes.
|
3 |
Diretrizes para desenvolvimento de linhas de produtos de software com base em Domain-Driven Design e métodos ágeis / Guidelines for developing software product lines based on Domain-Driven Design and agile methods.Macedo, Otávio Augusto Cardoso 20 February 2009 (has links)
Linhas de produtos de software (LPS) são coleções de sistemas que compartilham características comuns, desenvolvidas de forma sistemática a partir de um conjunto comum de ativos centrais. Dentre as técnicas propostas por vários autores para o desenvolvimento de LPS, dois padrões podem ser observados: o processo de desenvolvimento geralmente é sequencial e o foco do projeto (design) costuma estar em interesses técnicos, como alocação de componentes e separação em subsistemas, e não em um modelo de domínio. Embora essas práticas sejam reportadas como bem-sucedidas, um outro paradigma de desenvolvimento, baseado em métodos ágeis e em um conjunto de princípios de projeto conhecido como domain-driven design, é apresentado neste trabalho e pode produzir resultados mais satisfatórios, comparados aos métodos tradicionais. Essa hipótese é sustentada por comparações entre padrões de modelagem e por um estudo de caso feito neste trabalho / Software product lines (SPL) are collections of systems that have common features. Those systems are systematically developed from a common set of core assets. Two patterns outstand among the various techniques proposed by several authors for developing software product lines: the development process is generally sequential and the primary design concerns deal with technical issues, such as component allocation and system partitioning (into subsystems). The importance of a domain model is often neglected. Although such practices have been reported as successful, this work proposes another paradigm, which can yield more satisfactory results. This paradigm is based on agile methods and a set of design principles known as domain-driven design. This hypothesis is supported by comparing different modeling patterns and by developing a case study
|
4 |
Diretrizes para desenvolvimento de linhas de produtos de software com base em Domain-Driven Design e métodos ágeis / Guidelines for developing software product lines based on Domain-Driven Design and agile methods.Otávio Augusto Cardoso Macedo 20 February 2009 (has links)
Linhas de produtos de software (LPS) são coleções de sistemas que compartilham características comuns, desenvolvidas de forma sistemática a partir de um conjunto comum de ativos centrais. Dentre as técnicas propostas por vários autores para o desenvolvimento de LPS, dois padrões podem ser observados: o processo de desenvolvimento geralmente é sequencial e o foco do projeto (design) costuma estar em interesses técnicos, como alocação de componentes e separação em subsistemas, e não em um modelo de domínio. Embora essas práticas sejam reportadas como bem-sucedidas, um outro paradigma de desenvolvimento, baseado em métodos ágeis e em um conjunto de princípios de projeto conhecido como domain-driven design, é apresentado neste trabalho e pode produzir resultados mais satisfatórios, comparados aos métodos tradicionais. Essa hipótese é sustentada por comparações entre padrões de modelagem e por um estudo de caso feito neste trabalho / Software product lines (SPL) are collections of systems that have common features. Those systems are systematically developed from a common set of core assets. Two patterns outstand among the various techniques proposed by several authors for developing software product lines: the development process is generally sequential and the primary design concerns deal with technical issues, such as component allocation and system partitioning (into subsystems). The importance of a domain model is often neglected. Although such practices have been reported as successful, this work proposes another paradigm, which can yield more satisfactory results. This paradigm is based on agile methods and a set of design principles known as domain-driven design. This hypothesis is supported by comparing different modeling patterns and by developing a case study
|
5 |
Přístupy a praktiky k vývoji současných webových aplikací - realizace webové platformy pro tvorbu online vzdělávacích kurzů / Principals and practices present a web application development - implementation of web platform for the creation educative coursesHoch, Tomáš January 2016 (has links)
This thesis deals with all web application development phases, analyses key activities and common issues of each phase and shows suitable principals and practices used to solve those issues. Described principals and practices do not only solve partial development problems just as isolated segments, but also takes into account overall web application solution. This thesis targets mostly junior developers, who through it might connect to their theoretical knowledge gained during studies and also gain knowledge representing the base knowledge of each developer. This thesis includes examples, findings and benefits resulting from an application of stated principals and practices during Leduvio platform development.
|
6 |
Domain-Driven Security’s take on Denial-of-Service (DoS) Attacks / Domändriven säkerhet som skydd mot Denial-of-Service-attackerArnör, Johan January 2016 (has links)
Many companies and organisations today suffer from Denial-of-Service (DoS) attacks, which can have direct and indirect economical consequences. This thesis tackles this problem with a novel approach by utilising domain specific behaviour and knowledge. The goal is to distinguish malicious attacks from legitimate usage and to alter overall system behaviour at the event of a DoS attack. Distributed DoS attacks (DDoS) are examined as well as a category suggested in this thesis, namely Domain DoS attacks. A simple e-commerce system is developed based on the principles of Domain-Driven Design in order to test the given approach. Five examples of DoS attacks are presented and tested towards the system. The results indicate that utilising domain behaviour is a suitable approach in order to mitigate DoS attacks, but it requires deep integration with the application itself. / Många företag och organisationer lider idag av Denial-of-Service-attacker (DoS-attacker), som kan få direkta och indirekta ekonomiska konsekvenser. Denna avhandling ser nytänkande på detta problem genom att dra nytta av domänspecifikt beteende och kunskap. Målet är att skilja skadliga attacker från legitimt användande och att ändra systemets beteende i händelse av en DoS-attack. Distribuerade DoS-attacker (DDoS) undersöks så väl som en kategori föreslagen i denna avhandling, kallad Domän DoS-attacker. Ett enkelt e-handelssystem utvecklas baserat på principer från domändriven design i syfte att testa den givna tesen. Fem exempel av DoS-attacker är presenterade och testade gentemot systemet. Resultaten indikerar att utnyttjandet av domänbeteende är ett lämpligt tillvägagångssätt för att avvärja DoS-attacker, men att det kräver djup integration med applikationen.
|
7 |
Domain-Driven Security : Injection & Cross-site scripting / Domändriven säkerhet : Injection & Cross-site scriptingStendahl, Jonas January 2016 (has links)
Many web applications are vulnerable to Injection and Cross-site scripting. These attacks are often focused on infrastructural parts of the application. This thesis investigates if Domain-Driven Design can unify existing technical protection mechanisms as well as provide protection for attacks aimed at the business logic of an application. The performance of data validation and transformation performed with components from Domain-Driven Design is evaluated. The evaluation is performed by exposing an E-commerce application to dangerous injection and cross-site scripting strings. The data validation was found to be accurate and flexible and context mapping aided the understanding of correct data treatment depending on where in the application it is located or travelling to.
|
8 |
Migrating monolithic system to domain-driven microservices : Developing a generalized migration strategy for an architecture built on microservices / Migration av monolitiskt system till domän-drivna mikrotjänster : Utveckling av en generaliserad migrationsstrategi för en arkitektur byggd på mikrotjänsterLanguric, Milan, Zaki, Leo January 2022 (has links)
As monolithic software grows in complexity, they tend to reach a point where further improvements and maintenance become a significant burden. Therefore, Many organizations consider moving components of their systems into separate microservices. Distributed systems with loosely coupled microservices tend to become more manageable involving development, deployment, and maintenance. Transitioning from a monolithic architecture to an architecture based on microservices is not straightforward. The purpose of this thesis is to study and develop a strategy for extracting microservices from a pre-existing monolithic system. It also intends to provide concepts for how to investigate and carry out migrations. The results showed that serverless computing would serve the system in question well while simultaneously leveraging DevOps principles across an entire domain. In conclusion, the strategy was summed up in several steps that represent the initiation towards full migration. Further research needs to be conducted on avoiding abrupt interruptions of services during migration and how to share data effectively across services and domains. / När monolitisk programvara växer i komplexitet finns det en tendens att den når ett tillstånd där ytterligare förbättringar och underhåll orsakar avsevärd börda. Många organisationer överväger därför att flytta komponenter från sina system till separata mikrotjänster. Distribuerade system med löst kopplade mikrotjänster syftar till att vara mer hanterbara med avseende till utveckling, driftsättning och underhåll. Övergången från en monolitisk arkitektur till en arkitektur baserad på mikrotjänster är ibland inte helt självklar. Därför är syftet med detta examensarbete att studera och utveckla en strategi för att extrahera mikrotjänster från ett redan existerande monolitiskt system. Rapporten avser även att ge koncept för hur man utreder och genomför en migration. Resultaten visar att serverlös databehandling skulle vara till nytta för systemet i fråga och samtidigt främja nyttjandet DevOps-principerna över en tjänst som utgör en hel domän. Strategin sammanfattades i flertalet steg, vilka representerar migrationsövergången. Ytterligare forskning behöver utföras för att undvika plötsliga avbrott i tjänster under migration och hur man effektivt kan dela data mellan tjänster och domäner.
|
9 |
Programų sistemų kūrimo metodų praplėtimas rolėmis / Role extended software development methodsPisaravičius, Jaunius 27 June 2014 (has links)
Baigiamajame magistro darbe analizuojami rolinio modeliavimo aspektai įvairių programų sistemų kūrimo metodų ir procesų rėžiuose. Modeliavimo aspektai analizuojami objektinio programavimo evoliucijos kontekste. Apžvelgiamos įvairios prielaidos leidžiančios visuose programų sistemų kūrimo etapuose atskirti sistemos elgseną ir išreikštinai sistemą modeliuoti rolėmis. Darbe identifikuojamos programų sistemų kūrimo procesų dalys, kurios stokoja rolinio modeliavimo instrumentų. Pasiūlomi programų sistemų konstravimo etapo problemų susijusių su elgsenos modeliavimu klasikiniame objektiniame programavime sprendimo būdai. Taip pat pateikiamos programų sistemų kūrimo proceso modifikavimo rekomendacijos dėl rolinio modeliavimo panaudojimo visuose sistemos kūrimo etapuose. / Final master thesis comprises role modeling aspects in various software development processes and methods. The analysis is made in the context of object-oriented programming evolution. The survey is made on miscellaneous assumptions related to explicit role modeling and separation of system state and behaviour concerns in software development. The parts of software development process which have a lack of role modeling techniques are identified in this thesis. The suggestions of solutions to classic object-oriented programming behaviour modeling problems for software construction phase are made. Finally, the recommendations related to role modeling for software development process modification are made to support all the development phases.
|
10 |
[en] A FLEXIBLE ARCHITECTURE FOR REPLICATION OF HETEROGENEOUS BASES / [pt] UMA ARQUITETURA FLEXÍVEL PARA REPLICAÇÃO DE BASES DISTRIBUÍDAS HETEROGÊNEASVINCI PEGORETTI AMORIM 21 May 2007 (has links)
[pt] Os diversos serviços de replicação existentes no mercado
adquiriram um
alto grau de maturidade e desempenho. Entretanto, mostram
pouca capacidade
de lidar com bases heterogêneas. Este trabalho propõe uma
arquitetura focada
na replicação de bases heterogêneas. Para conseguir alta
escalabilidade e
manter a simplicidade, a arquitetura segue uma estrutura
multi-agente e adota
uma abordagem de projeto orientado a domínio. Em seguida,
o trabalho
descreve uma implementação de referência e discute
decisões técnicas
desenvolvidas, enfatizando os problemas de versionamento,
verificação de
consistência e demais regras de negócio. O trabalho
apresenta ainda utilitários
que facilitam a configuração e manutenção do sistema de
replicação. / [en] The replication services available acquire high maturity
and performance
levels. However, they do not work with heterogeneous data
bases. This
dissertation first describes a software architecture that
focus on how to provide
replication services for heterogeneous bases. To obtain
high scalability and to
maintain simplicity, the architecture follows a multi-
agent structure and adopts
a domain-driven design approach. Then, the dissertation
describes a reference
implementation and discusses the technical decisions
adopted, focusing on
version control problems, consistency verification and
specific businessoriented
rules. The dissertation also describes utilities that
facilitate the
configuration and maintenance of the replication system.
|
Page generated in 0.0778 seconds