Software Engineering for Beginners
(SOFTWARE-ENGG.AE3) / ISBN : 978-1-64459-422-3
About This Course
The Software Engineering for Beginners course unlocks your potential to develop cutting-edge software solutions. With comprehensive design, coding, testing, and project management coverage, this course equips you with the essential skills needed to excel in the industry. You'll learn from real examples that lead to real results. It contains interactive lessons with knowledge checks and quizzes, and hands-on labs to build and iterate on your code like a software developer.
Skills You’ll Get
Get the support you need. Enroll in our Instructor-Led Course.
Interactive Lessons
22+ Interactive Lessons | 131+ Exercises | 60+ Quizzes | 522+ Flashcards | 522+ Glossary of terms
Gamified TestPrep
45+ Pre Assessment Questions | 45+ Post Assessment Questions |
Hands-On Labs
27+ LiveLab | 12+ Video tutorials | 18+ Minutes
Introduction
- What Is Software Engineering?
- Why Is Software Engineering Important?
- Who Should Read This Course?
Software Engineering from 20,000 Feet
- Requirements Gathering
- High-Level Design
- Low-Level Design
- Development
- Testing
- Deployment
- Maintenance
- Wrap-Up
- Everything All At Once
- Summary
- What You Learned In This Lesson
Before the Beginning
- Document Management
- Historical Documents
- Code
- Code Documentation
- Application Documentation
- Summary
- What You Learned In This Lesson
The Team
- Team Features
- Team Roles
- Team Culture
- Interviews
- Physical Environment
- Collaboration Software
- Outsourcing
- Summary
- What You Learned In This Lesson
Project Management
- Executive Support
- Project Management
- Summary
- What You Learned In This Lesson
Requirements Gathering
- Requirements Defined
- Requirement Categories
- Gathering Requirements
- Refining Requirements
- Recording Requirements
- Validation And Verification
- Changing Requirements
- Digital Transformation
- Summary
- What You Learned In This Lesson
High-Level Design
- The Big Picture
- What To Specify
- Uml
- Summary
- What You Learned In This Lesson
Low-Level Design
- Design Approaches
- Oo Design
- Database Design
- When To Optimize
- Summary
- What You Learned In This Lesson
Security Design
- Security Goals
- Security Types
- Cybersecurity
- Shift-Left Security
- Malware Menagerie
- Phishing And Spoofing
- Social Engineering Attacks
- Crapware
- Password Attacks
- User Access
- Countermeasures
- Cyber Insurance
- Summary
- What You Learned In This Lesson
User Experience Design
- Design Mindset
- Design Guidelines
- Form Design
- Summary
- What You Learned In This Lesson
Programming
- Tools
- Algorithms
- Top-Down Design
- Programming Tips And Tricks
- Summary
- What You Learned In This Lesson
Algorithms
- Algorithm Study
- Algorithmic Approaches
- Algorithm Characteristics
- Summary
- What You Learned In This Lesson
Programming Languages
- The Myth Of Picking A Language
- Language Generations
- Language Families
- The Best Language
- Summary
- What You Learned In This Lesson
Testing
- Testing Goals
- Reasons Bugs Never Die
- Levels Of Testing
- Testing Techniques
- Testing Habits
- How To Fix A Bug
- Estimating Number Of Bugs
- Summary
- What You Learned In This Lesson
Deployment
- Scope
- The Plan
- Cutover
- Deployment Tasks
- Deployment Mistakes
- Summary
- What You Learned In This Lesson
Metrics
- Wrap Party
- Defect Analysis
- Software Metrics
- Summary
- What You Learned In This Lesson
Maintenance
- Maintenance Costs
- Task Categories
- Task Execution
- Summary
- What You Learned In This Lesson
Predictive Models
- Model Approaches
- Prerequisites
- Predictive And Adaptive
- Waterfall
- Waterfall With Feedback
- Sashimi
- Incremental Waterfall
- V-Model
- Software Development Life Cycle
- Summary
- What You Learned In This Lesson
Iterative Models
- Iterative Vs. Predictive
- Iterative Vs. Incremental
- Prototypes
- Spiral
- Unified Process
- Cleanroom
- Cowboy Coding
- Summary
- What You Learned In This Lesson
RAD
- RAD Principles
- James Martin Rad
- Agile
- XP
- Scrum
- Lean
- Crystal
- Feature-Driven Development
- Disciplined Agile Delivery
- Primary Roles
- Secondary Roles
- Dynamic Systems Development Method
- Kanban
- Summary
- What You Learned In This Lesson
Software Ethics
- Ethical Behavior
- Responsibility
- Thought Experiments
- Summary
- What You Learned In This Lesson
Future Trends
- Security
- UX/UI
- Code Packaging
- Cloud Technology
- Software Development
- Algorithms
- Tech Toys
- Summary
- What You Learned In This Lesson
Software Engineering from 20,000 Feet
- Understanding Software Development Project Phases
Before the Beginning
- Sending an Email Using Confidential Mode
- Documenting and Commenting on the HTML5 Code
The Team
- Analyzing Team-Building Features
Project Management
- Creating a PERT Chart
- Creating a Gantt Chart
Requirements Gathering
- Understanding the FURPS+ Categories
- Understanding Requirements Techniques and Methods
High-Level Design
- Understanding the Class Diagram Visibility Symbols
Low-Level Design
- Normalizing Unnormalized Data to 1NF
- Normalizing Data from 1NF to 2NF
- Normalizing Data from 2NF to 3NF
User Experience Design
- Customizing the Word's Ribbon Interface
- Understanding Printer Configuration
- Designing a Form
Programming
- Using the Sorting Algorithm
- Implementing Software Programming Using Factorial
Algorithms
- Understanding Recursion
- Implementing Caching Using ARP
Programming Languages
- Using a Fourth-Generation Language to Retrieve Specific Data
- Using an Object-Oriented Language to Create a Class
Testing
- Understanding the Testing Techniques
Metrics
- Creating an Ishikawa Diagram
Maintenance
- Understanding the Types of Maintenance Tasks
Predictive Models
- Understanding the Waterfall Model
Iterative Models
- Understanding the Spiral Model
RAD
- Understanding the RAD Model