Software Engineering Advanced Training

RF Training Fundamentals

Course Delivery

This Course is available in the following format:

Request this course in a different delivery format

GSA Schedule 70 Saving for Government Customers

Course Overview:

Software Engineering Advanced Training Course Description

Software Engineering Advanced Training, This, the second of our two courses on software engineering, focuses on the software engineering toolkit. Building on the overview of the software lifecycle provided by the first course, it undertakes an in-depth study of the methodology and practice of software engineering. Upon completion of this Software Engineering Training Advanced course, you will have acquired a good understanding of the tools and techniques used throughout the software lifecycle from the conception to the installation and maintenance.

Software Engineering Advanced Training – Customize It:

• If you are familiar with some aspects of this Software Engineering Advanced Training course, we can omit or shorten their discussion.
• We can adjust the emphasis placed on the various topics or build the Software Engineering Advanced Training course around the mix of technologies of interest to you (including technologies other than those included in this outline).
• If your background is nontechnical, we can exclude the more technical topics, include the topics that may be of special interest to you (e.g., as a manager or policy-maker), and present the Software Engineering Advanced Training course in manner understandable to lay audiences.

Software Engineering Advanced Training – Related Courses:

Introduction to Software Engineering Training
Statistical Tolerance Analysis Training

Software Engineering Advanced Training – Objectives:

• Software inception: Feasibility and estimation.
• Requirements elicitation and definition.
• Analysis and different design approaches and patterns.
• Management of configuration, change, and risk.
• Joint Application Development (JAD)
• Prototyping and user interfaces.
• Object oriented analysis, design, and programming.
• Coding and testing.
• Deployment and maintenance.
• Project management.
• Verification

Software Engineering Advanced Training – Course Syllabus:


•Why Study Software Engineering?

Life Cycle Models

•Software Project Life Cycle Model
•Software Process Life Cycle
•Organization Process Assets
•Software Project Life Cycle Process
•Model Descriptions
•Strengths and Weaknesses
•Case Study

Phase Artifacts/Outputs

Software Life Cycle vs Project Management Life Cycle

Objectives, Principles, Attributes

•Objectives: Reusability, Maintainability, Concurrent Documentation, Testability, Correctness, Reliability, Portability
•Principles: Concurrent Documentation, Hierarchical Decomposition, Functional Decomposition,Information Hiding, Stepwise Refinement, Structured Programming, Life-Cycle Verification
•Attributes: Reduced Coupling, Enhanced Cohesion, Reduced Complexity, Well-Defined Interfaces, Readability, Ease of Change, Traceability, Visibility of Behavior, Early Error Detection

Documentation Principles

Concurrency, Maintainability, Correctness, Portability, Reusability, Reliability, Testability, Traceability, Adaptability, Accessibility

Types of Interfaces

Project Initiation

•Description of the Business Needs/Problem to Be Solved, Objective(s), Scope
•Feasibility Studies and Estimating
•People Management (Socio-Technical Systems)
•Technical and social skills and skill sets
•Team size and communication
•Developing, maintaining, and updating a resourced project schedule and resource plan.
•Configuration Management
•Change Management
•Risk Management

Process Improvement: Software Engineering Institute’s Capability Maturity Model (SEI CMM)
Object Oriented Analysis and Design

Requirements Definition
•Stakeholders, Buy-in
•Joint Application Development (JAD)
•Requirements Management
•User Interfaces, Prototyping
•Alternatives Analysis
•Validation and Verification


•Architectural Design
•Application Architectures
•Decomposition: Functional and Modular
•Object Oriented Analysis and Design
•Design Patterns

Development and Testing

•Object Oriented Programming
•Validation and Verification
•Types of Testing
•Unit, integration, white-box, black-box, path, boundary value analysis, equivalence classes, regression

Implementation and Support

•Types of Maintenance: Corrective, Perfective, Preventive, Adaptive

Whether you are looking for general information or have a specific question, we want to help!

Request More Information

Print Friendly, PDF & Email