10 research outputs found
A Software Development Process for Freshman Undergraduate Students
This conceptual paper presents work which is part of an ongoing research project into the design of a software development process aimed at freshman, undergraduate computing students. The process of how to plan and develop a solution is a topic that is addressed very lightly in many freshman, undergraduate courses which can leave novices open to developing habit-forming, maladaptive cognitive practices. The conceptual software development process described in this paper has a learning process at its core which centres on declarative knowledge (in the form of threshold concepts) and procedural knowledge (in the form of computational thinking skills) scaffolding freshman software development from initial planning through to final solution. The process - known as Computational Analysis and Design Engineered Thinking (CADET) - aims to support the structured development of both software and student self-efficacy
Querying histories of organisation simulations
Industrial Dynamics involves system modelling, simulation and evaluation leading to policy making. Traditional approaches to industrial dynamics use expert knowledge to build top-down models that have been criticised as not taking into account the adaptability and sociotechnical features of modern organisations. Furthermore, such models require a-priori knowledge of policy-making theorems. This paper advances recent research on bottom-up agent-based organisational modelling for Industrial Dynamics by presenting a framework where simulations produce histories that can be used to establish a range of policy-based theorems. The framework is presented and evaluated using a case study that has been implemented using a toolset called ES
Querying histories of organisation simulations
Industrial Dynamics involves system modelling, simulation and evaluation leading to policy making. Traditional approaches to industrial dynamics use expert knowledge to build top-down models that have been criticised as not taking into account the adaptability and sociotechnical features of modern organisations. Furthermore, such models require a-priori knowledge of policy-making theorems. This paper advances recent research on bottom-up agent-based organisational modelling for Industrial Dynamics by presenting a framework where simulations produce histories that can be used to establish a range of policy-based theorems. The framework is presented and evaluated using a case study that has been implemented using a toolset called ES
Desenvolvimento de software na Ad Infinitum Business
Este relatório tem como objetivo apresentar e descrever alguns projetos realizados, metodologias utilizadas e toda a experiência que adquiri durante o meu estágio curricular para finalizar o curso de Mestrado em Engenharia Informática da Universidade da Madeira.
O principal objetivo deste estágio foi experienciar um ambiente empresarial e ganhar alguma experiência profissional, algo que é bastante requisitado no mercado de trabalho nos dias de hoje.
Neste relatório estão referenciadas algumas das responsabilidades que me foram atribuÃdas, como a liderança de uma equipa e a apresentação de algumas soluções para certos problemas técnicos, bem como a implementação das mesmas.
Serão também caracterizadas e criticadas algumas decisões, procedimentos e metodologias utilizadas pela empresa que afetaram de certa forma o desenvolvimento de software de um ponto de vista geral e o próprio sucesso da empresa.
Este relatório poderá servir de exemplo, não só para soluções para um problema técnico semelhante aos que aqui apresentei, mas também demonstrar o resultado de certos procedimentos e metodologias utilizadas na empresa no desenvolvimento de software
A brief top-down and bottom-up philosophy on software evolution
The decision on whether to proceed top-down or bottomup during software development has a strong and underestimated impact on the quality of the final product including its later evolvability. Various examples for both strategies taken from such different domains as operating systems and computer games provide evidence that bottom-up developed systems are more suitable for future evolution. The reasons for this range from the increased compositionality of bottom-up developed artefacts at the technical level up to a greater independence from certain requirements which constitute the most transient part of a software system. Besides those advantages concerning evolvability, the negative effects of bottom-up orientation can not be ignored. Furthermore, proceeding bottom-up contradicts most conventional development processes. We regard this as a clear indication for the need of new development processes to improve the construction of evolvable software. 1. Processes Influence Evolvabilit
Análise da evolução de software com séries temporais
Trabalho apresentado no âmbito do Mestrado em Engenharia Informática, como requisito parcial para obtenção do grau de Mestre em Engenharia InformáticaUm sistema de software nunca está terminado. Mesmo depois de ter sido entregue, o software
continua a evoluir. Por esta razão,governos, empresas, e comunidades open source gastam
muitos recursos regularmente para corrigir, adaptar, ou melhorar, os seus sistemas de software.
Alguns estudos referem que cerca de 90% dos recursos das empresas dedicados ao software
são gastos em actividades de manutenção. Isso implica que apenas 10% é dedicado para outras actividades, entre as quais o desenvolvimento de novos projectos. Isto representa uma oportunidade para, com um melhor planeamento, se tornar o processo de software mais eficiente, com importantes ganhos económicos que daà resultam. É por isso que a capacidade de desenvolver
software de uma forma rápida e fiável é um grande desafio na Engenharia de Software. Uma
possÃvel técnica para ajudar a reduzir custos e produzir um software de qualidade é, a previsão do seu comportamento no futuro. Para os gestores de projecto e programadores, prever a evolução do software será de grande utilidade, pois permitirá direccionar esforços para partes que
necessitem uma maior intervenção. Para a previsão ser possÃvel, é necessário analisar a história da vida do software, que está normalmente guardada nos repositórios de dados dos projectos.
Pretendemos por isso, efectuar uma análise da evolução do IDE Eclipse, usando séries temporais.
Esta análise permitirá visualizar a evolução do número de defeitos do Eclipse ao longo
do tempo e sua previsão no futuro. Serão usados dados do sistema de rastreio de defeitos. Isto permitirá identificar possÃveis padrões e tendências na distribuição do número de defeitos, permitindo a criação de um modelo fiável de previsão. O resultado desta dissertação constituirá mais um caso de estudo da evolução de um sistema de sucesso, duradouro e bastante usado, que diverge nos objectivos de trabalhos anteriores sobre o Eclipse, mas que com outro estudo é um reforço da utilização da análise de séries temporais, uma técnica insuficientemente explorada,
no contexto do estudo da evolução de software, particularmente na previsão dessa evolução
Design automation in synthetic biology : a dual evolutionary strategy
PhD ThesisSynthetic biology o ers a new horizon in designing complex systems. However,
unprecedented complexity hinders the development of biological systems to its full
potential. Mitigating complexity via adopting design principles from engineering
and computer science elds has resulted in some success. For example, modularisation to foster reuse of design elements, and using computer assisted design tools
have helped contain complexity to an extent. Nevertheless, these design practices
are still limited, due to their heavy dependence on rational decision making by
human designers. The issue with rational design approaches here arises from the
challenging nature of dealing with highly complex biological systems of which we
currently do not have complete understanding. Systematic processes that can algorithmically nd design solutions would be better able to cope with uncertainties
posed by high levels of design complexity. A new framework for enabling design automation in synthetic biology was investigated. The framework works by
projecting design problems into search problems, and by searching for design solutions based on the dual-evolutionary approach to combine the respective power of
design domains in vivo and in silico. Proof-of-concept ideas, software, and hardware were developed to exemplify key technologies necessary in realising the dual
evolutionary approach. Some of the areas investigated as part of this research included single-cell-level micro uidics, programmatic data collection, processing and
analysis, molecular devices supporting solution search in vivo, and mathematical
modelling. These somewhat eclectic collection of research themes were shown to
work together to provide necessary means with which to design and characterise
biological systems in a systematic fashion
Quality Goal Oriented Architectural Design and Traceability for Evolvable Software Systems
Softwaresysteme werden heute z.B. aufgrund sich ändernder Geschäftsprozesse
oder Technologien mit häufigen Veränderungen konfrontiert. Die Software und
speziell ihre Architektur muss diese Änderungen zur dauerhaften Nutzbarkeit
ermöglichen.Während der Software-Evolution können Änderungen zu einer
Verschlechterung der Architektur führen, der Architekturerosion. Dies
erschwert oder verhindert weitere Änderungen wegen Inkonsistenz oder
fehlendem Programmverstehen. Zur Erosionsvermeidung müssen Qualitätsziele
wie Weiterentwickelbarkeit, Performanz oder Usability sowie die
Nachvollziehbarkeit von Architekturentwurfsentscheidungen berücksichtigt
werden. Dies wird jedoch oft vernachlässigt.Existierende Entwurfsmethoden
unterstützen den Übergang von Qualitätzielen zu geeigneten
Architekturlösungen nur unzureichend aufgrund einer Lücke zwischen Methoden
des Requirements Engineering und des Architekturentwurfs. Insbesondere gilt
dies für Weiterentwickelbarkeit und die Nachvollziehbarkeit von
Entwurfsentscheidungen durch explizite Modellabhängigkeiten.Diese Arbeit
präsentiert ein neues Konzept, genannt Goal Solution Scheme, das
Qualitätsziele über Architekturprinzipien auf Lösungsinstrumente durch
explizite Abhängigkeiten abbildet. Es hilft somit, Architekturlösungen
entsprechend ihrem Einfluss auf Qualitätsziele auszuwählen. Das Schema wird
speziell hinsichtlich Weiterentwickelbarkeit diskutiert und ist in ein
zielorientiertes Vorgehen eingebettet, das etablierte Methoden und Konzepte
des Requirements Engineering und Architekturentwurfs verbessert und
integriert. Dies wird ergänzt durch ein Traceability-Konzept, welches einen
regelbasierten Ansatz mit Techniken des Information Retrieval verbindet.
Dies ermöglicht eine (halb-) automatische Erstellung von Traceability Links
mit spezifischen Linktypen und Attributen für eine reichhaltige Semantik
sowie mit hoher Genauigkeit und Trefferquote.Die Realisierbarkeit des
Ansatzes wird an einer Fallstudie einer Software für mobile Serviceroboter
gezeigt. Das Werkzeug EMFTrace wurde als eine erweiterbare Plattform
basierend auf Eclipse-Technologie implementiert, um die Anwendbarkeit der
Konzepte zu zeigen. Es integriert Entwurfsmodelle von externen CASE-Tools
mittels XML-Technologie in einem gemeinsamen Modell-Repository, wendet
Regeln zur Linkerstellung an und bietet Validierungsfunktionen für Regeln
und Links.Today software systems are frequently faced with demands for changes, for
example, due to changing business processes or technologies. The software
and especially its architecture has to cope with those frequent changes to
permanently remain usable.During software evolution changes can lead to a
deterioration of the structure of software architectures called
architectural erosion, which hampers or even inhibits further changes
because of inconsistencies or lacking program comprehension. To support
changes and avoid erosion, especially quality goals, such as evolvability,
performance, or usability, and the traceability of design decisions have to
be considered during architectural design. This however often is
neglected.Existing design methods do not sufficiently support the
transition from the quality goals to appropriate architectural solutions
because there is still a gap between requirements engineering and
architectural design methods. Particularly support is lacking for the goal
evolvability and for the traceability of design decisions by explicit model
dependencies.This thesis presents a new concept called Goal Solution
Scheme, which provides a mapping from goals via architectural principles to
solution instruments by explicit dependencies. Thus it helps to select
appropriate architectural solutions according to their influence on quality
goals. The scheme is discussed especially regarding evolvability, and it is
embedded in a goal-oriented architectural design method, which enhances and
integrates established methods and concepts from requirements engineering
as well as architectural design. This is supplemented by a traceability
concept, which combines a rule-based approach with information retrieval
techniques for a (semi-) automated establishment of links with specific
link types and attributes for rich semantics and a high precision and
recall.The feasibility of the design approach has been evaluated in a case
study of a software platform for mobile robots. A prototype tool suite
called EMFTrace was implemented as an extensible platform based on Eclipse
technology to show the practicability of the thesis' concept. It integrates
design models from external CASE tools in a joint model repository by means
of XML technology, applies rules for link establishment, and provides
validation capabilities for rules and links
The Development and Evaluation of an Ecological Momentary Intervention for Social Anxiety
Social anxiety is a common mental health problem. Many people do
not seek help due to barriers to accessing services. Novel
methods have been explored that enhance existing assessments and
treatments to be more accessible to people outside a clinic.
Ecological Momentary Assessments (EMA) are real-time approaches
that allow a person to self-assess their anxiety while they
engage in daily activities. Ecological Momentary Interventions
(EMI) are approaches that extend EMA to deliver psychological
treatment to people in their natural environment. EMIs can be
used as an adjunct to existing therapies, or as a standalone
intervention.
The current thesis examines the development and evaluation of
EMIs for social anxiety through four related studies. The first
study is a meta-review of observational and evaluation studies
using EMA to assess or target various mental disorders. The study
found 14 reviews that examined general psychopathology, mood
disorders, borderline personality disorder, smoking addiction,
and psychosis. The study concluded that there is a need for
higher quality reviews on anxiety and stress and more reviews of
studies that evaluate EMI effects. The second study is a
systematic review of EMIs for stress and anxiety, which includes
a meta-analysis on the EMI effects on generalised anxiety. This
study suggests that EMIs may be effective but indicates a
research gap in EMIs for social anxiety.
The third study is a case study on the design and development of
an EMI for social anxiety. This study demonstrated the use of
three software development approaches and discussed the
implications of those approaches on the iterative design process,
the development of software components, and the challenges of
engagement and communication with stakeholders, documentation and
time management. The fourth study presents the protocol for a
Randomised Controlled Trial (RCT) for the evaluation of an EMI
for social anxiety. The RCT protocol was a two-arm study design
that examined the EMI effects against a waitlist control group.
The final study presents
the RCT outcomes in an adult sample (n = 55) testing the
effectiveness of the EMI for reducing social anxiety symptoms.
This study found the EMI was not associated with significant
improvements in social anxiety relative to the control. Nor the
EMI was associated with a significant improvement in anxiety
sensitivity, psychological distress, generalised anxiety and
depression, or help-seeking. While the participants who used the
mobile app reported being satisfied, the study suffered from
significant drop out with 83% of the participants not completing
the study.
Overall, the current thesis found that EMIs are promising, but
more research is needed to address the challenges in developing
an EMI for social anxiety that incorporates an iterative and
reflexive development process. Furthermore, the RCT on the
resulting EMI faced challenges with recruitment and retention,
suggesting that alternative methods may be required for
increasing the engagement of individuals in self-guided EMIs.
Nevertheless, with further technological and methodological
developments, EMIs may offer an opportunity to deliver
personalised therapy for people experiencing anxiety