### Course Overview
- **Course Title:** *Ingeniería de Software y Arquitectura de Software*
- **Instructor:** **Ing. Juan Araya Toledo** (Desarrollador Digital, 4.5/5 instructor rating)
- **Target Audience:**
- Aspiring **software engineers** and **software architects**
- **Project managers** and **team leads** in software development
- **Beginners** with no prior programming experience (theoretical focus)
- Professionals seeking **software quality assurance (SQA)** and **process improvement** skills
- **Prerequisites:** **None** (theoretical foundation; no coding experience required)
### Curriculum Highlights
- **Key Topics Covered:**
- **Software Engineering Fundamentals**: Goals, objectives, and scope
- **Technical Debt** and **Legacy Software** management
- **Project Lifecycle** and **SDLC models** (Cascade, Incremental, Agile, etc.)
- **Agile Methodologies**: Scrum, Kanban, XP
- **Requirements Engineering**:
- **IEEE 830 Standard** for requirement specifications
- Functional vs. **non-functional requirements**
- **UML Diagrams** (use cases, state diagrams, flowcharts)
- **Software Architecture Design**:
- **Component-based design** (SOLID principles)
- **Interface design** (Jacob Nielsen’s **10 Usability Heuristics**)
- **Clean Code** and **Clean Architecture** practices
- **Risk Management**:
- Risk identification, mitigation, and contingency planning
- **Software Testing**:
- **Unit testing**, **integration testing**, **system testing**
- **Black-box** vs. **white-box testing**
- **IEEE 29119** test documentation standards
- **Quality Assurance (QA)**:
- **SQA**, **QA**, and **ACS** frameworks
- Usability, reliability, and availability metrics
- **Project Documentation**:
- General plan, requirement specs, timelines, risk/TEST plans
- **Tools Introduction**:
- **JIRA** (project management)
- **StarUML** (diagramming)
- **GitHub** (version control)
- **Figma** (UI/UX design)
- **User Research Techniques**:
- **Focus groups**, technical reviews
- **Key Skills Learned:**
- Lead **software development teams** with structured processes
- Apply **Agile** and **traditional SDLC** methodologies
- Model systems using **UML diagrams** and **IEEE standards**
- Design **scalable architectures** with **SOLID** and **clean code** principles
- Develop **user-centric interfaces** using **Nielsen’s heuristics**
- Create **comprehensive test plans** (unit, integration, system)
- Manage **project risks** and **technical debt**
- Document projects per **industry standards** (IEEE 830, 29119)
- Use **JIRA**, **StarUML**, **GitHub**, and **Figma** for workflow optimization
### Course Format
- **Duration:** **20 hours** on-demand video
- **Format:** **Self-paced online** (lifetime access)
- **Resources:**
- **72 downloadable resources** (templates, guides, examples)
- **1 article** (supplemental reading)
- **Mobile/TV access**
- **Certificate of completion**
### Additional Information
- **Primary Reference Text:** *Pressman’s *Software Engineering: A Practitioner’s Approach** (theoretical backbone)
- **Language:** Spanish
- **Student Enrollment:** **11,862+ students**
- **Ratings:** **4.5/5** (938 reviews)