Why study at TECH?

Software quality has never been as necessary as it is today. Enroll in this online Advanced master’s degree and access the most comprehensive content on computer engineering"

##IMAGE##

Computer engineering has grown exponentially in recent years due to the evolution of technology and digital tools, especially in everything related to the web and its usability. That is why today the development of software for various functions is the order of the day and the catalog of programs is growing. However, this quantity is not always synonymous of quality, so that frequently there are applications that do not fulfill their purpose, that return errors or that seriously violate the security of the companies. For this reason, computer engineers specialized in this area are increasingly in demand.

That is why TECH has decided to design this Advanced master’s degree in Software Engineering and Quality, a multidisciplinary program designed by experts in the area and designed in such a way that the graduate will find in it all the necessary tools to update their knowledge in a comprehensive manner and based on the latest developments in the sector. It is an educational program that combines theory and practice in 20 modules in which software engineering and the quality of information systems projects are studied in depth.

Throughout the 24 months in which this 100% online program is taught, the engineer will have access to the best syllabus that will allow him to improve his skills in the standardization of databases and in the decoupling between components of a system, as well as to expand his knowledge in scalable architectures, quality metrics and collaborative work.

In addition, you will have access to a modern and cutting-edge virtual classroom where you will find all the tools that will allow you to get the most out of this certificate, including hundreds of hours of additional material in different formats. All this content can be downloaded to any device with an internet connection, ensuring that you can consult it whenever you want and need it.

You will have access to HTML exercises and their answers, so you will be able to put into practice your knowledge and the theory developed throughout the programming"

This Advanced master’s degree in Software Engineering and Quality contains the most complete and up-to-date educational program on the market. Its most notable features are:

  • Case studies presented by engineering experts
  • The graphic, schematic, and practical contents with which they are created, provide scientific and practical information on the disciplines that are essential for professional practice
  • Practical exercises where self-assessment can be used to improve learning
  • Special emphasis on innovative methodologies in Software design and construction
  • Theoretical lessons, questions to the expert, debate forums on controversial topics, and individual reflection assignments
  • Content that is accessible from any fixed or portable device with an Internet connection

Thanks to the dedicated DevOps module you will have the most comprehensive and in-depth knowledge to speed up the software development lifecycle and ensure continuous high-quality delivery"

It includes, in its teaching staff, professionals belonging to the field of engineering who contribute their work experience to this program, as well as renowned specialists from prestigious universities and reference societies.

The multimedia content, developed with the latest educational technology, will provide the professional with situated and contextual learning, i.e., a simulated environment that will provide an immersive learning experience designed to prepare for real-life situations.

This program is designed around Problem-Based Learning, whereby the student must try to solve the different professional practice situations that arise throughout the program. For this purpose, the professional will be assisted by an innovative interactive video system created by renowned and experienced experts.

Thanks to this certificate you will be able to start your own software development project and apply the most sophisticated and innovative unit stress and endurance tests to check its quality”

##IMAGE##

Delve into Test-Driven Development and gain a broad and specialized view of test-driven software design and development”

Syllabus

For the development of this program, TECH has based the structure of its content on three fundamental pillars: the most up-to-date and complete information from the IT Engineering sector specialized in the Software area, the recommendations of the teaching team, and the innovative pedagogical methodology of Relearning. In addition, in its commitment to offer a program adapted and personalized to the academic needs of each graduate, not only in the design of schedules, but also in the level of deepening, students will find in the virtual classroom hundreds of hours of additional material with which they can delve into the aspects they consider most relevant for their professional practice.

##IMAGE##

Thanks to this program, you will be able to design scalable vertical, horizontal and combined architectures, based on the most advanced, complete and up-to-date IT techniques and protocols"

Module 1. Software Quality TRL Development Levels

1.1. Elements that Influence Software Quality (I). The Technical Debt

1.1.1. The Technical Debt. Causes and Consequences
1.1.2. Software Quality General Principles
1.1.3. Unprincipled and Principled Quality Software

1.1.3.1. Consequences
1.1.3.2. Necessity of Applying Quality Principles in Software

1.1.4. Software Quality Typology
1.1.5. Quality Software. Specific features

1.2. Elements that Influence Software Quality (II). Associated Costs

1.2.1. Software Quality Influencing Elements
1.2.2. Software Quality Misconceptions
1.2.3. Software Quality Associated Costs

1.3. Software Quality Models (I). Knowledge Management

1.3.1. General Quality Models

1.3.1.1. Total Quality Management
1.3.1.2. European Business Excellence Model (EFQM)
1.3.1.3. Six-Sigma Model

1.3.2. Knowledge Management Models

1.3.2.1. Dyba Model
1.3.2.2. Seks Model

1.3.3. Experience Factory and QIP Paradigm
1.3.4. Quality in Use Models (25010)

1.4. Software Quality Models (III). Quality in Data, Processes and SEI Models

1.4.1. Data Quality Data Model
1.4.2. Software Process Modeling
1.4.3. Software & Systems Process Engineering Metamodel Specification (SPEM)
1.4.4. SEI Models

1.4.4.1. CMMI
1.4.4.2. SCAMPI
1.4.4.3. IDEAL

1.5. ISO Software Quality Standards (I). Analysis of the Standards

1.5.1. ISO 9000 Standards

1.5.1.1. ISO 9000 Standards
1.5.1.2. ISO Family of Quality Standards (9000)

1.5.2. Other ISO Standards Related to Quality
1.5.3. Quality Modeling Standards (ISO 2501)
1.5.4. Quality Measurement Standards (ISO 2502n)

1.6. ISO Software Quality Standards (II). Requirements and Assessment

1.6.1. Standards on Quality Requirements (2503n)
1.6.2. Standards on Quality Assessment (2504n)
1.6.3. ISO/IEC 24744:2007

1.7. TRL Development Levels (I). Levels 1 to 4

1.7.1. TRL Levels
1.7.2. Level 1: Basic Principles
1.7.3. Level 2: Concept and/or Application
1.7.4. Level 3: Critical Analytical Function
1.7.5. Level 4: Component Validation in Laboratory Environment 1.8

1.8. TRL Development Levels (II). Levels 5 to 9

1.8.1. Level 5: Component Validation in Relevant Environment
1.8.2. Level 6: System/Subsystem Model
1.8.3. Level 7: Demonstration in Real Environment
1.8.4. Level 8: Complete and Certified System
1.8.5. Level 9: Success in Real Environment

1.9. TRL Development Levels. Uses

1.9.1. Example of Company with Laboratory Environment
1.9.2. Example of an R&D&I Company
1.9.3. Example of an Industrial R&D&I Company
1.9.4. Example of a Laboratory-Engineering Joint Venture Company

