Aspect-Oriented Programming (AOP) Support on RIAs Development

Author(s):  
Giner Alor-Hernández ◽  
Viviana Yarel Rosales-Morales ◽  
Luis Omar Colombo-Mendoza

This chapter emphasizes the importance of employing Aspect-Oriented Programming (AOP) on software development, especially in software engineering. Some advantages in the development of RIAs by using AOP are Maintainability, Extensibility, and Reusability. This chapter presents a review of several success stories of AOP implementation in real world development projects and discusses the lessons learned in these projects. The works analyzed in the state-of-the-art are classified by Web development, Usability Engineering, and other related perspectives. Finally, the chapter also addresses AOP support between JavaScript-based RIA frameworks and non-JavaScript-based RIA frameworks providing either native or third-party AOP facilities. Some code snippets depicting the use of these facilities for implementing AOP concepts are also presented.

Chapter 6 emphasizes the importance of employing Aspect-Oriented Programming (AOP) on software development, especially in software engineering. Some advantages in the development of RIAs by using AOP are Maintainability, Extensibility, and Reusability. This chapter presents a review of several success stories of AOP implementation in real world development projects and discusses the lessons learned in these projects. The works analyzed in the state-of-the-art are classified by Web development, Usability Engineering, and other related perspectives. Finally, the chapter also addresses AOP support between JavaScript-based RIA frameworks and non-JavaScript-based RIA frameworks providing either native or third-party AOP facilities. Some code snippets depicting the use of these facilities for implementing AOP concepts are also presented.


Author(s):  
Simon Bourdeau ◽  
Alejandro Romero-Torres ◽  
Marie-Claude Petit

The LEGO®-Scrum simulation-based training (SBT) described here shows how LEGO® bricks can help professionals learn first-hand about Scrum methodology, an Agile approach to software development projects. The chapter's objectives are 1) to present the modalities of the LEGO®-Scrum SBT, 2) to demonstrate how LEGO® bricks can help professionals learn, first-hand, about Scrum, and 3) to illustrate how this learning can be relevant and impactful for participants. Based on observations, interviews, and a data collection by questionnaire carried out with 198 participants, the proposed SBT appears to provide a significant, relevant, and valuable learning experience. In addition, four experienced Scrum masters and IT project managers, who played key roles in the SBT, argued that the LEGO®-Scrum SBT provides a realistic representation of real-world Scrum projects; that it is dynamic, complex, challenging, and motivating; and that participants' learning is evocative and relevant, since they learn by doing.


2020 ◽  
Vol 6 (3) ◽  
pp. 27-34
Author(s):  
E.J. Robles Gómez ◽  
J.A. Flores Lara ◽  
J.C. Ontiveros Neri

El juego getKanban es una herramienta para enseñar la metodología Kanban y SCRUM de una manera divertida. Facilita la enseñanza de la gestión de proyectos de software a través de un juego de mesa, donde los jugadores aprenden a formular estrategias de gestión de proyectos y las implementan para elaborar proyectos de calidad en tiempo y forma. El presente artículo muestra los resultados de la implementación del juego en una institución educativa de nivel superior, con alumnos de Ingeniería en Sistemas Computacionales de octavo semestre. Se puede apreciar que al utilizar este juego ayuda de manera efectiva a la enseñanza de Kanban y SCRUM, para la gestión de proyectos de software. Por lo cual se recomienda poder implementar este tipo de juegos como estrategia didáctica para la enseñanza/aprendizaje de Ingeniería de Software aplicada a la Gestión de Proyectos de Desarrollo de Software. The game Kanban is a tool to teach the methodology in a fun way. It facilitates the teaching of software project management through where players learn to formulate strategies and implement them to develop quality projects on time Delivery. This article shows the results of the implementation of the game in an educational institution of higher level, with students of Computer Systems Engineering eighth semester. It can be seen that by using this game it helps in an effective way to teach Kanban for the management of software projects. Therefore, it is recommended to be able to implement this type of games as a didactic strategy for the teaching / learning of Software Engineering applied to the Management of Software Development Projects


