Software Engineering Essentials
Software engineers are in high demand, yet software engineering is often misunderstood. What is software engineering and why is it important? What are the building blocks of software engineering? And what are the processes and methods that differentiate it as a discipline? This course aims to answer all of the above questions, and give the audience the absolute essential knowledge about software engineering.
What you'll learn
The IEEE defines Software Engineering as "the application of a systematic, disciplined, and quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software." Software engineering is a discipline applied throughout the entire software lifecycle, spanning the early phases of system specifications all the way to maintenance after system deployment. So why use an engineering approach to software? Quite simply, because the alternative would be to use an ad-hoc or disordered approach. An engineering approach means predictability and quantifiable results through the application of theories, methodologies, frameworks, and tools. When applied efficiently, the result is high-quality software created in a cost-effective manner.
Table of contents
- Introduction 1m
- What Is Software Engineering? 2m
- Software Process and Process Model 5m
- Software Engineering Methods 1m
- Software Engineering Tools 2m
- The Role of Software Engineer 1m
- Software Engineering and Project Management 1m
- SWEBOK and Software Engineering Knowledge Areas 1m
- So What Is Covered in This Course? 3m
- Summary 2m
- Introduction 1m
- User and System Requirements 3m
- Functional and Non-Functional Requirements 6m
- The Requirements Engineering Process 1m
- Important Roles 3m
- Requirements Elicitation 3m
- Requirements Analysis 7m
- The Importance of Modeling 3m
- Requirements Specification 2m
- Requirements Validation 1m
- Requirements Management 2m
- Requirements Engineering vs. Business Analysis 4m
- More Resources 0m
- Summary 2m
- What's Next? 0m
- Introduction 0m
- Analysis Methods 3m
- Structured Analysis 1m
- Data Modeling (ERD) 3m
- Functional and Information-Flow Modeling (DFD, PSPEC) 5m
- Behavioral Modeling (STD) 3m
- Behavioral Modeling: CFD, and CSPEC 3m
- Structured Analysis Method in Requirements Analysis 3m
- See the Importance of Modeling? 1m
- More Resources 0m
- Summary 1m
- What’s Next? 0m
- Introduction 0m
- Why Object-Oriented Analysis? 2m
- Various Approaches to Object-Oriented Analysis (and Design) 2m
- The Role of UML in Object Oriented Analysis 1m
- The 4+1 View Model 5m
- Static/Dynamic Modeling 2m
- The Use Case (Scenarios) View 4m
- Logical View: Class Diagrams 6m
- Logical View: Interaction Diagrams 3m
- Logical View: State Machine Diagrams 1m
- Logical View: Activity Diagrams 3m
- What About Modeling Non-Functional Requirements? 2m
- RUP's Object-Oriented Analysis 3m
- What About Business Process Analysis? 2m
- More Resources 1m
- Summary 2m
- What's Next? 0m
- Introduction 0m
- Analysis Activity vs. Design Activity 2m
- From Requirements Modeling to Design 3m
- Design vs. Architecture 4m
- Example: Architecture vs. Design 6m
- Contextual, Conceptual, Logical, and Physical Abstraction Levels 4m
- Viewpoints and Views 4m
- Abstraction Levels and Views 2m
- Quality Attributes and Non-Functional Requirements 3m
- Architectural Description 1m
- Summary 1m
- What's Next 0m
- Introduction 0m
- What About Structured Design Method? 3m
- What About Object-Oriented Design? 1m
- Identify Architecture-Relevant Scenarios and NFRs 3m
- Plan Iterations and Activities 1m
- Decide on Viewpoints and Notations 2m
- Decompose Architecture-Relevant Components 4m
- Identify Possible Architectural Styles 1m
- The Logical Viewpoint 3m
- The Information Viewpoint 2m
- The Process Viewpoint 3m
- The Physical Viewpoint 2m
- The Development Viewpoint 0m
- The Operation Viewpoint 2m
- Other Viewpoints 2m
- Apply Quality Attributes 7m
- Balance Quality Attributes 4m
- Validate Architecture 2m
- Identify Design Patterns 0m
- Detailed Design 1m
- More Resources 1m
- Summary 3m
- What's Next 0m
- Introduction 0m
- Testing vs. Quality Control vs. Quality Assurance 3m
- From Construction to Testing 2m
- Important Testing Terms 2m
- Test Plans, Scenarios, Cases, and Scripts 3m
- The V-Shaped Model (Verification and Validation) 7m
- Test Techniques 6m
- Test Levels 4m
- Test Objectives 3m
- Summary 2m
- Where to Go From Here? 1m