1.10. Software Quality Key Details

1.10.1. Methodological Details
1.10.2. Technical Details
1.10.3. Software Project Management Details

1.10.3.1. Quality of Computer Systems
1.10.3.2. Software Product Quality
1.10.3.3. Software Product Quality

Module 2. Software Project Development. Functional and technical documentation

2.1. Project Management

2.1.1. Project Management in Software Quality
2.1.2. Project Management Advantages
2.1.3. Project Management Typology

2.2. Methodology in Project Management

2.2.1. Methodology in Project Management
2.2.2. Project Methodologies. Typology
2.2.3. Methodologies in Project Management. Application

2.3. Requirements Identification Phase

2.3.1. Identification of Project Requirements
2.3.2. Management of Project Meetings
2.3.3. Documentation to Be Provided

2.4. Models

2.4.1. Initial Phase
2.4.2. Analysis Phase
2.4.3. Construction Phase
2.4.4. Testing Phase
2.4.5. Delivery

2.5. Data Model to Be Used

2.5.1. Determination of the New Data Model
2.5.2. Identification of the Data Migration Plan
2.5.3. Data Set

2.6. Impact on Other Projects

2.6.1. Impact of a Project. Examples

2.7. MUST of the Project

2.7.1. MUST of the Project
2.7.2. Identification of Project MUST
2.7.3. Identification of the Execution Points for Project Delivery

2.8. The Project Construction Team

2.8.1. Roles to be Involved According to the Project
2.8.2. Contact with HR for Recruitment
2.8.3. Project Deliverables and Schedule

2.9. Technical Aspects of a Software Project

2.9.1. Project Architect. Technical Aspects
2.9.2. Technical Leaders
2.9.3. Construction of the Project Software
2.9.4. Code Quality Assessment, Sonar

2.10. Project Deliverables

2.10.1. Functional Analysis
2.10.2. Data Model
2.10.3. State Diagram
2.10.4. Technical Documentation

Module 3. Software Testing. Test Automation

3.1. Software Quality Models

3.1.1. Product Quality
3.1.2. Process Quality
3.1.3. Quality of Use

3.2. Process Quality

3.2.1. Process Quality
3.2.2. Maturity Models
3.2.3. ISO 15504 Standards

3.2.3.1. Purposes
3.2.3.2. Context
3.2.3.3. Stages

3.3. ISO/IEC 15504 Standard

3.3.1. Process Categories
3.3.2. Development Process Example
3.3.3. Profile Fragment
3.3.4. Stages

3.4. CMMI (Capability Maturity Model Integration)

3.4.1. Capability Maturity Model Integration
3.4.2. Models and Areas. Typology
3.4.3. Process Areas
3.4.4. Capacity Levels
3.4.5. Process Management
3.4.6. Project Management

3.5. Change and Repository Management

3.5.1. Software Change Management

3.5.1.1. Configuration Item. Continuous Integration
3.5.1.2. Lines
3.5.1.3. Flowcharts
3.5.1.4. Branches

3.5.2. Repository

3.5.2.1. Version Control
3.5.2.2. Work Team and Use of the Repository
3.5.2.3. Continuous Integration in the Repository

3.6. Team Foundation Server (TFS)

3.6.1. Installation and Configuration
3.6.2.  Creation of a Team Project
3.6.3. Adding Content to Source Code Control
3.6.4. TFS on Cloud

3.7. Testing

3.7.1. Motivation for Testing
3.7.2. Verification Testing
3.7.3. Beta Testing
3.7.4. Implementation and Maintenance

3.8. Load Testing

3.8.1. Load Testing
3.8.2. LoadView Testing
3.8.3. K6 Cloud Testing
3.8.4. Loader Testing

3.9. Unit Stress and Endurance Tests

3.9.1. Motivation of Unit Tests
3.9.2. Unit Testing Tools
3.9.3. Motivation for Stress Testing
3.9.4. Testing UsingStressTesting
3.9.5. Motivation for stress Resistance
3.9.6. Tests Using LoadRunner

3.10. Scalability. Scalable Software Design

3.10.1. Scalability and Software Architecture
3.10.2. Independence Between Layers
3.10.3. Coupling Between Layers Architecture Patterns

Module 4. Software Project Management Methodologies. Waterfall Methodology vs Agile Methodology

4.1. Waterfall Methodology

4.1.1. Waterfall Methodology
4.1.2. Waterfall Methodology Influence on Software Quality
4.1.3. Waterfall Methodology Examples

4.2. Agile Methodology

4.2.1. Agile Methodology
4.2.2. Agile Methodology. Influence on Software Quality
4.2.3. Agile Methodology. Examples

4.3. SCRUM Methodology

4.3.1. SCRUM Methodology
4.3.2. SCRUM Manifesto
4.3.3. SCRUM Application

4.4. Panel Kanban

4.4.1. Kanban Method
4.4.2. Kanban Board
4.4.3. Kanban Board. Application Examples

4.5. Waterfall Project Management

4.5.1. Project Phases
4.5.2. Vision in a Waterfall Project
4.5.3. Deliverables to Consider

4.6. Project Management in SCRUM

4.6.1. Phases in a SCRUM Project
4.6.2. Vision in a SCRUM Project
4.6.3. Deliverables to Consider

4.7. Waterfall vs. SCRUM. Comparison

4.7.1. Pilot Project Approach
4.7.2. Project Applying Waterfall. Example
4.7.3. Project Applying Waterfall. Example

4.8. Customer Vision

4.8.1. Documents in a Waterfall
4.8.2. Documents in a SCRUM
4.8.3. Comparison

4.9. Kanban Structure

4.9.1. User Stories
4.9.2. Backlog
4.9.3. Kanban Analysis

4.10. Hybrid Projects

4.10.1. Project Construction
4.10.2. Project Management
4.10.3. Deliverables to Consider

Module 5. TDD (Test-Driven Development). Test-Driven Software Design

5.1. TDD. Test-Driven Development

5.1.1. TDD. Test-Driven Development
5.1.2. TDD. Influence of TDD on Quality
5.1.3.  Test-Driven Design and Development. Examples:

5.2. TDD Cycle

5.2.1. Choice of a Requirement
5.2.2. Performing Tests. Typology

5.2.2.1. Unit Tests
5.2.2.2. Integration Tests
5.2.2.3. End To End Tests

5.2.3. Test Verification. Errors
5.2.4. Creation of the Implementation
5.2.5. Automated Test Execution
5.2.6. Elimination of Duplication
5.2.7. Requirements Lists Update
5.2.8. Repeating the TDD Cycle
5.2.9. TDD Cycle. Theoretical and Practical Example

5.3. TDD Implementation Strategies

