Software Development & Management
Course Overview
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

$250.00
$2500.00
$3200.00
- 8568 Views
- 8 Weeks Online
- 1-2 Weeks Classes
- Certified