Course: Tools for Software Project Development

» List of faculties » FAI » AUIUI
Course title Tools for Software Project Development
Course code AUIUI/AE1VS
Organizational form of instruction Lecture + Lesson
Level of course unspecified
Year of study not specified
Semester Winter
Number of ECTS credits 3
Language of instruction English
Status of course unspecified
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Lecturer(s)
  • Tomášek Pavel, Ing. Ph.D.
  • Turečková Alžběta, Ing. Ph.D.
  • Janků Peter, Ing. Ph.D.
  • Mirshahi Sina, MSc.
  • Dulík Tomáš, Ing. Ph.D.
Course content
Topics: 1. Integrated development environments (IDEs) and team support functions. 2. SW development methodologies and their support in development environments. 3. Documentation systems - JavaDoc, Doxygen, etc. 4. Centralized version control systems - CVS, subversion. 5. Distributed version control systems - git, mercurial. 6. Scenarios of using version control tools in development cycles 7. Tools for automatic build - CMake, NMake, QMake, etc. 8. Dependency management and compilation for Java technology: maven, ant 9. online repository - web application for SVC systems management. 10. Project management systems. 11. Software testing - dynamic analysis, unit tests, Valgrind, etc. 12. Tools for automated testing of UI applications - Selenium, TestComplete, etc. 13. Continuous integration. 14. Tools for monitoring developer time, work schedules, and its monitoring.

Learning activities and teaching methods
Lecturing, Exercises on PC, Teamwork
prerequisite
Knowledge
Not specified
Not specified
learning outcomes
A student gains an overview of project management systems and tools for monitoring the time of developers, timesheets, and their monitoring. He can use version control systems, tools for automatic assembly, and documentation systems within a team project. He has a basic knowledge of how to test the created software.
A student gains an overview of project management systems and tools for monitoring the time of developers, timesheets, and their monitoring. He can use version control systems, tools for automatic assembly, and documentation systems within a team project. He has a basic knowledge of how to test the created software.
Characterize integrated development environments (IDEs).
Characterize integrated development environments (IDEs).
Describe features to support teamwork.
Describe features to support teamwork.
Explain software development methodologies and their support in development environments.
Explain software development methodologies and their support in development environments.
Describe documentation systems - javadoc, doxygen, etc.
Describe documentation systems - javadoc, doxygen, etc.
Describe centralized version control systems - CVS, subversion.
Describe centralized version control systems - CVS, subversion.
Describe distributed version control systems - git, mercurial.
Describe distributed version control systems - git, mercurial.
Describe project management systems.
Describe project management systems.
Skills
Suggest scenarios for the use of version control tools within development cycles.
Suggest scenarios for the use of version control tools within development cycles.
Implement simple software testing.
Implement simple software testing.
Apply tools for automated testing of UI applications.
Apply tools for automated testing of UI applications.
Apply selected tools for tracking developer time, reporting and monitoring work.
Apply selected tools for tracking developer time, reporting and monitoring work.
teaching methods
Knowledge
Lecturing
Exercises on PC
Lecturing
Teamwork
Teamwork
Exercises on PC
assessment methods
Analysis of works made by the student (Technical products)
Analysis of works made by the student (Technical products)
Recommended literature
  • CHACON, Scott. Pro Git.. Praha, 2009. ISBN 978-80-904248-1-.
  • KANER, Cem, Jack L FALK a Hung Quoc NGUYEN. Testing computer software. 2nd ed.. New York, 1999. ISBN 9780471358466.
  • PUGH, Kenneth. Lean-agile acceptance test-driven development: better software through collaboration.. Upper Saddle River, 2011. ISBN 0321714083.
  • ROEBUCK, Kevin. Release Management High-impact Strategies ? What You Need to Know: Defnitions, Adoptions, Impact, Benefts, Maturity, Vendors. Dayboro, 2012. ISBN 9781743332856.
  • WYSOCKI, Robert K. Effective project management: traditional, agile, extreme.. Indianapolis, 2012. ISBN 9781118016190.


Study plans that include the course