5.3.1. Mock Implementation
5.3.2. Triangular Implementation
5.3.3. Obvious Implementation

5.4. TDD. Use. Advantages and Disadvantages

5.4.1. Advantages of Use
5.4.2. Limitations of Use
5.4.3. Quality Balance in the Implementation

5.5. TDD. Good Practices

5.5.1. TDD Rules
5.5.2. Rule 1: Have a Previous Test that Fails Before Coding in Production
5.5.3. Rule 2: Not to Write More than One Unit Test
5.5.4. Rule 3: Not to Write More Code than Necessary
5.5.5. Errors and Anti-Patterns to Avoid in TDD

5.6. Simulation of a Real Project to use TDD (I)

5.6.1. Project Overview (Company A)
5.6.2. Application of TDD
5.6.3. Proposed Exercises
5.6.4. Exercises Feedback

5.7. Simulation of a Real Project to use TDD (II)

5.7.1. Project Overview (Company B)
5.7.2. Application of TDD
5.7.3. Proposed Exercises
5.7.4. Exercises Feedback

5.8. Simulation of a Real Project to use TDD (III)

5.8.1. General Description of the Project (Company C)
5.8.2. Application of TDD
5.8.3. Proposed Exercises
5.8.4. Exercises Feedback

5.9. Alternatives to TDD. Test Driven Development

5.9.1. TCR (Test Commit Revert)
5.9.2. BDD (Behavior Driven Development)
5.9.3. ATDD (Acceptance Test Driven Development)
5.9.4. TDD. Theoretical Comparison

5.10. TDD TCR, BDD and ATDD. Practical Comparison

5.10.1. Defining the Problem
5.10.2. Resolution with TCR
5.10.3. Resolution with BDD
5.10.4. Resolution with ATDD

Module 6. DevOps. Software Quality Management

6.1. DevOps. Software Quality Management

6.1.1. DevOps
6.1.2. DevOps and Software Quality
6.1.3. DevOps. Benefits of DevOps Culture

6.2. DevOps. Relation to Agile

6.2.1. Accelerated Delivery
6.2.2. Quality
6.2.3. Cost Reduction

6.3. DevOps Implementation

6.3.1. Problem identification
6.3.2. Implementation in a Company
6.3.3. Implementation Metrics

6.4. Software Delivery Cycle

6.4.1. Design Methods
6.4.2. Agreements
6.4.3. Roadmap

6.5. Error-Free Code Development

6.5.1. Maintainable Code
6.5.2. Development Patterns
6.5.3. Code Testing
6.5.4. Software Development at Code Level. Good Practices

6.6. Automation

6.6.1. Automation Types of Tests
6.6.2. Cost of Automation and Maintenance
6.6.3. Automation Mitigating Errors

6.7. Deployment

6.7.1. Target Assessment
6.7.2. Design of an Automatic and Adapted Process
6.7.3. Feedback and Responsiveness

6.8. Incident Management

6.8.1. Incident Management
6.8.2. Incident Analysis and Resolution
6.8.3. How to Avoid Future Mistakes

6.9. Deployment Automation

6.9.1. Preparing for Automated Deployments
6.9.2. Assessment of the Health of the Automated Process
6.9.3. Metrics and Rollback Capability

6.10. Good Practices. Evolution of DevOps

6.10.1. Guide of Good Practices applying DevOps
6.10.2. DevOps. Methodology for the Team
6.10.3. Avoiding Niches

Module 7. DevOps and Continuous Integration. Advanced Practical Solutions in Software Development

7.1. Software Delivery Flow

7.1.1. Identification of Actors and Artifacts
7.1.2. Software Delivery Flow Design
7.1.3. Software Delivery Flow. Inter-Stage Requirements

7.2. Process Automation

7.2.1. Continuous Integration
7.2.2. Continuous Deployment
7.2.3. Environment Configuration and Secret Management

7.3. Declarative Pipelines

7.3.1. Differences Between Traditional, Code-like and Declarative Pipelines
7.3.2. Declarative Pipelines
7.3.3. Declarative Pipelines in Jenkins
7.3.4. Comparison of Continuous Integration Providers

7.4. Quality Gates and Enriched Feedback

7.4.1. Quality Gates
7.4.2. Quality Standards with Quality gates. Maintenance
7.4.3. Business Requirements in Integration Requests

7.5. Artifact Management

7.5.1. Artifacts and Life Cycle
7.5.2. Artifact Storage and Management Systems
7.5.3. Security in Artifact Management

7.6. Continuous Deployment

7.6.1. Continuous Deployment as Containers
7.6.2. Continuous Deployment with PaaS

7.7. Pipeline Runtime Improvement: Static Analysis and Git Hooks

7.7.1. Static Analysis
7.7.2. Code Style Rules
7.7.3. Git Hooks and Unit Tests
7.7.4. The Impact of Infrastructure

7.8. Vulnerabilities in Containers

7.8.1. Vulnerabilities in Containers
7.8.2. Image Scanning
7.8.3. Periodic Reports and Alerts

Module 8. Database (DB) Design. Standardization and performance. Software Quality

8.1. Database Design

8.1.1. Databases. Typology
8.1.2. Databases Currently Used

8.1.2.1. Relational
8.1.2.2. Key-Value
8.1.2.3. Based on Graphs

8.1.3. Data Quality

8.2. Entity-Relationship Model Design (I)

8.2.1. Entity-Relationship Model. Quality and Documentation
8.2.2. Entities

8.2.2.1. Strong Entity
8.2.2.2. Weak Entity

8.2.3. Attributes
8.2.4. Set of Relationships

8.2.4.1. 1 to 1
8.2.4.2. 1 to Many
8.2.4.3. Many to 1
8.2.4.4. Many to Many

8.2.5. Keys

8.2.5.1. Primary Key
8.2.5.2. Foreign Key
8.2.5.3. Weak Entity Primary Key

8.2.6. Restrictions
8.2.7. Cardinality
8.2.8. Heritage
8.2.9. Aggregation

8.3. Entity-Relationship Model (II). Tools

8.3.1. Entity-Relationship Model. Tools
8.3.2. Entity-Relationship Model. Practical Example
8.3.3. Entity-Relationship Model feasible

8.3.3.1. Visual Sample
8.3.3.2. Sample in Table Representation

8.4. Database (DB) Standardization (I). Software Quality Considerations

8.4.1. DB Standardization and Quality
8.4.2. Dependency

8.4.2.1. Functional Dependence
8.4.2.2. Properties of Functional Dependence
8.4.2.3. Deduced Properties

8.4.3. Keys

8.5. Database (DB) Normalization (II). Normal Forms and Codd Rules

8.5.1. Normal Shapes

