791 resultados para Aspect-Oriented Software Development
Resumo:
"In the past few years, many career theorists have noted the dearth of literature in the area of career development in childhood and adolescence. A growing need for integrating theory and research on the early stages of vocational development within a systemic, life-span developmental approach has been articulated. This volume, the first book dedicated to career development of children and adolescents, provides a broad and comprehensive overview of the current knowledge about the key career processes that take place in this age group. Each of the eighteen chapters represents an in-depth examination of a specific aspect of career development with a focus on integrating modern career theory and ongoing research and further developing theory-practice connections in understanding child and adolescent career behaviour. Twenty-six authors, leading experts from eight countries, provide a state-of-the-art summary of the current thinking in the field and outline directions for future empirical work and practice."--publisher website
Resumo:
The detection and correction of defects remains among the most time consuming and expensive aspects of software development. Extensive automated testing and code inspections may mitigate their effect, but some code fragments are necessarily more likely to be faulty than others, and automated identification of fault prone modules helps to focus testing and inspections, thus limiting wasted effort and potentially improving detection rates. However, software metrics data is often extremely noisy, with enormous imbalances in the size of the positive and negative classes. In this work, we present a new approach to predictive modelling of fault proneness in software modules, introducing a new feature representation to overcome some of these issues. This rank sum representation offers improved or at worst comparable performance to earlier approaches for standard data sets, and readily allows the user to choose an appropriate trade-off between precision and recall to optimise inspection effort to suit different testing environments. The method is evaluated using the NASA Metrics Data Program (MDP) data sets, and performance is compared with existing studies based on the Support Vector Machine (SVM) and Naïve Bayes (NB) Classifiers, and with our own comprehensive evaluation of these methods.
Resumo:
Software development settings provide a great opportunity for CSCW researchers to study collaborative work. In this paper, we explore a specific work practice called bug reproduction that is a part of the software bug-fixing process. Bug re-production is a highly collaborative process by which software developers attempt to locally replicate the ‘environment’ within which a bug was originally encountered. Customers, who encounter bugs in their everyday use of systems, play an important role in bug reproduction as they provide useful information to developers, in the form of steps for reproduction, software screenshots, trace logs, and other ways to describe a problem. Bug reproduction, however, poses major hurdles in software maintenance as it is often challenging to replicate the contextual aspects that are at play at the customers’ end. To study the bug reproduction process from a human-centered perspective, we carried out an ethnographic study at a multinational engineering company. Using semi-structured interviews, a questionnaire and half-a-day observation of sixteen software developers working on different software maintenance projects, we studied bug reproduction. In this pa-per, we present a holistic view of bug reproduction practices from a real-world set-ting and discuss implications for designing tools to address the challenges developers face during bug reproduction.
Resumo:
Social media tools are starting to become mainstream and those working in the software development industry are often ahead of the game in terms of using current technological innovations to improve their work. With the advent of outsourcing and distributed teams the software industry is ideally placed to take advantage of social media technologies, tools and environments. This paper looks at how social media is being used by early adopters within the software development industry. Current tools and trends in social media tool use are described and critiqued: what works and what doesn't. We use industrial case studies from platform development, commercial application development and government contexts which provide a clear picture of the emergent state of the art. These real world experiences are then used to show how working collaboratively in geographically dispersed teams, enabled by social media, can enhance and improve the development experience.
Resumo:
Models are abstractions of reality that have predetermined limits (often not consciously thought through) on what problem domains the models can be used to explore. These limits are determined by the range of observed data used to construct and validate the model. However, it is important to remember that operating the model beyond these limits, one of the reasons for building the model in the first place, potentially brings unwanted behaviour and thus reduces the usefulness of the model. Our experience with the Agricultural Production Systems Simulator (APSIM), a farming systems model, has led us to adapt techniques from the disciplines of modelling and software development to create a model development process. This process is simple, easy to follow, and brings a much higher level of stability to the development effort, which then delivers a much more useful model. A major part of the process relies on having a range of detailed model tests (unit, simulation, sensibility, validation) that exercise a model at various levels (sub-model, model and simulation). To underline the usefulness of testing, we examine several case studies where simulated output can be compared with simple relationships. For example, output is compared with crop water use efficiency relationships gleaned from the literature to check that the model reproduces the expected function. Similarly, another case study attempts to reproduce generalised hydrological relationships found in the literature. This paper then describes a simple model development process (using version control, automated testing and differencing tools), that will enhance the reliability and usefulness of a model.
Resumo:
Information sharing in distance collaboration: A software engineering perspective, QueenslandFactors in software engineering workgroups such as geographical dispersion and background discipline can be conceptually characterized as "distances", and they are obstructive to team collaboration and information sharing. This thesis focuses on information sharing across multidimensional distances and develops an information sharing distance model, with six core dimensions: geography, time zone, organization, multi-discipline, heterogeneous roles, and varying project tenure. The research suggests that the effectiveness of workgroups may be improved through mindful conducts of information sharing, especially proactive consideration of, and explicit adjustment for, the distances of the recipient when sharing information.
Resumo:
Maternal malnutrition affects every aspect of fetal development. The present study asked the question whether a low-protein diet of the mother could result in motor deficits in the offspring. Further, to examine whether cerebellar pathology was correlated with motor deficits, several parameters of the postnatal development of the cerebellum were assayed. This is especially important because the development of the cerebellum is unique in that the time scale of development is protracted compared with that of the cortex or hippocampus. The most important result of the study is that animals born to protein-deficient mothers showed significant delays in motor development as assessed by rotarod and gait analysis. These animals also showed reduced cell proliferation and reduced thickness in the external granular layer. There was a reduction in the number of calbindin-positive Purkinje cells (PC) and granular cells in the internal granular layer. However, glial fibrillary acidic protein-positive population including Bergmann glia remained unaffected. We therefore conclude that the development of the granular cell layer and the PC is specifically prone to the effects of protein malnutrition potentially due to their protracted developmental period from approximately embryonic day 11 to 13 until about the third postnatal week.
Resumo:
Reporta resultados da aplicação de princípios da gestão do conhecimento na condução de um projeto de definição, modelagem e implementação de processo de desenvolvimento de software, no contexto de uma organização do setor público. O processo resultante, denominado SIGA-ME, se mostrou capaz de harmonizar práticas variadas, integrar processos técnicos de TI e formalizar papeis e responsabilidades dos participantes envolvidos. Estão relatadas neste trabalho as principais dificuldades encontradas e lições aprendidas registradas ao longo do trabalho, que adotou como estratégia o levantamento dos pontos de interesse das áreas envolvidas, a validação de práticas em projetos reais, o desenho do processo através da notação BPMN e a utilização do MediaWiki como ferramenta de comunicação, colaboração e compartilhamento de conhecimento.
Resumo:
Reuse is at the heart of major improvements in productivity and quality in Software Engineering. Both Model Driven Engineering (MDE) and Software Product Line Engineering (SPLE) are software development paradigms that promote reuse. Specifically, they promote systematic reuse and a departure from craftsmanship towards an industrialization of the software development process. MDE and SPLE have established their benefits separately. Their combination, here called Model Driven Product Line Engineering (MDPLE), gathers together the advantages of both. Nevertheless, this blending requires MDE to be recasted in SPLE terms. This has implications on both the core assets and the software development process. The challenges are twofold: (i) models become central core assets from which products are obtained and (ii) the software development process needs to cater for the changes that SPLE and MDE introduce. This dissertation proposes a solution to the first challenge following a feature oriented approach, with an emphasis on reuse and early detection of inconsistencies. The second part is dedicated to assembly processes, a clear example of the complexity MDPLE introduces in software development processes. This work advocates for a new discipline inside the general software development process, i.e., the Assembly Plan Management, which raises the abstraction level and increases reuse in such processes. Different case studies illustrate the presented ideas.
Resumo:
In the past many different methodologies have been devised to support software development and different sets of methodologies have been developed to support the analysis of software artefacts. We have identified this mismatch as one of the causes of the poor reliability of embedded systems software. The issue with software development styles is that they are ``analysis-agnostic.'' They do not try to structure the code in a way that lends itself to analysis. The analysis is usually applied post-mortem after the software was developed and it requires a large amount of effort. The issue with software analysis methodologies is that they do not exploit available information about the system being analyzed.
In this thesis we address the above issues by developing a new methodology, called "analysis-aware" design, that links software development styles with the capabilities of analysis tools. This methodology forms the basis of a framework for interactive software development. The framework consists of an executable specification language and a set of analysis tools based on static analysis, testing, and model checking. The language enforces an analysis-friendly code structure and offers primitives that allow users to implement their own testers and model checkers directly in the language. We introduce a new approach to static analysis that takes advantage of the capabilities of a rule-based engine. We have applied the analysis-aware methodology to the development of a smart home application.
Resumo:
A tecnologia da informação (TI) transformou o mundo nas últimas décadas e suas contribuições no processamento e disseminação da informação provocaram mudanças radicais no modo de viver das pessoas e afetou profundamente a gestão e a estrutura das organizações. Neste novo cenário, a literatura de negócios vem apresentando registros de desperdício de investimentos na área de tecnologia da informação. As dificuldades em reconhecer valor nos investimentos em TI e os desafios enfrentados na gestão de equipes de desenvolvimento de software são aspectos considerados no problema a ser pesquisado, a saber: a área de TI carece de sistemas de controle gerencial que poderiam minimizar riscos de desperdício de recursos, de baixa produtividade ou de fracasso na implantação do sistema a ser desenvolvido?O objetivo geral desta pesquisa é investigar as dificuldades enfrentadas pelas equipes de desenvolvimento de software para avaliar se há ou não desperdício de recursos, segundo a percepção dos entrevistados e, ainda, se há ou não carência de controle gerencial. Investigar quais poderiam ser os indicadores mais adequados para um sistema de controle gerencial voltados para esta área de atuação da TI e mapear fatores de sucesso estão entre os objetivos específicos da pesquisa. Do ponto de vista metodológico, esta é uma pesquisa exploratória que adota o procedimento de estudo de caso baseado em análise qualitativa. Os resultados alcançados confirmam o problema de desperdício de recursos e de baixa produtividade nas equipes de TI da empresa analisada e apontam para a carência de mecanismos ou processos de controle gerencial.
Resumo:
O contexto da era da informação exige novas habilidades para competir com sucesso, tanto para empresas industriais como para as de serviços. Desde o seu surgimento, a Engenharia de Software tem enfrentado o desafio em estimar, controlar e gerenciar custos no processo de desenvolvimento de software. Os custos são parte de um projeto de software e nem sempre são claramente mensurados. Algumas desenvolvedoras de software são caracterizadas como prestadoras de serviços e as organizações que prestam serviços possuem as mesmas dificuldades em termos gerenciais que as indústrias, elas precisam de sistemas de gestão adequados para gerir seus custos, logo seus recursos. Nesse contexto é que os sistemas de informações contábeis estão inseridos, fornecendo respostas que os gestores necessitam para tomar decisões. Os custos são exemplos desse tipo de informação, pois o seu conhecimento é indispensável para uma boa gerência dos recursos organizacionais. O Custeio Baseado em Atividades (ABC) é uma ferramenta contábil útil para o gerenciamento estratégico dos custos uma vez que os sistemas de custeio tradicionais já não atendem essa necessidade das organizações. Diante desse cenário, o objetivo geral dessa dissertação é aplicar a metodologia de custeio baseado em atividades em um projeto de desenvolvimento de software com a finalidade de gestão de custos. Este pesquisa caracteriza-se como qualitativa descritiva e faz uso do método do estudo de caso. Através desse estudo foi possível comprovar a utilidade do ABC como instrumento de auxílio na gestão de custos nas organizações que prestam serviços em desenvolvimento de software, pois possibilita a visualização da maneira que os recursos são consumidos pelas atividades que agregam e não agregam valor ao negócio e ao cliente.
Resumo:
A modelagem orientada a agentes surge como paradigma no desenvolvimento de software, haja vista a quantidade de iniciativas e estudos que remetem à utilização de agentes de software como solução para tratar de problemas mais complexos. Apesar da popularidade de utilização de agentes, especialistas esbarram na falta de universalidade de uma metodologia para construção dos Sistemas Multiagentes (MAS), pois estas acabam pecando pelo excesso ou falta de soluções para modelar o problema. Esta dissertação propõe o uso de uma Ontologia sobre Metodologias Multiagentes, seguindo os princípios da Engenharia de Métodos Situacionais que se propõe a usar fragmentos de métodos para construção de metodologias baseados na especificidade do projeto em desenvolvimento. O objetivo do estudo é sedimentar o conhecimento na área de Metodologias Multiagentes, auxiliando o engenheiro de software a escolher a melhor metodologia ou o melhor fragmento de metodologia capaz de modelar um Sistema Multiagentes.
Resumo:
Software importance keeps growing fast and consistently for many organizations. The growth of software functionality in manufactured products and the emergence of digital media, convergent spaces including digital content, software, and multi-channels to the market, are recent examples of organizational changes where software assumed a central position for the corporate strategy. This paper analyzes the alignment between strategic objectives and software development processes at software companies and proposes a methodology to ensure that development processes are aligned with the corporate capabilities required to exploit future market opportunities. The methodology includes the categorization of different software companies according to their core capabilities and the customization of the technology roadmapping technique for software companies. The research process included the realization of case studies and a survey. (c) 2006 PICMET.
facilitating formal specification acquisition by using recursive functions on context-free languages
Resumo:
Although formal specification techniques are very useful in software development, the acquisition of formal specifications is a difficult task. This paper presents the formal specification language LFC, which is designed to facilitate the acquisition and validation of formal specifications. LFC uses context-free languages for syntactic aspect and relies on a new kind of recursive functions, i.e. recursive functions on context-free languages, for semantic aspect of specifications. Construction and validation of LFC specifications are machine-aided. The basic ideas behind LFC, the main aspects of LFC, and the use of LFC and illustrative examples are described.