Software Engineering Advanced Training
Software Engineering Advanced Training Course – Hands-on
Software Engineering Advanced Training Course – Customize it
- We can adapt this training course to your group’s background and work requirements at little to no added cost.
- If you are familiar with some aspects of this training course, we can omit or shorten their discussion.
- We can adjust the emphasis placed on the various topics or build the training 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 training course in manner understandable to lay audiences.
Software Engineering Advanced Training Course – Audience/Target Group
The target audience for this training course:
Software Engineering Advanced Training Course – Objectives:
Upon completing this training course, learners will be able to meet these 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.
Software Engineering Advanced Training – Course Content
•Why Study Software Engineering?
Life Cycle Models
•Software Project Life Cycle Model
•Software Process Life Cycle
•Organization Process Assets
•Software Project Life Cycle Process
•Strengths and Weaknesses
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
Concurrency, Maintainability, Correctness, Portability, Reusability, Reliability, Testability, Traceability, Adaptability, Accessibility
Types of Interfaces
•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.
Process Improvement: Software Engineering Institute’s Capability Maturity Model (SEI CMM)
Object Oriented Analysis and Design
•Joint Application Development (JAD)
•User Interfaces, Prototyping
•Validation and Verification
•Decomposition: Functional and Modular
•Object Oriented Analysis and Design
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