8.5.1.1. First Normal Form (1FN)
8.5.1.2. Second Normal Form (2FN)
8.5.1.3. Third Normal Form (3FN)
8.5.1.4. Boyce-Codd Normal Form (BCNF)
8.5.1.5. Fourth Normal Form (4FN)
8.5.1.6. Fifth Normal Form (5FN)

8.5.2. Codd's Rules

8.5.2.1. Rule 1: Information
8.5.2.2. Rule 2: Guaranteed Access
8.5.2.3. Rule 3: Systematic Treatment of Null Values
8.5.2.4. Rule 4: Description of the Database
8.5.2.5. Rule 5: Integral Sub-Language
8.5.2.6. Rule 6: View Update
8.5.2.7. Rule 7: Insert and Update
8.5.2.8. Rule 8: Physical Independence
8.5.2.9. Rule 9: Logical Independence
8.5.2.10. Rule 10: Integrity Independence

8.5.2.10.1. Integrity Rules

8.5.2.11. Rule 11: Distribution
8.5.2.12. Rule 12: Non-Subversion

8.5.3. Practical Example

8.6. Data Warehouse/OLAP System

8.6.1. Data Warehouse
8.6.2. Fact Table
8.6.3. Dimension Table
8.6.4. Creation of the OLAP System. Tools

8.7. Database (DB) Performance

8.7.1. Index Optimization
8.7.2. Query Optimization
8.7.3. Table Partitioning

8.8. Simulation of Real Project for DB Design (I)

8.8.1. Project Overview (Company A)
8.8.2. Database Design Application
8.8.3. Proposed Exercises
8.8.4. Proposed Exercises Feedback

8.9. Simulation of Real Project for BD Design (II)

8.9.1. Project Overview (Company B)
8.9.2. Application of Database Design
8.9.3. Proposed Exercises
8.9.4. Proposed Exercises Feedback

8.10. Relevance of DB Optimization to Software Quality

8.10.1. Design Optimization
8.10.2. Query Code Optimization
8.10.3. Stored Procedure Code Optimization
8.10.4. Influence of Triggers on Software Quality. Recommendations for Use

Module 9. Design of Scalable Architectures. The Architecture in the Software Life Cycle

9.1. Design of Scalable Architectures (I)

9.1.1. Scalable Architectures
9.1.2. Principles of a Scalable Architecture

9.1.2.1. Reliable
9.1.2.2. Scalable
9.1.2.3. Maintainable

9.1.3. Types of Scalability

9.1.3.1. Vertical
9.1.3.2. Horizontal
9.1.3.3. Combined

9.2. Architecture DDD (Domain-Driven Design)

9.2.1. The DDD Model Domain Orientation
9.2.2. Layers, Distribution of Responsibility and Design Patterns
9.2.3. Decoupling as a Basis for Quality

9.3. Design of Scalable Architectures (II). Benefits, Limitations and Design Strategies

9.3.1. Scalable Architecture. Benefits
9.3.2. Scalable Architecture. Limitations
9.3.3. Strategies for the Development of Scalable Architectures (Descriptive TABLE)

9.4. Software Life Cycle (I). Stages

9.4.1. Software Life Cycle

9.4.1.1. Planning Stage
9.4.1.2. Analysis Stage
9.4.1.3. Design Stage
9.4.1.4. Implementation Stage
9.4.1.5. Testing Stage
9.4.1.6. Installation/Deployment Stage
9.4.1.7. Use and Maintenance Stage

9.5. Software Life Cycle Models

9.5.1. Waterfall Model
9.5.2. Repetitive Model
9.5.3. Spiral Model
9.5.4. Big Bang Model

9.6. Software Life Cycle (II). Automation

9.6.1. Software Development Life Cycle. Solutions

9.6.1.1. Continuous Integration and Development (CI/CD)
9.6.1.2. Agile Methodologies
9.6.1.3. DevOps/Production Operations

9.6.2. Future Trends
9.6.3. Practical Examples

9.7. Software Architecture in the Software Life Cycle

9.7.1. Benefits
9.7.2. Limitations
9.7.3. Tools

9.8. Real Project Simulation for Software Architecture Design (I)

9.8.1. Project Overview (Company A)
9.8.2. Application of Software Architecture Design
9.8.3. Proposed Exercises
9.8.4. Proposed Exercises Feedback

9.9. Simulation of a Real Project for Software Architecture Design (II)

9.9.1. Project Overview (Company B)
9.9.2. Software Architecture Design Application
9.9.3. Proposed Exercises
9.9.4. Proposed Exercises Feedback

9.10. Simulation of a Real Project for Software Architecture Design (III)

9.10.1. General Description of the Project (Company C)
9.10.2. Software Architecture Design Application
9.10.3. Proposed Exercises
9.10.4. Proposed Exercises Feedback

Module 10. ISO, IEC 9126 Quality Criteria. Software Quality Metrics

10.1. Quality Criteria. ISO, IEC 9126 Standard

10.1.1. Quality Criteria
10.1.2. Software Quality Justification. ISO, IEC 9126 Standard
10.1.3. Software Quality Measurement as a Key Indicator

10.2. Software Quality Criteria. Features

10.2.1. Reliability
10.2.2. Functionality
10.2.3. Efficiency
10.2.4. Usability
10.2.5. Maintainability
10.2.6. Portability

10.3. ISO Standard, IEC 9126 (I). Introduction

10.3.1. Description of ISO, IEC 9126 Standard
10.3.2. Functionality
10.3.3. Reliability
10.3.4. Usability
10.3.5. Maintainability
10.3.6. Portability
10.3.7. Quality in Use
10.3.8. Software Quality Metrics
10.3.9. ISO 9126 Quality Metrics

10.4. ISO Standard, IEC 9126 (II). McCall and Boehm Models

10.4.1. McCall Model: Quality factors
10.4.2. Boehm Model
10.4.3. Intermediate Level. Features

10.5. Software Quality Metrics (I). Components

10.5.1. Measurement
10.5.2. Metrics
10.5.3. Indicator

10.5.3.1. Types of Indicators

10.5.4. Measurements and Models
10.5.5. Scope of Software Metrics
10.5.6. Classification of Software Metrics

10.6. Software Quality Measurement (II). Measurement Practice

10.6.1. Metric Data Collection
10.6.2. Measurement of Internal Product Attributes
10.6.3. Measurement of External Product Attributes
10.6.4. Measurement of Resources
10.6.5. Metrics for Object-Oriented Systems

10.7. Design of a Single Software Quality Indicator

10.7.1. Single Indicator as a Global Qualifier
10.7.2. Indicator Development, Justification and Application
10.7.3. Example of Application. Need to Know the Detail

10.8. Simulation of Real Project for Quality Measurement (I)

