Software and systems engineering
Paulo Borba
Informatics Center
Federal University of Pernambuco
phmb@cin.ufpe.br ◈ twitter.com/pauloborba
Evaluation of the requirements class
• Only 9 answers (17 for the first class)!
• "Talvez uma especificação mais explícita dos conceitos mais importantes”
• “…Se puder verificar equipes incompletas no início da próxima aula seria uma mão na
roda”
Class structure
• Check previous activities
• Log into google with your CIn account
• Access and answer today’s questions (…)
• Discuss class material
• what haven’t you understood? what don’t you agree?
what haven’t you liked? what are you missing to perform the project task?
• Hands-on scenario review, and configuration
management plan and use session
Configuration
management
Software and system development is often
done in teams!
Team members
contribute to the same
artifacts
Productivity and quality
problems sharing requirements, source code, etc. via...
• dropbox
• google docs
Source code (artifact) control systems
• Versions and commits
• Releases and builds
• Branches
• Feature or component development
• Bug fixing in previous releases
• Customer specific variants
• Integration, merges and conflicts
• Repositories
• Centralized vs distributed
Forking and cloning
From http://www.eqqon.com/index.php/Collaborative_Github_Workflow
Committing early and often
From http://marklodato.github.com/visual-git-guide/index-en.html
Continuous integration,
continuous deployment
Pushing, requesting pulling, and merging
From http://www.eqqon.com/index.php/Collaborative_Github_Workflow
Branches, merging,
rebasing and squashing
RGMS history
RGMS at Github
Git at
IntelliJ
Before integrating…
• Review scenarios and features, or write scenarios in pairs
• Make sure they follow style and quality criteria; otherwise, clearly comment
• Organize review procedures and meetings
Change requests,
change managements, and other aspects are
discussed latter
Checklist
• Clear commit messages, exactly
corresponding to what has changed
• no language errors
• Commit early and often
• avoid tangled commits
• Rules and details at the website
CM research at CIn
• Advanced merging tools: Paulo
• Collaboration conflicts characteristics:
Paulo
Software and systems engineering
Paulo Borba
Informatics Center
Federal University of Pernambuco
phmb@cin.ufpe.br ◈ twitter.com/pauloborba