311 |
Readability of Method Chains : A Controlled Experiment with Eye Tracking ApproachKasraee, Pezhman, Lin, Chong January 2016 (has links)
Context. Source codes with lower level of readability impose a higher cost to software maintainability. Research also exposed the importance of readability as a vital factor on software maintainability. Therefore, readability has recently investigated by software engineers. Readability involves human’s interactions making the study on readability difficult. In this study, we explore the readability of method chain and non-method chain in Java source codes with the means of an eye tracking device as a newly-introduced approach. Objectives. Objectives of this study are: 1. we investigated if the number of methods in a method chain affects the readability of Java source codes, and 2. we investigated the readability of two programming styles: method chain and non-method chain. Methods. To achieve both objectives of this study, two controlled experiments were conducted inside a laboratory with the means of an eye tracker device. In the first experiment, treatment groups were exposed separately to method chains with different number of methods. In the second experiment, the treatment groups were exposed separately to two different programming styles: method chain and non-method chain. Results. Participants of this study were students with the average age of 24.56 years old. Fixation durations of participants’ reading was measured in millisecond (ms). In the first experiment, the average of fixation durations per method with lower number of methods was 600.93 ms, and with higher number of methods was 411.53 ms. In the second experiment, the average of fixation durations per method for non-method chain style was 357.94 ms, and for method chain style was 411.53 ms. Conclusions. In the first experiment, the analysis of fixation durations indicates that method chains with higher number of methods are slightly more readable. Analysis of t-test (t − value = −0.5121, significance level = 0.05, and two-tailed prob-ability) confirms that the results of the first experiment does not show a significant difference at p < 0.05. The results of the second experiment show that non-method chain style is slightly more readable in comparison with method chain style. Analysis of t-test (t − value = 3.1675, significance level = 0.05, and two-tailed probability) confirms that the results of the second experiment show a significant difference at p < 0.05.
|
312 |
MobiMed: Framework for Rapid Application Development of Medical Mobile AppsHernadez, Frank 25 October 2013 (has links)
In the medical field images obtained from high definition cameras and other medical imaging systems are an integral part of medical diagnosis. The analysis of these images are usually performed by the physicians who sometimes need to spend long hours reviewing the images before they are able to come up with a diagnosis and then decide on the course of action. In this dissertation we present a framework for a computer-aided analysis of medical imagery via the use of an expert system. While this problem has been discussed before, we will consider a system based on mobile devices.
Since the release of the iPhone on April 2003, the popularity of mobile devices has increased rapidly and our lives have become more reliant on them. This popularity and the ease of development of mobile applications has now made it possible to perform on these devices many of the image analyses that previously required a personal computer. All of this has opened the door to a whole new set of possibilities and freed the physicians from their reliance on their desktop machines.
The approach proposed in this dissertation aims to capitalize on these new found opportunities by providing a framework for analysis of medical images that physicians can utilize from their mobile devices thus remove their reliance on desktop computers. We also provide an expert system to aid in the analysis and advice on the selection of medical procedure. Finally, we also allow for other mobile applications to be developed by providing a generic mobile application development framework that allows for access of other applications into the mobile domain.
In this dissertation we outline our work leading towards development of the proposed methodology and the remaining work needed to find a solution to the problem. In order to make this difficult problem tractable, we divide the problem into three parts: the development user interface modeling language and tooling, the creation of a game development modeling language and tooling, and the development of a generic mobile application framework. In order to make this problem more manageable, we will narrow down the initial scope to the hair transplant, and glaucoma domains.
|
313 |
An Empirical Study of CSS Code Smells in Web FrameworksBleisch, Tobias Paul 01 March 2018 (has links)
Cascading Style Sheets (CSS) has become essential to front-end web development for the specification of style. But despite its simple syntax and the theoretical advantages attained through the separation of style from content and behavior, CSS authoring today is regarded as a complex task. As a result, developers are increasingly turning to CSS preprocessor languages and web frameworks to aid in development. However, previous studies show that even highly popular websites which are known to be developed with web frameworks contain CSS code smells such as duplicated rules and hard-coded values. Such code smells have the potential to cause adverse effects on websites and complicate maintenance. It is therefore important to investigate whether web frameworks may be encouraging the introduction of CSS code smells into websites.
In this thesis, we investigate the prevalence of CSS code smells in websites built with different web frameworks and attempt to recognize a pattern of CSS behavior in these frameworks. We collect a dataset of several hundred websites produced by each of 19 different frameworks, collect code smells and other metrics present in the CSS code of each website, train a classifier to predict which framework the website was built with, and perform various clustering tasks to gain insight into the correlations between code smells. Our results show that CSS code smells are highly prevalent in websites built with web frameworks, we achieve an accuracy of 39% in correctly classifying the frameworks based on CSS code smells and metrics, and we find interesting correlations between code smells.
|
314 |
Towards Understanding Assets in Software EngineeringZabardast, Ehsan January 2021 (has links)
The development of software products is a massive undertaking, and organisations have to manage all artefacts involved in the process. Managing such artefacts that, in many cases, become crucial assets is important for success. Recognising assets and letting them (unintentionally) degrade can result in maintainability problems. Thus, there is a need to create a structured and organised body of knowledge that can guide practitioners and researchers to deal with the assets during the product/service life-cycle. This includes, but is not limited to, what steps are needed to understand the assets’ degradation, investigating and examining the existing methods and metrics on how to estimate degradation and understanding the implication of assets’ value and degradation. This licentiate’s main objective is contributing to the software engineering field by providing a different perspective on assets focusing on assets’ value for the organisation. We have used literature reviews, focus groups, case study, and sample study to address this objective. The collected data is from peer-reviewed work, collaboration with five company partners, and 31 OSS from Apache Foundation. First, we have defined the concept and terminology in a position paper. We havecreated an asset management taxonomy based on a literature review and focus groups– fours focus groups conducted in 2019 with 29 participants. The extracted assets represent not only the stages of software development, from requirements to verificationand validation, but also operational and organisational perspectives. The taxonomy wascreated to be extendable as the field evolves and matures. Then, we have performed a more in-depth investigation of selected asset types. As a part of studying assets, in a case study, we present the impact of bug-fixing,refactorings, and new development to investigate how source code degrades. In anothersample study, we examine the longevity of specific source-code related issues in 31OSS from Apache Foundation using statistical analysis. The work done in this licentiate includes: defining the asset concept and relatedterminology, identifying assets and creating a taxonomy of assets, presenting the preliminary investigation of tools and methods to understand source-code and architecturerelated asset degradation. We conclude that a good understanding of the relevant assets for the inception,planning, development, evolution, and maintenance of software-intensive products andservices is necessary to study their value degradation. Our work builds on currentmethods and details the underlying concepts attempting to homogenise definitions andbring the areas of assets and degradation together. A natural progression of our workis to investigate the measurements to evaluate the degradation of assets. This licentiate thesis starts investigating the value degradation of source-code related assets. We planto continue investigating the degradation of architecture in our future work.
|
315 |
Human Aspects of Software Development : The Impact of Human Aspects of Software Development Teams Using Agile MethodologiesWallin, Emil January 2023 (has links)
The role of a software engineer is often misconceived as an isolated task, needing nointerpersonal communication skills. Contrary to this perception there is a growingrecognition of the importance of soft skills in the field, with a lot of research, includingthis paper, pointing at the importance of the human factors.This thesis aims to highlight the significance of soft skills, specifically social skillssuch as communication, in the field of software engineering. It continues exploringthe impact on factors such as team performance and productivity.The research was conducted in two parts, with an initial literature study in orderto enhance the following parts. A survey distributed to industry professionals andvarious social media sites. The survey was then supplemented by five semi-structuredinterviews with both developers and managers in the field, allowing for more nuancedand detailed answers.The study shows the necessity of human factors, such as social skills and respectin successful software engineering practices. In software engineering teamwork isinherent, thus having qualities contributing to good team work is key. Notably, thestudy’s results indicate the importance of effective communication and a positivework environment for successful team work. However, the findings do not show acorrelation between a team’s social dynamics and its productivity, provided thatessential work communication is maintained in both high and low social interactionteams.The findings of this research can benefit both individuals striving to improveas software engineers, as well as companies seeking to improve team performance.A deeper understanding of the importance of soft skills can enable the formation ofmore effective, cohesive teams. More significantly, it could contribute to an improvedquality of life for software engineers, as interpersonal relations and communicationskills are key focal points in while working as a software engineer.
|
316 |
Gaps in Software Engineering EducationGruber, Sean Michael 10 July 2023 (has links)
Becoming a software engineer can be a stressful process. Software engineers are required to have a broad skill set in order to first obtain a job and then thrive in that position. Job applications will list skills that may be required or recommended but many potential applicants, especially new college graduates, may not have experience with all of the skills that are listed in a position description. The field of software engineering is constantly changing and evolving. New skills are constantly needed in a software engineering position. Education cannot keep up with the constantly changing software engineering workplace. Designing courses takes lots of time and effort. Changing courses to meet the newer and more volatile industry standards could potentially harm existing education by causing a decrease in the quality of more foundation skills. For example, a more foundational skill like good testing practices could become muddled in different languages or frameworks due to a newer language potentially not being fully understood or by the intricacies of the language. This study aims to identify the current gaps that exist between software engineering education and industry. In order to address these gaps this study proposes a platform to provide students with resources related to identified gaps. Additionally, the platform will show the students the identified gaps to see if students are interested in exploring skills related to the identified gaps. The identified gaps are derived from a survey of professional software engineers and subsequent interviews. The results of the study show that students are not only interested in learning how people in industry rank their skills, but that students are overall interested in exploring more resources whether they are directly correlated with a gap or not. / Master of Science / Becoming a software engineer can be a stressful process. Software engineers are required to have a broad skill set in order to first obtain a job and then thrive in that position. Job applications will list skills that may be required or recommended but many potential applicants, especially new college graduates, may not have experience with all of the skills that are listed in a position description. For example, many applications will list that a specific programming language as a required skill or they may list a specific language framework that is necessary for the job. These skills may not line up with the languages or frameworks that students learn in school. The field of software engineering is constantly changing and evolving. Additionally, the field is so broad that the requirements for different positions can have great variations at different companies. New skills are constantly needed in a software engineering position. Education cannot keep up with the constantly changing software engineering workplace. Designing courses takes lots of time and effort. Changing courses to meet the newer and more volatile industry standards could potentially harm existing education by causing a decrease in the quality of more foundation skills. For example, a more foundational skill like good testing practices could become muddled in different languages or frameworks due to a newer language potentially not being fully understood or by the intricacies of the language. This study aims to identify the current gaps that exist between software engineering education and industry. In order to address these gaps this study proposes a platform to provide students with resources related to identified gaps. Additionally, the platform will show the students the identified gaps to see if students are interested in exploring skills related to the identified gaps. The identified gaps are derived from a survey of professional software engineers and subsequent interviews. The results of the study show that students are not only interested in learning how people in industry rank their skills, but that students are overall interested in exploring more resources whether they are directly correlated with a gap or not.
|
317 |
Formal justification in requirements engineeringSmith, Simon Robert January 1996 (has links)
No description available.
|
318 |
Evaluating formal specifications : a cognitive approachVinter, Ricky Jay January 1998 (has links)
No description available.
|
319 |
Specification and design of large computer-based systemsHabashi, Esmaeil January 1995 (has links)
No description available.
|
320 |
The role of the facilitator in distributed teamworkMacaulay, Linda A. January 1997 (has links)
No description available.
|
Page generated in 0.1219 seconds