10.8.1. General Description of the Project (Company A)
10.8.2. Application of Quality Measurement
10.8.3. Proposed Exercises
10.8.4. Proposed Exercises Feedback

10.9. Real Project Simulation for Quality Measurement (II)

10.9.1. General Description of the Project (Company B)
10.9.2. Application of Quality Measurement
10.9.3. Proposed Exercises
10.9.4. Proposed Exercises Feedback

10.10. Real Project Simulation for Quality Measurement (III)

10.10.1. General Description of the Project (Company C)
10.10.2. Application of Quality Measurement
10.10.3. Proposed Exercises
10.10.4. Proposed Exercises Feedback

Module 11. Methodologies, Development and Quality in Software Engineering

11.1. Model-Based Software Development

11.1.1. The Need for
11.1.2. Object Modeling
11.1.3. UML
11.1.4. CASE Tools

11.2. Application Modeling and Design Patterns with UML

11.2.1. Advanced Requirements Modeling
11.2.2. Advanced Static Modeling
11.2.3. Advanced Dynamic Modeling
11.2.4. Component Modeling
11.2.5. Introduction to Design Patterns with UML
11.2.6. Adapter
11.2.7. Factory
11.2.8. Singleton
11.2.9. Strategy
11.2.10. Composite
11.2.11. Facade
11.2.12. Observer

11.3. Model-Driven Engineering

11.3.1. Introduction
11.3.2. Metamodeling of Systems
11.3.3. MDA
11.3.4. DSL
11.3.5. Model Refinements with OCL
11.3.6. Model Transformations

11.4. Ontologies in Software Engineering

11.4.1. Introduction
11.4.2. Ontology Engineering
11.4.3. Application of Ontologies in Software Engineering

Module 12. Software Project Management

12.1. Stakeholders and Outreach Management

12.1.1. Identify Stakeholders
12.1.2. Develop Plan for Stakeholder Management
12.1.3. Manage Stakeholder Engagement
12.1.4. Control Stakeholder Engagement
12.1.5. The Objective of the Project
12.1.6. Scope Management and its Plan
12.1.7. Gathering Requirements
12.1.8. Define the Scope Statement
12.1.9. Create the WBS
12.1.10. Verify and Control the Scope

12.2. The Development of the Time-Schedule

12.2.1. Time Management and its Plan
12.2.2. Define Activities
12.2.3. Establishment of the Sequence of Activities
12.2.4. Estimated Resources for Activities
12.2.5. Estimated Duration of Activities
12.2.6. Development of the Time-Schedule and Calculation of the Critical Path
12.2.7. Schedule Control

12.3. Budget Development and Risk Response

12.3.1. Estimate Costs
12.3.2. Develop Budget and S-Curve
12.3.3. Cost Control and Earned Value Method
12.3.4. Risk Concepts
12.3.5. How to Perform a Risk Analysis
12.3.6. The Development of the Response Plan

12.4. Communication and Human Resources

12.4.1. Planning Communications Management
12.4.2. Communications Requirements Analysis
12.4.3. Communication Technology
12.4.4. Communication Models
12.4.5. Communication Methods
12.4.6. Communications Management Plan
12.4.7. Manage Communications
12.4.8. Management of Human Resources
12.4.9. Main Stakeholders and their Roles in the Projects
12.4.10. Types of Organization
12.4.11. Project Organization
12.4.12. The Work Equipment

12.5. Procurement

12.5.1. The Procurement Process
12.5.2. Plan
12.5.3. Search for Suppliers and Request for Quotations
12.5.4. Contract Allocation
12.5.5. Contract Administration
12.5.6. Contracts
12.5.7. Types of Contracts
12.5.8. Contract Negotiation

12.6. Execution, Monitoring and Control and Closure

12.6.1. Process Groups
12.6.2. Project Execution
12.6.3. Project Monitoring and Control
12.6.4. Project Closure

12.7. Professional Responsibility

12.7.1. Professional Responsibility
12.7.2. Characteristics of Social and Professional Responsibility
12.7.3. Project Leader Code of Ethics
12.7.4. Liability vs. PMP®
12.7.5. Examples of Liability
12.7.6. Benefits of Professionalization

Module 13. Software Development Platforms

13.1. Introduction to Application Development

13.1.1. Desktop Applications
13.1.2. Programming Language
13.1.3. Integrated Development Environments
13.1.4. Web Applications
13.1.5. Mobile Applications
13.1.6. Cloud Applications

13.2. Application Development and Graphical User Interface in Java

13.2.1. Integrated Development Environments for Java
13.2.2. Main IDE for Java
13.2.3. Introduction to the Eclipse Development Platform
13.2.4. Introduction to the NetBeans Development Platform
13.2.5. Controller View Model for Graphical User Interfaces
13.2.6. Design a Graphical Interface in Eclipse
13.2.7. Design a Graphical Interface in NetBeans

13.3. Debugging and Testing in Java

13.3.1. Testing and Debugging of Java programs
13.3.2. Debugging in Eclipse
13.3.3. Debugging in NetBeans

13.4. Application Development and Graphical User Interface in. NET

13.4.1. Net Framework
13.4.2. Components of the .NET Development Platform
13.4.3. Visual Studio .NET
13.4.4. .NET tools for GUI
13.4.5. The GUI with Windows Presentation Foundation
13.4.6. Debugging and Compiling a WPF Application

13.5. Programming for .NET Networks

13.5.1. Introduction to .NET Network Programming
13.5.2. Requests and Responses in .NET
13.5.3. Use of Application Protocols in .NET
13.5.4. Security in .NET Network Programming

13.6. Mobile Application Development Environments

13.6.1. Mobile Applications
13.6.2. Android Mobile Applications
13.6.3. Steps for Development in Android
13.6.4. The IDE Android Studio

13.7. Development of Applications in the Environment Android Studio

13.7.1. Install and Start Android Studio
13.7.2. Running an Android Application
13.7.3. Development of the Graphic Interface in Android Studio
13.7.4. Starting Activities in Android Studio

13.8. Debugging and Publishing of Android Applications

13.8.1. Debugging an Application in Android Studio
13.8.2. Memorizing Applications in Android Studio
13.8.3. Publishing an Application on Google Play

13.9. Cloud Application Development

13.9.1. Cloud Computing
13.9.2. Cloud Levels: SaaS, PaaS, IaaS
13.9.3. Main Development Platforms in the Cloud
13.9.4. Bibliographical References

13.10. Introduction to Google Cloud Platform

13.10.1. Basic Concepts of Google Cloud Platform
13.10.2. Google Cloud Platform Services
13.10.3. Tools in Google Cloud Platform

Module 14. Web-Client Computing

14.1. Introduction to HTML

