A Systematic Approach for Designing Educational Recommender Systems

2014 ◽  
pp. 1264-1288
Author(s):  
Patrick H. S. Brito ◽  
Ig Ibert Bittencourt ◽  
Aydano Pamponet Machado ◽  
Evandro Costa ◽  
Olavo Holanda ◽  
...  

The construction of Educational Recommender System (ERS) demands the incorporation of quality attributes at the software design, such as availability for preventing the service to be unavailable for a long time, and scalability for preventing the system from going offline due to a large number of simultaneous requests. The incorporation of such characteristics makes ERS more complex and expensive, but existing strategies for designing ERS do not consider quality attributes in an explicit way. This chapter presents an architecture-centered solution, which is partially supported by tools and considers quality attributes as early as possible in the software development process in a systematic way, from requirements to the source code. The feasibility of the proposed process is showed in terms of a case study executed in a “step-by-step” fashion, presenting how the software architecture can be designed and gradually refined until it achieves the level of object-oriented classes generated based on design patterns.

Author(s):  
Patrick H. S. Brito ◽  
Ig Ibert Bittencourt ◽  
Aydano Pamponet Machado ◽  
Evandro Costa ◽  
Olavo Holanda ◽  
...  

The construction of Educational Recommender System (ERS) demands the incorporation of quality attributes at the software design, such as availability for preventing the service to be unavailable for a long time, and scalability for preventing the system from going offline due to a large number of simultaneous requests. The incorporation of such characteristics makes ERS more complex and expensive, but existing strategies for designing ERS do not consider quality attributes in an explicit way. This chapter presents an architecture-centered solution, which is partially supported by tools and considers quality attributes as early as possible in the software development process in a systematic way, from requirements to the source code. The feasibility of the proposed process is showed in terms of a case study executed in a “step-by-step” fashion, presenting how the software architecture can be designed and gradually refined until it achieves the level of object-oriented classes generated based on design patterns.


2020 ◽  
Vol 12 (23) ◽  
pp. 10106 ◽  
Author(s):  
Varun Gupta ◽  
Jose Maria Fernandez-Crehuet ◽  
Chetna Gupta ◽  
Thomas Hanne

Context: freelancers and startups could provide each other with promising opportunities that lead to mutual growth, by improving software development metrics, such as cost, time, and quality. Niche skills processed by freelancers could help startups reduce uncertainties associated with developments and markets, with the ability to quickly address market issues (and with higher quality). This requires the associations between freelancers and startup to be long-term, based on trust, and promising agreements driven by motivations (leading to the growth of both parties). Freelancers could help startups foster innovations and undertake software development tasks in better ways than conducted in-house, if they are selected using informed decision-making. Objectives: the paper has three objectives, (1) to explore the strategies of startups to outsource software development tasks to freelancers (termed as freelancing association strategies); (2) to identify challenges in such outsourcings; and (3) to identify the impacts of outsourcing tasks to freelancers on overall project metrics. The overall objective is to understand the strategies for involving freelancers in the software development process, throughout the startup lifecycle, and the associated challenges and the impacts that help to foster innovation (to maintain competitive advantages). Method: this paper performs empirical studies through case studies of three software startups located in Italy, France, and India, followed by a survey of 54 freelancers. The results are analyzed and compared in the identification of association models, issues, challenges, and reported results arising because of such associations. The case study results are validated using members checking with the research participants, which shows a higher level of result agreements. Results: the results indicate that the freelancer association strategy is task based, panel based, or a hybrid. The associations are constrained by issues such as deciding pricing, setting deadlines, difficulty in getting good freelancers, quality issues with software artefacts, and efforts to access freelancer work submissions for reward. The associations have a positive impact on software development if there is availability of good freelancers (which lasts long for various tasks). The paper finally provides a freelancing model framework and recommends activities that could result in making the situation beneficial to both parties, and streamline such associations. Fostering innovation in startups is, thus, a trade-off situation, which is limited and supported by many conflicting parameters.


Author(s):  
Andreza Vieira ◽  
Franklin Ramalho

