Selected Topic Tool based SW-Engineering
Tools to support the Software Life Cycle in general - Branching, Merging, and others - Working With Source Control - Tasks, Impediments, Bugs - Manage the work - Working with tools to plan the work - Working with holistic tools
Tools to support the Software Life Cycle in general - Branching, Merging, and others - Working With Source Control - Tasks, Impediments, Bugs - Manage the work - Working with tools to plan the work - Working with holistic tools
Fichier Détails
Cartes-fiches | 18 |
---|---|
Langue | English |
Catégorie | Informatique |
Niveau | Université |
Crée / Actualisé | 26.09.2016 / 10.11.2016 |
Lien de web |
https://card2brain.ch/box/selected_topic_tool_based_swengineering
|
Intégrer |
<iframe src="https://card2brain.ch/box/selected_topic_tool_based_swengineering/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
What are the responsibilities of Version Control Systems?
Backup and Restore
Synchronization of collaborative generated Code
Undo functions
Change tracking
Ownership tracking
Sandboxing
Branching and merging
What are the basic functions of a VCS?
Adding files to Repository (repo)
Check out (download a file from repo)
Check in (uploading a file to repo)
Changelog/History (list of changes)
Update (load the latest version from repo)
What are additional functions of a VCS?
Branch (create a new copy of the code on repo)
Diff (finding the differences between two verisons of a file)
Merge (bringing two Branches together)
Conflict Resolution (changes have been created on one file at the same time)
Locking (prevent others to work on a file)
What are the benefits of a distributed VCS?
Local sandbox for everyone
Works offline
Fast
Branching and merging is easier
What are the disadvantages of a distributed VCS?
No backup
No latest version
No readable revision numbers
What are the different phases of the software life cycle?
Req. Analysis - elicitation / documenting / formulating / managing of requirements
Design - design decisions are made, documented and verified
Implementation - coding, documentation of code, source code management, code change mgmt.
Testing - Test case definition and creation, creating test data, running tests, managing bug reports
Release - Defining dependencies, Running the tests, Building the software (automatically)
Maintenance - how software could be changed / refactored or replaced
For which areas in Requirement Engineering could you use tools and what are some established products for these?
Req. formulation, documentation and management
Products: Microsoft Team Foundation Services, Atlassin Jira, IBM Rational DOORS
What are the Pro's and Con's of SVN?
Pros: integration into IDE (VS), good collaboration and source code management
Cons: no holistic management
What are the Pro's and Con's of GitHub/Git?
Pros: integration into IDE (VS), good collaboration and source code management
Cons: no holistic management
What are the Pro's and Con's of Bitbucket?
Pros: good collaboration and source code management
Cons: no IDE integration
What is the common strength of Atlassian Confluence, Sharepoint, and Alfresco?
These tools act as collaboration platforms to share ideas, thoughts and information in a team. They enable you to define workflows, layout of sites , manage content and so on.
What can the tools Specflow and Speclog do best?
These tools enable you to map your user stories and to generate .Net Code out of your business requirements.
What are the Pro's and Cons of UML Tools in general / Rational Solution Architect for Requirements Engineering?
Such tools are quite good for formulating the requirements, sometimes for documentation but is hard to keep track of all the changes/to manage the requirements
What is a build server?
A build server, also called a continuous integration server (CI server), is a centralized, stable and reliable environment for building distributed development projects.
What does Continuous Integration mean?
Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day.
What is the difference between a centralized and distributed VCS?
centralized: everybody checks in to the main trunk
distributed: everybody has his own repo and syncs to the global repo
What does push and pull mean?
Push: sending changes to another repo
Pull: loading a change from another repo
What types of manual testing are there?
Planned manual testing. Manual testing by organizing tests into test plans and test suites by designated testers and test leads.
User acceptance testing. Testing carried out by designated user acceptance testers to verify the value delivered meets customer requirements, while reusing the test artifacts created by engineering teams.
Exploratory testing. Testing carried out by development teams, including developers, testers, UX teams, product owners and more, by exploring the software systems without using test plans or test suites.
Stakeholder feedback. Testing carried out by stakeholders outside the development team, such as users from marketing and sales divisions.