Single Course

Software Development & Management

ICT and Security Management

Course Summary:

This course is an immersion in the development of software systems, with a focus on leading software engineering development and management processes and practices.

The course approaches software development from a systems perspective (an interdisciplinary, collaborative approach to the engineering of system solutions which aims to capture stakeholder needs and objectives and to transform these into a holistic, lifecycle balanced system solution which both satisfies the minimum requirements of the stakeholders, and optimizes overall solution effectiveness according to the values of the stakeholders).

Course Objectives:

  • be better prepared to specify, plan, develop, deliver, maintain and operate a software intensive system. Given the constant evolution of software development methodologies, delegates who are already experienced software professionals will further develop their skills.
  • become an advocate in your organization of practical methods to improve software project performance.
  • identify causes of software development problems and drive project performance improvements.
  • value the substantial body of public domain knowledge that defines world's leading practice in software engineering.

Course Outline

Introduction - why software engineering?

  • Software intensive project issues and challenges
  • Relationship between problem definition and stakeholder satisfaction
  • The case for applying a systematic approach to software systems development
  • Workshop - review of software intensive projects and their outcomes
  • Principles for software systems development


Systems engineering lifecycle processes

  • Definitions of system engineering
  • Systems concepts
  • Systems engineering lifecycle processes
  • Waterfall, incremental and iterative lifecycle models
  • Agile methods
  • Relationship to software engineering lifecycle processes
  • Standards and guidelines - iso 9001, ieee 1220, eia/is–632, eia 632, iso/iec 15288, sebok
  • Organizations – iec, ieee, incose, iso, sei


Software engineering lifecycle processes

  • Definitions of software engineering
  • Software engineering concepts
  • Relationship to systems engineering lifecycle processes
  • Organizations – ieee, iso, sei, pmi®
  • Standards and guidelines - iso 12207, ieee 12207, ieee 1012, iso 90003, swebok, iso 15504 (spice), iso 15939, iso 25000 series, cmmi for development,


Software systems engineering process framework

  • The 12207 process framework
  • The cmmi® process framework
  • The swebok knowledge areas

Software development methods and techniques - agile, tsp, rup, etc.

  • Development approaches explained - team software process (tps), extreme programming (xp), test driven development, feature driven development, dynamic systems development method (dsdm), rational unified process
  • Performance comparison of 13 software development methodologies - development cost, development time, software quality, software cost of ownership over 5 years
  • The objectives of agile methods
  • The agile manifesto
  • Agile ten years on
  • Agile project management
  • Agile success factors, challenges and benefits


Project management frameworks

  • Pmbok®
  • Prince2™
  • The iso/iec 12207 project management processes
  • The cmmi® project management knowledge area
  • The swebok software engineering management knowledge area

Quality management frameworks

  • Iso 9001
  • Iso 9000-3
  • The iso/iec 12207 qa processes
  • The cmmi® qa knowledge area
  • The swebok quality management knowledge area

Requirements analysis

  • Software requirements fundamentals
  • Requirements elicitation
  • Requirements analysis
  • Requirements specification
  • Requirements validation
  • Practical considerations
  • Requirements analysis techniques
  • Requirements documentation
  • Requirements management support tools
  • Workshop - requirements analysis


Software design

  • Software design fundamentals
  • Key issues in software design
  • Architectural models
  • Architectural views and frameworks
  • Commonly used architectures
  • Design methods
  • Software design notations and representations
  • Design documentation
  • Design support tools
  • Workshop - documenting designs


Software construction

  • Software construction fundamentals
  • Construction design
  • Programming languages
  • Software reuse and product lines
  • Software construction support tools


System integration

  • Integration
  • Service oriented architecture (soa)
  • Web services
  • Soap and xml
  • Interface control
  • Pitfalls and pointers in system integration


Software maintenance

  • Software maintenance fundamentals
  • Key issues in software maintenance
  • Maintenance techniques
  • Software maintenance support tools


Technical reviews

  • Software walk through and inspections - fagan, gilb
  • Formal and informal reviews
  • Requirements reviews
  • Design reviews
  • Other reviews
  • Audits
  • Administration of technical reviews
  • Technical reviews and incremental builds
  • Customer involvement in technical reviews
  • Pitfalls in conducting technical reviews
  • Workshop - reviewing requirements

Testing

  • Software testing fundamentals
  • Test planning
  • Test levels
  • Test techniques
  • Test related measures
  • Test documentation
  • Software testing tools

Other verification and validation methods

  • Control flow analysis
  • Demonstration
  • Prototyping
  • Simulation

Independent verification and validation

  • What is iv&v?
  • Why and when do you use iv&v?
  • Iv&v requirements and activities
  • Iv&v agents
  • Implementing iv&v

Project management activities

  • Project initiation
  • Scope definition
  • Project planning
  • Project monitoring, controlling, and reporting
  • Project closure

Configuration management

  • Configuration management fundamentals
  • Configuration identification
  • Configuration control
  • Configuration status accounting
  • Configuration auditing
  • Configuration management standards
  • Configuration management pitfalls and pointers

Release and deployment management

  • Release management
  • Deployment planning
  • Business continuity planning
  • Post implementation reviews

Quality management

  • The origins of quality management
  • Software quality fundamentals
  • Software quality characteristics
  • Quality management techniques
  • Quality management tools
  • Practical considerations

Software performance measurement/metrics

  • Technical performance measures
  • The practical software measurement (psm) approach
  • The iso 15939 software measurement process standard
  • The sei goal driven measurement approach
  • Function point analysis


Engineering of trusted software systems

  • Safety, security, and mission critical systems
  • Software engineering techniques for trusted software systems
  • Critical systems standard
  • Critical systems v&v

Workshop review

  • Lifecycle models and process frameworks
  • Software engineering technical activities
  • Software engineering management activities
  • Process evaluation and improvement
  • Trusted software systems
     

Login