2021 ◽  
Vol 24 (2) ◽  
Author(s):  
Sivana Hamer ◽  
Christian Quesada-López ◽  
Alexandra Martínez ◽  
Marcelo Jenkins

Many software engineering courses are centered around team-based project development. Analyzing the source code contributions during the projects’ development could provide both instructors and students with constant feedback to identify common trends and behaviors that can be improved during the courses. Evaluating course projects is a challenge due to the difficulty of measuring individual student contributions versus team contributions during the development. The adoption of distributed version control sys-tems like git enable the measurement of students’ and teams’ contributions to the project.In this work, we analyze the contributions within eight software development projects,with 150 students in total, from undergraduate courses that used project-based learning.We generate visualizations of aggregated git metrics using inequality measures and the contribution per module, which offer insights into the practices and processes followed by students and teams throughout the project development. This approach allowed us to identify inequality among students’ contributions, the modules where students con-tributed, development processes with a non-steady pace, and integration practices render-ing a useful feedback tool for instructors and students during the project’s development.Further studies can be conducted to assess the quality, complexity, and ownership of the contributions by analyzing software artifacts. 


Author(s):  
Henrik Hillestad Løvold ◽  
Yngve Lindsjørn ◽  
Viktoria Stray

Abstract In software development projects, working in teams is essential. Therefore, software engineering courses often require the students to be working in teams to learn about team work behaviors and practices. The instructors of software engineering courses are presented with several challenges when teaching courses that require teamwork. For example, how to form high-performing student teams, and how to assess their work. The aim of this study is to evaluate whether there are differences in performance whether the students form the teams themselves, or if the teams are formed by the instructor. We evaluated a course involving agile software development by 200 students working in 39 teams. A total of 76% of the students chose to form their own teams, the remaining 24% were placed in teams by the instructors. Our findings indicate that teams formed by the students perform slightly better than the teams formed by the instructors.


10.28945/3292 ◽  
2009 ◽  
Author(s):  
Joseph Chao ◽  
Jennifer Brown

This paper discusses a collaborative service-learning approach to a software engineering course that involved partnering with local non-profit organizations and collaborating with a technical communication class. The main goals of the collaboration with the technical communication class were to provide the students with a real-world project that gave them experience with a crossdepartmental team collaboration and to improve the documentation accompanying the software that was developed for the non-profit organizations. Another goal was to, in turn, reduce the burden on the computer science instructor to provide technical support for the software after the end of the semester. We describe the courses involved, the goals for and method of collaboration, limitations, student survey responses, and lessons learned from this collaboration. As expected with a first attempt at a cross-departmental collaborative project, student survey results showed both positive and negative impressions of the collaboration. With further transforming of the curriculum, we believe this type collaboration holds value as an effective method of providing real-world experience, not only with developing software and working with a client, but also with collaborating with team members from other disciplines.


2009 ◽  
pp. 1760-1779 ◽  
Author(s):  
Brian Dobing ◽  
Jeffrey Parsons

The UML is an industry standard for object-oriented software engineering. However, there is little empirical evidence on how UML is used. This article reports results of a survey of UML practitioners. We found differences in several dimensions of UML diagram usage on software development projects including; frequency, the purposes for which they were used, and the roles of clients/users in their creation and approval. System developers are often ignoring the “use case-driven” prescription that permeates much of the UML literature, making limited or no use of either use case diagrams or textual use case descriptions. Implications and areas requiring further investigation are discussed.


2008 ◽  
pp. 981-1005
Author(s):  
P. Giorgini ◽  
H. Mouratidis ◽  
N. Zannone

Although the concepts of security and trust play an important issue in the development of information systems, they have been mainly neglected by software engineering methodologies. In this chapter, we present an approach that considers security and trust throughout the software development process. Our approach integrates two prominent software engineering approaches, one that provides a security-oriented process and one that provides a trust management process. The result is the de-velopment of a methodology that considers security and trust issues as part of its development process. Such integration represents an advance over the current state of the art by providing the ?rst effort to consider security and trust issues under a single software engineering methodology. A case study from the health domain is employed to illustrate our approach.


Sign in / Sign up

Export Citation Format

Share Document