Teaching agile principles and software engineering concepts through real-life projects

Author(s):  
Andreas Heberle ◽  
Rainer Neumann ◽  
Ingo Stengel ◽  
Stefanie Regier
Author(s):  
Sandro Morasca ◽  
Davide Taibi ◽  
Davide Tosi

Open Source Software (OSS) products do not usually follow traditional software engineering development paradigms. Specifically, testing activities in OSS development may be quite different from those carried out in Closed Source Software (CSS) development. As testing and verification require a good deal of resources in OSS, it is necessary to have ways to assess and improve OSS testing processes. This paper provides a set of testing guidelines and issues that OSS developers can use to decide which testing techniques make most sense for their OSS products. This paper 1) provides a checklist that helps OSS developers identify the most useful testing techniques according to the main characteristics of their products, and 2) outlines a proposal for a method that helps assess the maturity of OSS testing processes. The method is a proposal of a Maturity Model for testing processes (called OSS-TMM). To show its usefulness, the authors apply the method to seven real-life projects. Specifically, the authors apply the method to BusyBox, Apache Httpd, and Eclipse Test & Performance Tools Platform to show how the checklist supports and guides the testing process of these OSS products.


Author(s):  
Sandro Morasca ◽  
Davide Taibi ◽  
Davide Tosi

Open Source Software (OSS) products do not usually follow traditional software engineering development paradigms. Specifically, testing activities in OSS development may be quite different from those carried out in Closed Source Software (CSS) development. As testing and verification require a good deal of resources in OSS, it is necessary to have ways to assess and improve OSS testing processes. This paper provides a set of testing guidelines and issues that OSS developers can use to decide which testing techniques make most sense for their OSS products. This paper 1) provides a checklist that helps OSS developers identify the most useful testing techniques according to the main characteristics of their products, and 2) outlines a proposal for a method that helps assess the maturity of OSS testing processes. The method is a proposal of a Maturity Model for testing processes (called OSS-TMM). To show its usefulness, the authors apply the method to seven real-life projects. Specifically, the authors apply the method to BusyBox, Apache Httpd, and Eclipse Test & Performance Tools Platform to show how the checklist supports and guides the testing process of these OSS products.


Author(s):  
Md. Erfan ◽  
◽  
Bohnishikhan Halder ◽  
Sathi Rani Pal ◽  
Md. Shariful Islam ◽  
...  

2009 ◽  
pp. 2528-2546
Author(s):  
Jane Fröming ◽  
Norbert Gronau ◽  
Simone Schmid

The Knowledge Modeling and Description Language (KMDL®) allows analysts to identify process patterns, which leads to improvements in knowledge-intensive processes. After modeling the business processes, knowledge and process potentials in daily business processes can be unleashed. The following contribution presents a specification of KMDL® for software engineering (KMDL®-SE). A real-life example is used to explain KMDL®-SE.


2017 ◽  
Vol 3 ◽  
pp. e131 ◽  
Author(s):  
Fabian Fagerholm ◽  
Marco Kuhrmann ◽  
Jürgen Münch

Software engineering education is under constant pressure to provide students with industry-relevant knowledge and skills. Educators must address issues beyond exercises and theories that can be directly rehearsed in small settings. Industry training has similar requirements of relevance as companies seek to keep their workforce up to date with technological advances. Real-life software development often deals with large, software-intensive systems and is influenced by the complex effects of teamwork and distributed software development, which are hard to demonstrate in an educational environment. A way to experience such effects and to increase the relevance of software engineering education is to apply empirical studies in teaching. In this paper, we show how different types of empirical studies can be used for educational purposes in software engineering. We give examples illustrating how to utilize empirical studies, discuss challenges, and derive an initial guideline that supports teachers to include empirical studies in software engineering courses. Furthermore, we give examples that show how empirical studies contribute to high-quality learning outcomes, to student motivation, and to the awareness of the advantages of applying software engineering principles. Having awareness, experience, and understanding of the actions required, students are more likely to apply such principles under real-life constraints in their working life.


Author(s):  
LieHuo Chen ◽  
Qiang Liu ◽  
XiaoGuang Sun

With software projects are becoming increasingly complicated, soft skills such as collaboration, effective communication, rhetoric, socio-cultural, accountabilities and collision resolution in real-life software projects, as well as computer programming are badly required for team members to cooperate and finish the strenuous projects. Therefore it is fundamental for software engineering students to improve such skills, if they want to accelerate the success of teamwork. Nowadays, the ability of effective cooperation and communication is much more important than raw programming talent. Teams with average programmers who communicate well are more likely to success than those with superstars but not good at communication. At the same time, these soft skills are just difficult to teach and learn which require true collaboration and communication between students. The traditional learning activities for training soft skills are insufficient based on the facts that teachers and mentors pay too much attention on professional and technical abilities instead of soft skills. In this paper, a novel learning model called Problem and Task Based Learning is proposed which includes Problem-Based Learning, Task-Based Learning, and Web3D technologies. This new model could elevate the teamwork skills in software engineering and overcome the common limitations of the traditional course. This paper also presents two courses using this learning model-a Task-game course and a virtual 3D meeting, as well as some experimental results obtained from the students and the teachers who have participated in the two case studies. Both students and teachers are from Software Engineering Department of Tsinghua University.


Author(s):  
Elizabeth Suescún Monsalve ◽  
Allan Ximenes Pereira ◽  
Vera Maria B. Werneck

This chapter addresses the application of computer games and simulations in order to explore reality in many educational areas. The Games-Based Learning (GBL) can improve the teaching and learning experience by training future professionals in real life scenarios and activities that enable them to apply problem-solving strategies by putting into use the correct technique stemming from their own skills. For that reason, GBL has been used in software engineering teaching. At Pontifical Catholic University of Rio de Janeiro, the authors have developed SimulES-W (Simulation in Software Engineering), a tool for teaching software engineering. SimulES-W is a collaborative software board game that simulates a software engineering process in which the player performs different roles such as software engineer, technical coordinator, project manager, and quality controller. The players can deal with budget, software engineer employment and dismissal, and construction of different software artifacts. The objective of this chapter is to describe the approach to teaching software engineering using SimulES-W and demonstrate how pedagogical methodology is applied in this teaching approach to improve software engineering education. The teaching experience and future improvements are also discussed.


Sign in / Sign up

Export Citation Format

Share Document