Course Outline

QA/CI for Government

  • What is QA?
  • What is CI?
  • The costs associated with software development, refactoring, and fixing errors
  • Identifying and understanding the project requirements
  • Benefits for the organization

DDD for Government

  • Software development based on business requirements and assumptions in Domain-Driven Design (DDD)
  • Challenges in communication between IT and Business
  • Development of a domain model

Best Practices for Government

  • The KISS principle and DRY methodology
  • Coding standards and best practices
  • Creating reusable code through Object-Oriented Programming (OOP) and design patterns
  • Identifying and reducing cyclomatic complexity in code

Software Metrics for Government

  • Weight Method per Class (WMC)
  • Response For a Class (RFC)
  • Depth of Inheritance Tree (DIT)
  • Coupling Between Objects (CBO)
  • Lack of Cohesion of Methods (LCOM)
  • Number of Children (NOC)
  • Cyclomatic complexity
  • Metrics class
  • Model metrics
  • Metrics for use in software development

Software Testing for Government

  • What, when, and how to test software effectively
  • The "white-box" and "black box" testing methods
  • The role of testing in agile methodologies
  • TDD: Potential cost implications for projects
  • Unit testing with JUnit (Java), PHPUnit (PHP)
  • Behavioral tests using JBehave (Java), Behat and Mink (PHP)
  • Functional testing practices

Refactoring for Government

  • What is refactoring?
  • Technical debt management
  • Identifying code smells
  • Common refactoring patterns

Documentation for Government

  • The importance of documentation in agile methodologies
  • What aspects to document
  • Types of documentation required
  • Documentation and agile methodologies: Balancing working software with comprehensive documentation
  • Standard XMI for documentation
  • Automatic generation of documentation from Javadoc (Java), ApiGen (PHP)

Tools and Environment CI for Government

  • Tools and environment for Continuous Integration (CI)
    • PMD (Java), phpmd (PHP)
    • CPD (Java), phpcpd (PHP)
    • Lines Of Code Counter (Java), phploc (PHP)
    • UCDetector (Java), phpdcd (PHP)
    • Jdepend (Java), phpdepend (PHP)
  • Jenkins Continuous Integration Server

Agile and CI/QA for Government

  • Planning and incremental development processes
  • Embracing change in project management
  • Short development stages (sprints)
  • Interdisciplinary team collaboration
  • Extreme Programming practices, including code review
  • Valuing individuals and interactions over processes and tools

Summation for Government

  • Discussion of key points
  • Q&A session
  • Steps to begin the implementation process

Requirements

Understanding of software development processes for government

 14 Hours

Number of participants


Price per participant

Testimonials (5)

Upcoming Courses

Related Categories