14.1.1. Structure of the Document
14.1.2. Color
14.1.3. Text:
14.1.4. Hypertext Links
14.1.5. Images
14.1.6. Lists
14.1.7. Tables
14.1.8. Frames
14.1.9. Forms
14.1.10. Specific Elements for Mobile Technologies
14.1.11. Obsolete Elements

14.2. Cascading Style Sheets (CSS)

14.2.1. Elements and Structure of a Cascading Style Sheet

14.2.1.1. Creation of Style Sheets
14.2.1.2. Application of Styles Selectors
14.2.1.3. Style Inheritance and Cascading
14.2.1.4. Page Formatting Using Styles
14.2.1.5. Page Structuring Using Styles. The Box Model

14.2.2. Style Design for different Devices
14.2.3. Types of Style Sheets: Static and Dynamic The Pseudo-Classes
14.2.4. Best Practices in the Use of Style Sheets

14.3. Introduction and History of JavaScript

14.3.1. Introduction
14.3.2. History of JavaScript
14.3.3. Development Environment to be Used

14.4. Basic Notions of Web Programming

14.4.1. Basic JavaScript Syntax
14.4.2. Primitive Data Types and Operators
14.4.3. Variables and Areas
14.4.4. Text Strings and Template Literals
14.4.5. Numbers and Booleans
14.4.6. Comparisons

14.5. Complex JavaScript Structures

14.5.1. Vectors or Arrays and Objects
14.5.2. Sets
14.5.3. Maps
14.5.4. Disjunctive
14.5.5. Loops

14.6. Functions and Objects

14.6.1. Function Definition and Invocation
14.6.2. Arguments
14.6.3. Arrow Functions
14.6.4. Callback Functions
14.6.5. Higher Order Functions
14.6.6. Literal Objects
14.6.7. The This Object
14.6.8. Objects as Namespaces: theMaths and Date Objects

14.7. The Document Object Model (DOM)

14.7.1. What is DOM?
14.7.2. A Bit of History
14.7.3. Navigation and Element Retrieval
14.7.4. A Virtual DOM with JSDOM
14.7.5. Query Selectors
14.7.6. Navigation using Properties
14.7.7. Assigning Attributes to Elements
14.7.8. Creation and Modification of Nodes
14.7.9. Updated Styling of the DOM Elements

14.8. Modern Web Development

14.8.1. Event-Driven Flow and Listeners
14.8.2. Modern Web Toolkits and Alignment Systems
14.8.3. Strict JavaScript Mode
14.8.4. More about Functions
14.8.5. Asynchronous Promises and Functions
14.8.6. Closures
14.8.7. Functional Programming
14.8.8. POO in JavaScript

14.9. Web Usability

14.9.1. Introduction to Usability
14.9.2. Definition of Usability
14.9.3. Importance of User-Centered Web Design
14.9.4. Differences Between Accessibility and Usability
14.9.5. Advantages and Problems in Combining Accessibility and Usability
14.9.6. Advantages and Difficulties in the Implementation of Usable Websites
14.9.7. Usability Methods
14.9.8. User Requirements Analysis
14.9.9. Conceptual Design Principles. User-Oriented Prototyping
14.9.10. Guidelines for the Creation of Usable Web Sites

14.9.10.1. Usability Guidelines of Jakob Nielsen
14.9.10.2. Usability Guidelines of Bruce Tognazzini

14.9.11. Usability Evaluation

14.10. Web Accessibility

14.10.1. Introduction
14.10.2. Definition of Web-Accessibility
14.10.3. Types of Disabilities

14.10.3.1. Temporary or Permanent Disabilities
14.10.3.2. Visual Impairment
14.10.3.3. Hearing Impairment
14.10.3.4. Motor Impairment
14.10.3.5. Neurological or Cognitive Disabilities
14.10.3.6. Difficulties Arising from Aging
14.10.3.7. Limitations Arising from the Environment
14.10.3.8. Barriers Preventing Access to the Web

14.10.4. Technical Aids and Support Products to Overcome Barriers

14.10.4.1. Aids for the Blind
14.10.4.2. Aids for Persons with Low Vision
14.10.4.3. Aids for People with Color Blindness
14.10.4.4. Aids for the Hearing Impaired
14.10.4.5. Aids for the Motor Impaired
14.10.4.6. Aids for the and Neurological Impaired

14.10.5. Advantages and Difficulties in the Implementation of Web Accessibility
14.10.6. Web Accessibility Regulations and Standards
14.10.7. Web Accessibility Regulatory Bodies
14.10.8. Comparison of Standards and Regulations
14.10.9. Guidelines for Compliance with Regulations and Standards

14.10.9.1. Description of the Main Guidelines (Images, links, videos, etc.)
14.10.9.2. Guidelines for Accessible Navigation

14.10.9.2.1. Perceptibility
14.10.9.2.2. Operability
14.10.9.2.3. Comprehensibility
14.10.9.2.4. Robustness

14.10.10. Description of the Web Accessibility Compliance Process
14.10.11. Compliance Levels
14.10.12. Compliance Criteria
14.10.13. Compliance Requirements
14.10.14. Web Site Accessibility Evaluation Methodology

Module 15. Web Server Computing

15.1. Introduction to Server-Side Programming: PHP

15.1.1. Server-Side Programming Basics
15.1.2. Basic PHP Syntax
15.1.3. HTML Content Generation with PHP
15.1.4. Development and Testing Environments: XAMPP

15.2. Advanced PHP

15.2.1. Control Structures with PHP
15.2.2. PHP Functions
15.2.3. Array Handling in PHP
15.2.4. String Handling with PHP
15.2.5. Object Orientation in PHP

15.3. Data Models

15.3.1. Concept of Data. Life Cycle of Data
15.3.2. Types of Data

15.3.2.1. Basic
15.3.2.2. Records
15.3.2.3. Dynamics

15.4. Relational Model

15.4.1. Description
15.4.2. Entities and Types of Entities
15.4.3. Data Elements. Attributes
15.4.4. Relationships: Types, Subtypes, Cardinality
15.4.5. Keys Types of Keys
15.4.6. Normalization. Normal Shapes

15.5. Construction of the Logical Data Model

15.5.1. Specification of Tables
15.5.2. Definition of Columns
15.5.3. Key Specification
15.5.4. Conversion to Normal Shapes. Dependency

15.6. The Physical Data Model. Data Files

15.6.1. Description of Data Files
15.6.2. Types of Files
15.6.3. Access Modes
15.6.4. File Organization

15.7. Database Access from PHP

15.7.1. Introduction to MariaDB
15.7.2. Working with a MariaDB Database: the SQL Language
15.7.3. Accessing the MariaDB Database from PHP
15.7.4. Introduction to MySql
15.7.5. Working with a MySql Database: The SQL Language
15.7.6. Accessing MySql Database from PHP

