This Course is available in the following format:
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:
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.
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
•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