The Model-Driven Development (MDD) approach shifts the focus on code to models in the software development process. In MDD, model transformations are elements that play an important role. MDD-based projects evolve along their lifecycle in a way that changes in their transformations are frequent. Before applying changes it is important to measure their impacts within the transformation. However, currently no technique helps practitioners in this direction. We propose an approach to measure the change impact in ATL model transformations. Based on static analysis, it detects the elements impacted by a change and calculates the change impact value through three metrics we defined. By using our approach, practitioners can (i) save effort and development time since the elements impacted with the change are automatically detected and (ii) better schedule and prioritize changes according to the impact value. To empirically evaluate our approach we conducted a case study.


2016 ◽  
Vol 14 (38) ◽  
pp. 74-86
Author(s):  
Flor de Maria Hernández Pérez ◽  
Julio Ariel Hurtado Algeria

The architecture software has become a key asset for software organizations because it facilitates achieving quality goals and developing of easy evolvable products. However, in small organizations, software architecture is usually a vague idea about the structure of solution. In this paper, a case of applying several methods of architecture (QAW, ADD and VaB) with small teams constituted by software developers, during a course of software development, is presented. Some difficulties to trace and correctly document the rationale associated with quality attributes, tactics architectural and selected patterns, were identified. It was established the difficulty of following an architectural process and to let consistent evidence about that, especially when the same specification generates conflict between the established attributes and tactics and patterns that going establishing..


2019 ◽  
Author(s):  
Alexandra Terrill ◽  
Justin J. MacKenzie ◽  
Maija Reblin ◽  
Jackie Tyne Einers ◽  
Jesse Ferraro ◽  
...  

BACKGROUND Individuals with disability and their partners, who often provide care, are both at risk for depression and lower quality of life. Mobile health (mHealth) interventions are promising to address barriers for mental health care. Rehabilitation researchers and software development researchers must collaborate effectively with each other, and with clinical and patient stakeholders to ensure successful mHealth development. OBJECTIVE To aid researchers interested in mHealth software development by describing the collaborative process between a team of rehabilitation researchers, software development researchers, and stakeholders. Thus, we provide a framework (conceptual model) for other teams to replicate in order to build a web-based mHealth app for individuals with physical disability. METHODS Rehabilitation researchers, software development researchers, and stakeholders (people with physical disabilities and clinicians) are involved in an iterative software development process. The overall process to develop an mHealth intervention includes initial development meetings and a co-design method called “designbox”, in which the needs and key elements of the app are discussed. Based on the objectives outlined, a prototype is developed and goes through scoping iterations with feedback from stakeholders and end-users. The prototype is then tested by users to identify technical errors and gather feedback on usability and accessibility. RESULTS Illustrating the overall development process, we present a case study based on our experience developing an app (SupportGroove) for couples coping with spinal cord injury. Examples of how we addressed specific challenges are also included. For example, feedback from stakeholders resulted in development of app features for individuals with limited functional ability. Initial designs lacked accessibility design principles made visible by end-users. Solutions included large text, single-click, and minimal scrolling to facilitate menu navigation for individuals using eye-gaze technology. Prototype testing allowed further refinement and demonstrated high usability and engagement with activities in the app. Qualitative feedback indicated high levels of satisfaction, accessibility, and confidence in potential utility. We also present key lessons learned about working in a collaborative interdisciplinary team. CONCLUSIONS mHealth promises to help overcome barriers to mental health intervention access. However, the development of these interventions can be challenging because of the disparate and often siloed expertise required. By describing the mHealth software development process and illustrating it with a successful case study of rehabilitation researchers, software development researchers, and stakeholders collaborating effectively, our goal is to help other teams avoid challenges we faced and benefit from our lessons learned. Ultimately, good interdisciplinary collaboration will benefit individuals with disabilities and their families. CLINICALTRIAL n/a


2014 ◽  
Vol 9 (1) ◽  
pp. 87-94
Author(s):  
Alexey Bevzov ◽  
Aleksandr Kurochkin ◽  
Anatoliy Lubkov ◽  
Aleksandr Petukhov ◽  
Pavel Filatov

The paper describes experience of software development for automated system for Large Solar Vacuum Telescope. Most attention is given to the work evolution on the different stages of this process. Automated system software has been developed using Object-Oriented Programming, Design Patterns and Qt tools to achieve reusable code, that can be used in other telescopes and be portable to different operating systems


Sign in / Sign up

Export Citation Format

Share Document