15.8. Client Interaction from PHP

15.8.1. PHP Forms
15.8.2. Cookies
15.8.3. Session Management

15.9. Web Application Architecture

15.9.1. The Model-View-Controller Pattern
15.9.2. Controller
15.9.3. Models
15.9.4. View

15.10. Introduction to Web Services

15.10.1. Introduction to XML
15.10.2. Service-Oriented Architecture (SOA): Web Services
15.10.3. Creation of SOAP and REST Web Services
15.10.4. The SOAP Protocol
15.10.5. The REST Protocol

Module 16. Safety Management

16.1. Information Security

16.1.1. Introduction
16.1.2. Information Security Involves Confidentiality, Integrity and Availability
16.1.3. Safety is an Economic Issue
16.1.4. Safety is a Process
16.1.5. Classification of Information
16.1.6. Information Security Involves Risk Management
16.1.7. Security is Articulated with Security Controls
16.1.8. Security is both Physical and Logical
16.1.9. Safety Involves People

16.2. The Information Security Professional

16.2.1. Introduction
16.2.2. Information Security as a Profession
16.2.3. ISC2 Certifications
16.2.4. The ISO 27001 Standard
16.2.5. Best Security Practices in IT Service Management
16.2.6. Information Security Maturity Models
16.2.7. Other Certifications, Standards and Professional Resources

16.3. Access Control

16.3.1. Introduction
16.3.2. Access Control Requirements
16.3.3. Authentication Mechanisms
16.3.4. Authorization Methods
16.3.5. Access Accounting and Auditing
16.3.6. Triple A Technologies

16.4. Information Security Programs, Processes and Policies

16.4.1. Introduction
16.4.2. Security Management Programs
16.4.3. Risk Management
16.4.4. Design of Security Policies

16.5. Business Continuity Plans

16.5.1. Introduction to BCPs
16.5.2. Phase I and II
16.5.3. Phase III and IV
16.5.4. Maintenance of the BCP

16.6. Procedures for the Correct Protection of the Company

16.6.1. DMZ Networks
16.6.2. Intrusion Detection Systems
16.6.3. Access Control Lists
16.6.4. Learning from the Attacker: Honeypot

16.7. Security Architecture Prevention

16.7.1. Overview. Activities and Layer Model
16.7.2. Perimeter Defence (Firewalls, WAFs, WAFs, IPS, etc.)
16.7.3. Endpoint Defence (Equipment, Servers and Services)

16.8. Security Architecture Detection

16.8.1. Overview Detection and Monitoring
16.8.2. Logs, Encrypted Traffic Breaking, Recording and Siems
16.8.3. Alerts and Intelligence

16.9. Security Architecture Reaction

16.9.1. Reaction Products, Services and Resources
16.9.2. Incident Management
16.9.3. CERTS and CSIRTs

16.10. Security Architecture Recuperation

16.10.1. Resilience, Concepts, Business Requirements and Regulations
16.10.2. IT Resilience Solutions
16.10.3. Crisis Management and Governance

Module 17. Software Security

17.1. Software Security Problems

17.1.1. Introduction to the Problem of Software Security
17.1.2. Vulnerabilities and their Classification
17.1.3. Secure Software Properties
17.1.4. References

17.2. Software Safety Design Principles

17.2.1. Introduction
17.2.2. Software Safety Design Principles
17.2.3. Types of S-SDLC
17.2.4. Software Safety in S-SDLC Phases
17.2.5. Methodologies and Standards
17.2.6. References

17.3. Software Lifecycle Safety in the Requirements and Design Phases

17.3.1. Introduction
17.3.2. Attack Modeling
17.3.3. Cases of Abuse
17.3.4. Safety Requirements Engineering
17.3.5. Risk Analysis Architectural
17.3.6. Design Patterns
17.3.7. References

17.4. Software Lifecycle Safety in the Coding, Testing and Operation Phases

17.4.1. Introduction
17.4.2. Risk-Based Safety Testing
17.4.3. Code Review
17.4.4. Penetration Test
17.4.5. Security Operations
17.4.6. External Review
17.4.7. References

17.5. Secure Coding Applications I

17.5.1. Introduction
17.5.2. Secure Coding Practices
17.5.3. Manipulation and Validation of Inputs
17.5.4. Memory Overflow
17.5.5. References

17.6. Secure Coding Applications II

17.6.1. Introduction
17.6.2. Integers Overflows, Truncation Errors and Problems with Type Conversions between Integers
17.6.3. Errors and Exceptions
17.6.4. Privacy and Confidentiality
17.6.5. Privileged Programs
17.6.6. References

17.7. Development and Cloud Security

17.7.1. Safety in Development; Methodology and Practice
17.7.2. PaaS, IaaS, CaaS and SaaS Models
17.7.3. Security in the Cloud and for Cloud Services

17.8. Encryption

17.8.1. Fundamentals of Cryptology
17.8.2. Symmetric and Asymmetric Encryption
17.8.3. Encryption at Rest and in Transit

17.9. Security Automation and Orchestration (SOAR)

17.9.1. Complexity of Manual Processing: Need to Automate Tasks
17.9.2. Products and Services
17.9.3. SOAR Architecture

17.10. Telework Safety

17.10.1. Need and Scenarios
17.10.2. Products and Services
17.10.3. Telework Safety

Module 18. Web Server Administration

18.1. Introduction to Web Servers

18.1.1. What is a Web Server?
18.1.2. Architecture and Operation of a Web Server
18.1.3. Resources and Contents on a Web Server
18.1.4. Application Servers
18.1.5. Proxy Servers
18.1.6. Main Web Servers on the Market
18.1.7. Web Server Usage Statistics
18.1.8. Web Server Security
18.1.9. Load Balancing on Web Servers
18.1.10. References

18.2. HTTP Protocol Handling

18.2.1. Operation and Structure
18.2.2. Request Methods
18.2.3. Status Codes
18.2.4. Headers
18.2.5. Content Coding Code Pages Performing HTTP Requests on the Internet Using a Proxy, Livehttpheadersor similar Method, Analyzing the Protocol Used

18.3. Description of Distributed Multi-Server Architectures

18.3.1. 3-Layer Model
18.3.2. Fault Tolerance
18.3.3. Load Sharing
18.3.4. Session State Stores
18.3.5. Cache Stores

18.4. Internet Information Services (IIS)

18.4.1. What is IIS?
18.4.2. History and Evolution of IIS
18.4.3. Main Advantages and Features of IIS7 and Later Versions
18.4.4. IIS7 Architecture and Later Versions

18.5. IIS Installation, Administration and Configuration

