Spelling suggestions: "subject:"[een] SOFTWARE DESIGN"" "subject:"[enn] SOFTWARE DESIGN""
31 |
Informing the design of mobile wayfinding software for users with acquired brain injuryKuipers, Nathanael 28 August 2012 (has links)
Wayfinding is the process of determining and following a route. Survivors of acquired brain injury (ABI) may evince impaired wayfinding skills. Mobile technology offers a promising avenue for wayfinding support, but software is seldom designed for users with cognitive impairments. This research was intended to inform the design of mobile wayfinding software for survivors of ABI. Two qualitative studies were conducted to investigate wayfinding by survivors of ABI, and solicit views on a prospective mobile wayfinding aide. Data were used to generate a substantive theory of wayfinding in ABI. Participants were generally enthused by the prospect of a mobile wayfinding aide. They felt that it would be useful and bolster confidence, leading to improved community access. In conjunction with the theory and its implications, their remarks on usage and design indicate that mobile wayfinding software should: provide a simple interface; be context aware; afford an interactive user experience; integrate with calendar software; deliver [audio] notifications; and emphasize landmarks while affording map access. / Graduate
|
32 |
Investigation Of Design As The Next Step In Software Product Evolution: An Analysis Of Added ValuesDino, Ekin 01 February 2006 (has links) (PDF)
Software products are tools that find more uses in the society every day, both professionally and in daily lives of members of the society. This thesis focuses on the problems and possibilities related to current software products. By analysis of the problems and current issues in the software field, possible contribution of a design-oriented approach to software products is explored. The thesis is supported by a study in the form of a semi-structured observation.
|
33 |
Etta eller nolla? : landskapsarkitekter, yrkeskunnande och informationsteknologi /Eckerberg, Klas, January 2004 (has links) (PDF)
Diss. Uppsala : Sveriges lantbruksuniv., 2004.
|
34 |
Empirically investigating the human role on the code smell effectSantos, José Amâncio Macedo 18 June 2015 (has links)
Submitted by Kleber Silva (kleberbs@ufba.br) on 2017-06-01T20:18:43Z
No. of bitstreams: 1
Tese final - Amâncio.pdf: 4405750 bytes, checksum: ceb4c269d4cf1fa74d0861c679a6f10d (MD5) / Approved for entry into archive by Vanessa Reis (vanessa.jamile@ufba.br) on 2017-06-07T11:28:44Z (GMT) No. of bitstreams: 1
Tese final - Amâncio.pdf: 4405750 bytes, checksum: ceb4c269d4cf1fa74d0861c679a6f10d (MD5) / Made available in DSpace on 2017-06-07T11:28:44Z (GMT). No. of bitstreams: 1
Tese final - Amâncio.pdf: 4405750 bytes, checksum: ceb4c269d4cf1fa74d0861c679a6f10d (MD5) / Context: Code smell is a term commonly used to describe potential problems in the design of object-oriented systems. The theory about code smells, initially presented in nineties, is focused on characterization of different types of smells and heuristics for their detection and removal. Since then, empirical studies have evaluated the impact of the practical adoption of the code smell concept on software development. We call this issue the code smell effect. The findings of empirical studies on the code smell effect have presented inconsistencies with respect to what is expected by the theory. This phenomenon is not well understood. Objective: Enhancing the understanding of the code smell effect, characterizing problems hindering the practical adoption of the smell concept and investigating their origin. More specifically, we focus on the major confounding factor affecting observations on the code smell effect, which is the human role on smell detection. The human role is mostly disregarded by the theory and it strongly affects the experiments on the subject. Method: We explore the problem empirically, from two perspectives. First, we synthesize the current knowledge on the code smell effect from a set of primary studies published in the literature. To do this, we performed a systematic review based on thematic synthesis. Second, we propose the investigation of factors affecting the human evaluation of smells. To do this, we performed a family of controlled experiments. In it, we investigate an extensive number of factors affecting the human perception of smells. The factors are the use of design comprehension tool support; developer's experience, knowledge and training; and software size. From the thematic synthesis and the family of controlled experiments, we identify challenges for the area and present them as a research agenda. Results: We find out that human evaluation of smell should not be trusted. The studies indicate that the agreement on smell detection is low. They also show that demographic attributes, such as developers' experience, impact the agreement on smell detection. We also concluded that, nowadays, there are not evidences supporting the use of code smells for practical evaluation of design quality. Our evidences are divergent findings correlating code smells and software attributes, such as changes on source code. In some cases, the studies converge showing that code smells do not impact some attributes. This happens, for example, with studies correlating smells and effort on
maintenance. Conclusion: This thesis points out to the gap between the theory and the experimental findings about the code smell effect. Our evidences indicate that the main source for this gap is the low number of studies focusing on the human role on the smell effect. The researches on the subject should focus on better understanding this issue. This not seems the path followed by the area, which has directed its effort on researches focused on tool assessments, such as automatic detection or smell removal. In order to face the problem, we propose a research agenda, indicating that the area needs to: i) investigate the nature of smells, grouping them according to their characteristics; ii) explore human factors affecting smell detection, and their relationships; iii) explore cognitive aspects affecting human perception of smells; and iv) outline attributes of the experiments in order to classify the context where findings can be grouped. These challenges indicate some paths to be followed by the area in order to systematize the use of code smell in the practice of the software development. Despite difficulties, we believe that this is possible and our thesis contributes for this journey. / Contexto: Code smell ´e um termo comumente utilizado para descrever potenciais problemas
em projetos de software orientados a objetos. A teoria relacionada a code smells,
inicialmente apresentada nos anos noventa, tem foco na caracteriza¸c˜ao de diferentes tipos
de smells e nas estrat´egias para sua detec¸c˜ao e remo¸c˜ao. Desde ent˜ao, estudos emp´ıricos
tˆem avaliado o impacto da ado¸c˜ao do conceito de code smell no desenvolvimento de
software, ou seja, o “efeito code smell”. Os resultados destes estudos tˆem apresentado
inconsistˆencias com rela¸c˜ao aos efeitos propostos pela teoria. As causas deste fenˆomeno
n˜ao s˜ao bem compreendidas. Objetivo: Melhorar a compreens˜ao sobre o efeito code
smell, identificando problemas que tˆem dificultado uso do conceito no desenvolvimento
de software. Mais especificamente, nos concentramos no papel humano na detec¸c˜ao de
smells. O fator humano ´e uma vari´avel pouco considerada pela teoria, mas afeta significativamente
os resultados dos estudos emp´ıricos sobre o tema. M´etodo: N´os exploramos
o problema de forma emp´ırica, a partir de duas perspectivas. Primeiro, n´os sintetizamos
o conhecimento relacionado ao efeito code smell a partir de um conjunto de estudos
prim´arios existente na literatura. Para isso, n´os realizamos uma revis˜ao sistem´atica, com
base no m´etodo de s´ıntese tem´atica. Segundo, n´os propusemos a investiga¸c˜ao de fatores
que afetam a percep¸c˜ao humana sobre smells. Neste caso, n´os realizamos uma fam´ılia
de experimentos controlados, investigando um extensivo n´umero de fatores que afetam a
percep¸c˜ao humana sobre smells. Os fatores s˜ao: o uso de ferramentas de suporte `a compreens˜ao
do projeto de software; a experiˆencia; o conhecimento te´orico sobre code smells e
o treinamento dos desenvolvedores; e o tamanho do software. A partir da s´ıntese tem´atica
e da fam´ılia de experimentos, n´os identificamos alguns desafios para a ´area, apresentandoos
como uma agenda de pesquisa. Resultados: N´os percebemos que a avalia¸c˜ao humana
de smells n˜ao ´e confi´avel. Os estudos indicam que o grau de concordˆancia relacionado `a
avalia¸c˜ao humana ´e baixo. Al´em disso, os estudos mostram que atributos demogr´aficos,
como experiˆencia do desenvolvedor, afetam o grau de concordˆancia na detec¸c˜ao de smells.
Tamb´em conclu´ımos que n˜ao h´a evidˆencias que indiquem o uso do conceito de code smells
como ferramenta para a avalia¸c˜ao da qualidade dos projetos de software. Estas evidˆencias
s˜ao as inconsistˆencias nos resultados correlacionando os smells e atributos de software,
como mudan¸cas no c´odigo. Em alguns casos, os estudos concordam que os smells n˜ao
tem correla¸c˜ao com certos atributos. Isso ocorre, por exemplo, com estudos correlacionando
smells e esfor¸co na manuten¸c˜ao de software. Conclus˜ao: Esta tese evidencia
uma lacuna existente entre a teoria e os estudos emp´ıricos relacionados ao efeito code
smell. Nossas evidˆencias apontam o baixo n´umero de estudos abordando o papel humano
na detec¸c˜ao de smells como principal causa desta lacuna. Pesquisas na ´area devem se
concentrar em entender este aspecto. Este n˜ao parece ser o caminho seguido pela ´area,
que tem se concentrado principalmente no desenvolvimento de ferramentas de suporte, como ferramentas para detec¸c˜ao autom´atica e remo¸c˜ao de smells. Para auxiliar neste
sentido, n´os propomos uma agenda de pesquisa indicando pontos importantes a serem
considerados: i) investiga¸c˜ao da natureza dos smells, agrupando-os de acordo com suas
caracter´ısticas; ii) explora¸c˜ao de fatores humanos afetando a detec¸c˜ao de smells e seus
inter-relacionamentos; iii) explora¸c˜ao de aspectos cognitivos afetando a percep¸c˜ao humana
de smells; e iv) identifica¸c˜ao de atributos relacionados aos estudos emp´ıricos de
forma a delinear o contexto onde resultados podem ser agrupados. Estes desafios indicam
alguns caminhos que a ´area pode seguir para sistematizar o uso do conceito de
code smell no desenvolvimento de software. Apesar das dificuldades, n´os acreditamos que
isso ´e poss´ıvel e nossa tese visa a contribuir neste sentido.
|
35 |
Nástroj pro podporu vývoje softwarových systémů / Tool for Software Systems DesignCrlík, Radek January 2017 (has links)
To be able to create quality software system, one need to analyse it well, design, program and test it. The whole process is called software life-cycle and is studied by software engineering. Today, there are many tools making this process easier. For analysing and designing software UML language became favourite. It enables programmers to describe different aspects of software by graphical diagrams and enables them to comprehend them better. Some of them can be translated into source code in chosen programming language. Problem is maintaining those diagrams during later phases when source code was already generated and is used exclusively. This problem is trying to be solved by Model-Driven Development, where programmer is working with well-defined models that can be automatically transformed into the source code that don't have to be edited by hand. Unfortunately this approach is not universal. This work tries to design and create tool that can work with use case diagrams, class diagrams and object-oriented Petri nets. This tool should allow designing those diagrams and be able to synchronise information between them to make the software design easier.
|
36 |
DIGITAL IMAGE PROCESSING SOFTWARE DESIGN FOR ELECTRON IMAGE ANALYSISAdamczyk, Maria 12 1900 (has links)
<p> The central idea behind digital image processing is quite simple. The digital image is fed into a computer one pixel at a time. The computer is programmed to insert these data into an equation, or series of equations, and then store the results of the computation for each pixel. These results form a new digital image that may be displayed or recorded in pictorial format (specific for the particular image processing system in use) or may itself be further manipulated by additional programs. The possible forms of digital image manipulation are literally infinite. The purpose of this project is to implement some image processing techniques to facilitate the image analysis research conducted in the Institute for Materials Research at McMaster University. </p> / Thesis / Master of Science (MSc)
|
37 |
Patterns for Enterprise Application Design and DevelopmentUnknown Date (has links)
Designing and developing enterprise applications is a complex and resource intensive process, as it often must address thousands of requirements. At the same time, the software architecture of most enterprise applications at their core have many features and structures in common. Designers from different teams do not normally share design elements because of the competitive and proprietary nature of development, and enterprise applications design and development teams end up re-inventing the wheel when tackling a new product.
My objective is to formulate new design patterns for enterprise application architectures that assist software architects with reusable solutions to improve design quality and productivity. I achieve this by presenting seven patterns, each providing a solution to a specific challenge or a problem that is common to many enterprise applications.
The Business Object Pattern provides a generic approach to design extensible Business Objects and their frameworks for enterprise applications. The pattern covers a number of concepts, including the Dynamic business object, the Static business object, constraints for validity, editability, and attribute visibility, as well as the mechanisms for workflow.
The Business Object Life Cycle Pattern introduces the concept of stages which comprise a business object’s life cycle, and their relation to the business object’s integrity during that life cycle.
The Simple Change History Pattern provides a concept of enforcing record keeping of the owner and date of the last change performed on a given business data object. The Business Data Object Versioning Pattern offers a solution by introducing a new version of a given business data object which allows for preservation of the original data. The Change History Record Pattern defines a solution for cases when there is a need to capture detailed information about the changes performed on a given business object, such as who made the changes, when, and what changes were made.
The Permission Based Granular Access Control Pattern offers a basic approach for access control to objects and their attributes.
Finally, the Money Object Pattern offers a language neutral approach to internationalization and globalization of business applications which require multi-currency capability.
It is hoped that applying these patterns will provide many advantages, ranging from quicker delivery times to a more reliable software, and ultimately help achieve a systematic approach to designing and building complex enterprise applications. / Includes bibliography. / Dissertation (Ph.D.)--Florida Atlantic University, 2017. / FAU Electronic Theses and Dissertations Collection
|
38 |
STRUCTURED SOFTWARE DESIGN IN A REAL-TIME CONTROL APPLICATIONDeBrunner, Keith E. 10 1900 (has links)
International Telemetering Conference Proceedings / October 22-25, 1984 / Riviera Hotel, Las Vegas, Nevada / Software for real-time (time critical) control applications has been shown in military and
industry studies to be a very expensive type of software effort. This type of software is not
typically addressed in discussions of software architecture design methods and techniques,
therefore the software engineer is usually left with a sparse design “tool kit” when
confronted with overall system design involving time critical and/or control problems. This
paper outlines the successful application of data flow and transaction analysis design
methods to achieve a structured yet flexible software architecture for a fairly complex
antenna controller used in automatic tracking antenna systems. Interesting adaptations of,
and variations on, techniques described in the literature are discussed; as are issues of
modularity, coupling, morphology, global data handling, and evolution (maintenance).
Both positive and negative aspects of this choice of design method are outlined, and the
importance of a capable real-time executive and conditional compilation and assembly is
stressed.
|
39 |
AspectAssay: A Technique for Expanding the Pool of Available Aspect Mining Test Data Using Concern SeedingMoore, David Gerald 01 January 2013 (has links)
Aspect-oriented software design (AOSD) enables better and more complete separation of
concerns in software-intensive systems. By extracting aspect code and relegating
crosscutting functionality to aspects, software engineers can improve the maintainability
of their code by reducing code tangling and coupling of code concerns. Further, the
number of software defects has been shown to correlate with the number of non-
encapsulated nonfunctional crosscutting concerns in a system.
Aspect-mining is a technique that uses data mining techniques to identify existing aspects
in legacy code. Unfortunately, there is a lack of suitably-documented test data for aspect-
mining research and none that is fully representative of large-scale legacy systems.
Using a new technique called concern seeding--based on the decades-old concept of
error seeding--a tool called AspectAssay (akin to the radioimmunoassay test in medicine)
was developed. The concern seeding technique allows researchers to seed existing legacy
code with nonfunctional crosscutting concerns of known type, location, and quantity, thus
greatly increasing the pool of available test data for aspect mining research.
Nine seeding test cases were run on a medium-sized codebase using the AspectAssay tool.
Each test case seeded a different concern type (data validation, tracing, and observer) and
attempted to achieve target values for each of three metrics: 0.95 degree of scattering
across methods (DOSM), 0.95 degree of scattering across classes (DOSC), and 10
concern instances. The results were manually verified for their accuracy in producing
concerns with known properties (i.e., type, location, quantity, and scattering). The
resulting code compiled without errors and was functionally identical to the original. The
achieved metrics averaged better than 99.9% of their target values.
Following the small tests, each of the three previously mentioned concern types was
seeded with a wide range of target metric values on each of two codebases--one
medium-sized and one large codebase. The tool targeted DOSM and DOSC values in the
range 0.01 to 1.00. The tool also attempted to reach target number of concern instances
from 1 to 100. Each of these 1,800 test cases was attempted ten times (18,000 total
trials). Where mathematically feasible (as permitted by scattering formulas), the tests
tended to produce code that closely matched target metric values.
Each trial's result was expressed as a percentage of its target value. There were 903 test
cases that averaged at least 0.90 of their targets. For each test case's ten trials, the
standard deviation of those trials' percentages of their targets was calculated. There was
an average standard deviation in all the trials of 0.0169. For the 808 seed attempts that
averaged at least 0.95 of their targets, the average standard deviation across the ten trials
for a particular target was only 0.0022. The tight grouping of trials for their test cases
suggests a high repeatability for the AspectAssay technique and tool.
The concern seeding technique opens the door for expansion of aspect mining research.
Until now, such research has focused on small, well-documented legacy programs.
Concern seeding has proved viable for producing code that is functionally identical to the
original and contains concerns with known properties. The process is repeatable and
precise across multiple seeding attempts and also accurate for many ranges of target
metric values.
Just like error seeding is useful in identifying indigenous errors in programs, concern
seeding could also prove useful in estimating indigenous nonfunctional crosscutting
concerns, thus introducing a new method for evaluating the performance of aspect
mining algorithms.
|
40 |
An object-oriented component-based approach to building real-time software systemsBaas, Andre 06 June 2016 (has links)
A project report submitted to the Faculty of Erlglncerlng, University of Witwatersrand,
Johannesburg, In partial fulfilment of the requirements for the degree of Master of Science In
Engineering
Johannesburg 1993 / This Project Repolt r ''"lorts on the study of an approach to building integrated real-time software
systems based on re-usable object-oriented components. The basis of the approach is the
development of a a-layered structure of components, where each layer is built on the underlying
layer of components,
The lower layer of components consists of generic re-usable building blocks that may be re-used
for building and integrating other real-time applications. The middle layer consists of components
that are generic to the application domain, and the top layer consists of components that are
specific to each application of that application domain.
The Report includes researching and developing methods of communicating between these
building blocks using an OSI/CMIP-conformant 'software highway" and in this regard particular
attention is given to the formal and de facto industry standards.
With this approach, it is argued that the application engineer can effectively build new applications
using the re-usable components. This is demonstrated by reporting on the implementation of a
large real-world Telecommunications Network Management application.
The Project Report contains a critical analysis of the technical, organisational and project
management issues of this Object-oriented component approach as compared to the traditional
development approach. The Report concludes that despite certain technical and organisational
concerns, the object-oriented approach does indeed yield several worthwhile benefits for
developing real-time software systems. These benefits include genuine re-usability, and l"1proved
productivity, testability and maintainability.
|
Page generated in 0.051 seconds