The global purpose of the program is to provide directors of software projects, developers and software construction and maintenance staff with a specialized complementary training in modern software engineering. These professionals shall be the enablers of change in the improvement process of software construction activities within their organizations. This improvement could be based on various outlooks: project management, process development, and software architecture aimed at supporting solutions to organizational issues.
The pedagogic approach was crafted to provide a balance between the theoretical and practical aspects. Likewise, thanks to the various workshops and projects, in which the student must participate, comprenhensive integration among the areas of software processes, project management, software architecture, methodologies and technologies is obtained.
- Attend theoretical classes and seminars.
- Attend workshops on the use of technologies.
- Carry out tasks and projects related to the theoretical material.
- Participate in group projects that integrate issued addressed in various courses.
Professional in ingeenering or related careers and whose current professional background is connected to software construction. The candidate should have a 2-year minimum verifiable experience in software development. Candidates supported by sponsor organizations will be prioritized so that they are able to put in place different specialization projects.
Participants whose basic knowledge on java objects programming is insufficient to start the program may be accepted after taking an exam and approving a placement course in the subject. The placement course demands a minimum set of knowledge about the basic principles of programming languages and data structures.
Reading technical text in English is required.
Education and courses
The specialization lasts one academic year and it is divided into three academic terms. The regular course schedule is from 6 to 9 pm, twice or three times a week and from 7 to 10 am, once a week. Workshop sessions and practices will be organized some saturday mornings. In average, the student should attend classes and/or workshops 12 hours a week. All classes will be given inside the Universidad de los Andes premises.
Research or Concentration areas
- Software Engineering
- Software design and development
- Software development processes
- Design standardization and patterns
- Project planning and administration
- Legal Aspects of Software
|CSOF-5203||Arquitectura Empresarial y de Integración||
|CSOF-5101||Modelaje y Estandarización de Procesos de Software||
|CSOF-5103||Gerencia de Proyectos (PMI)||
|Total Credit Hours:||7
|CSOF-5301||Análisis y Diseño de Software||
|CSOF-5104||Mejoramiento de Procesos de Software (CMMI)||
|Total Credit Hours:||7
By the end of the program, students should be able to:
Lead and manage a software development project:
- Set out a development strategy based on iterative cycles.
- Plan development based on real effort and size estimations.
- Carry out a project risk identification that may be considered for planning and controlling its development.
- Use a follow-up plan to control project development.
- Define adequate schemes of software contracting.
- Explain and include legal aspects related to the software in contracting processes.
Define and implement process improvement programs:
- Explain the importance of software processes as a fundamental requirement to get good-quality software.
- Define and lead continuous improvement programs for software architecture process in compliance with international standards and models.
- Define and properly apply software processes for: estimation, planning and p monitoring of projects, software tests, quality assurance (inspection techniques), management of requirements and configurations.
Define and implement software architectures:
- Explain the importance of defining the software architecture within broad corporate architecture contexts aimed at finding solutions to corporate business problems.
- Define the quality attributes of software architecture and the non-functional requirements needed to create a solution.
- Design solutions and methods to evaluate architectures to meet the quality attributes and non-functional requirements that affect software architectures.
- Propose corporate integration solutions.
Use software development methodologies:
- Explain the importance of the processes dealing with administration of requirements and engineering needs in software development and maintenance projects.
- List and describe the basic activities linked to the administration of requirements and its relation with other activities of software development projects.
- Implement the methodology of use cases to make a compilation of requirements and produce a document with their definition.
- Use risk analysis to set priorities with regard to the requirements
- Review requirements to verify their level of completion, clarity and understanding.
- Produce design artefacts.
- Use software architecture concepts to decrease the complexity of problems and facilitate software design.
- Learn the discipline needed to develop software with easily reusable components.
Use tools and technology:
- Use software-supporting tools such as: release administrator, test administrator, error reporting, risk administrators, planning and monitoring software, and administrators of requirements.
- Use development environments based on state-of-the-art technologies for software development. Development of Web components, development of business-logic components, development of information systems components.
Alumni of the Specialization in Software Construction shall be able to deepen his/her studies to:
- Get a PMI (Project Management Institute) certificate. Our specialization program includes a course of project planning and management focused on the PMI model that serves as a previous training before the certification training programs.
- Get a certificate as J2EE architect. Our specialization program includes various courses of software architecture and components development. Practices in these courses are carried out under the J2EE platform.
- Lead an organizational CMMI (Capability Maturity Model Integration) certification. Some of the specialization courses cover the CMMI and IDEAL (Initiating, Diagnosing, Establishing, Acting & Learning) models to define and implement improvement plans for software processes aimed at earning the CMMI certificate for your company. In addition, the program organizes several talks with CMMI-certified professionals involved in improvement programs.