18.5.1. Preamble
18.5.2. Internet Information Services (IIS) Installation
18.5.3. IIS Administration Tools
18.5.4. Web Site Creation, Configuration and Administration
18.5.5. Installation and Management of IIS Extensions

18.6. Advanced Security in IIS

18.6.1. Preamble
18.6.2. Authentication, Authorization, and Access Control in IIS
18.6.3. Configuring a Secure Website on IIS with SSL
18.6.4. Security Policies Implemented in IIS 18.x

18.7. Introduction to Apache

18.7.1. What is Apache?
18.7.2. Main Advantages of Apache
18.7.3. Main Features of Apache
18.7.4. Architecture

18.8. Apache Installation and Configuration

18.8.1. Initial Installation of Apache
18.8.2. Apache Configuration

18.9. Installation and Configuration of the Different Apache Modules

18.9.1. Apache Module Installation
18.9.2. Types of Modules
18.9.3. Secure Apache Configuration

18.10. Advanced Security

18.10.1. Authentication, Authorization and Access Control
18.10.2. Authentication Methods
18.10.3. Secure Apache Configuration with SSL

Module 19. Security Audit

19.1. Introduction to Information Systems in the Company

19.1.1. Introduction to Information Systems in the Company and the Role of IT Auditing
19.1.2. Definitions of "IT Audit" and "IT Internal Control"
19.1.3. Functions and Objectives of IT Auditing
19.1.4. Differences between Internal Control and IT Auditing

19.2. Internal Controls of Information Systems

19.2.1. Functional Flowchart of a Data Processing Center
19.2.2. Classification of Information Systems Controls
19.2.3. The Golden Rule

19.3. The Process and Phases of the Information Systems Audit

19.3.1. Risk Assessment and Other IT Auditing Methodologies
19.3.2. Execution of an Information Systems Audit. Phases of the Audit
19.3.3. Fundamental Skills of the Auditor of an IT System

19.4. Technical Audit of Security in Systems and Networks

19.4.1. Technical Security Audits. Intrusion Test. Previous Concepts
19.4.2. Security Audits in Systems. Support Tools
19.4.3. Security Audits in Networks. Support Tools

19.5. Technical Audit of Security on the Internet and in Mobile Devices

19.5.1. Internet Security Audit. Support Tools
19.5.2. Mobile Devices Security Audit. Support Tools
19.5.3. Annex 1. Structure of an Executive Report and Technical Report
19.5.4. Annex 2. Tools Inventory
19.5.5. Annex 3. Methods

19.6. Information Security Management System

19.6.1. Security of IS: Properties and Influential Factors
19.6.2. Business Risks and Risk Management: Implementing Controls
19.6.3. Information Security Management System (ISMS): Concept and Critical Success Factors
19.6.4. ISMS-PDCA Model
19.6.5. ISMS ISO-IEC 27001: Organizational Context
19.6.6. Context of the Organization
19.6.7. Leadership
19.6.8. Plan
19.6.9. Support
19.6.10. Operation
19.6.11. Performance Evaluation
19.6.12. Improvement
19.6.13. Annex to ISO 27001/ISO-IEC 27002: Objectives and Controls
19.6.14. ISMS Audit

19.7. Carrying Out the Audit

19.7.1. Procedures
19.7.2. Techniques

19.8. Traceability

19.8.1. Methods
19.8.2. Analysis

19.9. Copyright

19.9.1. Techniques
19.9.2. Results

19.10. Reports and Presenting Proof

19.10.1. Types of Reports
19.10.2. Analysis of Data
19.10.3. Presenting Proof

Module 20. Online Application Security

20.1. Vulnerabilities and Security Issues in Online Applications

20.1.1. Introduction to Online Application Security
20.1.2. Security Vulnerabilities in the Design of Web Applications
20.1.3. Security Vulnerabilities in the Implementation of Web Applications
20.1.4. Security Vulnerabilities in the Deployment of Web Applications
20.1.5. Official Lists of Security Vulnerabilities

20.2. Policies and Standards for Online Application Security

20.2.1. Pillars for the Security of Online Applications
20.2.2. Security Policy
20.2.3. Information Security Management System
20.2.4. Secure Software Development Life Cycle
20.2.5. Standards for Application Security

20.3. Security in the Design of Web Applications

20.3.1. Introduction to Web Application Security
20.3.2. Security in the Design of Web Applications

20.4. Testing the Online Safety and Security of Web Applications

20.4.1. Web Application Security Testing and Analysis
20.4.2. Web Application Deployment and Production Security

20.5. Web Services Security

20.5.1. Introduction to Web Services Security
20.5.2. Web Services Security Functions and Technologies

20.6. Testing the Online Safety and Security of Web Services

20.6.1. Evaluation of Web Services Security
20.6.2. Online Protection. Firewalls and Gateways XML

20.7. Ethical Hacking, malware and Forensic

20.7.1. Ethical Hacking
20.7.2. Malware Analysis
20.7.3. Forensic Analysis

20.8. Best Practices to Ensure Application Security

20.8.1. Handbook of Best Practices in the Development of Online Applications
20.8.2. Handbook of Good Practices in the Implementation of Online Applications

20.9. Common Errors that Undermine Application Security

20.9.1. Common Errors in Development
20.9.2. Common Errors in Hosting
20.9.3. Common Production Errors

##IMAGE##

By accessing this Advanced master’s degree, you will not only be taking a decisive step to broaden your knowledge of computer engineering specialized in software, but also towards a prosperous and successful professional projection"

Advanced Master's Degree in Software Engineering and Quality

In the last decade, computer engineering has grown exponentially thanks to advances in technology and digital tools. This accelerated evolution has created a booming demand in the industry for specialists who perfectly handle everything related to software engineering, from the right tools for the design and implementation of systems, to the most effective security protocols to ensure inviolable access to your data. For this reason, at TECH Global University we have developed the Advanced Master's Degree in Software Engineering and Quality, a program intended to favor the specialization of IT professionals through the most complete and updated information in the sector. In this way, you will obtain a broad and highly qualified vision for the design and development of programs based on tests, with which you will ensure high-quality standards. Study this postgraduate degree and take a definitive step in your professional career.

Become a specialist in quality criteria for software engineering

If your goal is to become an expert in the area of software quality engineering, this postgraduate degree is for you. With the syllabus, you will delve into the most advanced criteria, tasks and methodologies for the proper development of an operating systems project. You will also analyze concepts such as technical debt, its causes and consequences, and the key factors of the quality of this set of programs: typology and models, specific features, influential elements, misconceptions, associated costs, among others. You will also learn how to measure and quantify software conditions and implement DevOps processes, as well as security systems to ensure their optimal state. This Advanced Master's Degree will give you everything you need to exceed your professional expectations.