Design and develop quality software which meets the requirements of an organization for its best performance.
-Professional who runs the development, operation and maintenances of *software with a systematic, disciplined and quantifiable approach of its development, using modern *software creation techniques (Software Engineering).
He designs and develops information systems applicable to a wide variety of areas such as business, scientific research, medicine, production, logistics, banking, traffic control, meteorology, law, *Internet, *Intranet, etc.
Specific tasks or activities carried out in the profession
He manages Software Projects
He leads specialists in technology and technical equipment for the development of software projects.
The software project management covers all its development process, carrying out:
Determining the resources needed taking into account the *hardware, *software, *networks, etc.
-Planning and Determination of deadlines
-Selection of people to define the team
-Control, which corresponds to the evaluation of the performance of the activities through the planned objectives.
He designs the Software Project
The Software Engineer is governed by models or development patterns on which realization of software is supported, there are several models, among them, there is one called cascade model, which is the methodology which orders rigorously the development stages in such way that the beginning of each stage must wait to the completion of the immediately previous one.
As it is shown in the following:
He Analyzes the Requirements
As a first stage, he technically defines the *requirements of a software product.
The Requirement Specification describes the expected behavior of the software once developed.
It must identify the needs of the institution (defined by the senior management), as well as the interaction with its functional users (such as the personnel of different departments of the organization that will use that software), in order to collect, classify, identify, prioritize and specify the software requirements, so that these are not incomplete, or are ambiguous or contradictory.
After the result of the requirement analysis with the client, it is expressed in the System Requirements Specification document.
He creates the System *Architecture
He creates the Software *Architecture, which is the global design of the software architecture, which must include:
-Which parts make it up?
-What does each component do?
-How components interact with each other
And the general description of how the software application will be built
He manages the *Programming
During each stage, the task known as programming is performed, which is the creation of *computer programs.
This task is carried out by the programmer following completely what was specified in the first stage.
The design and writing of programs is studied first in an algorithmic language (sequence of steps to be followed by the program) to later translate it into a *computer language.
Many *algorithms are mathematical concepts; hence mathematics is intense in Software Engineering.
The use of mathematics in Software Engineering is called –formal methods-.
He supervises the tests
In this stage, quality tests are established and applied.
It consists in checking that the software performs properly the tasks indicated in the specification of this one; be able to see under what conditions the application can fail and try to discover its errors.
First each module of the software is tested separately, and then it is tested in an integral way, in order to reach the objective.
He supervises the Documentation
It consists of the information in relation to how the software has been developed; it is made up of diagrams, tests, user manuals, technical manuals, etc; all with the purpose of being able to carry out possible corrections, to know its mode of use, be able to carry out maintenance in the future and extensions to the system.
The objective is that the described processes are so clear that any user can understand it.
He supervises the Maintenance
Maintenance consists of keeping the System up to date and running.
Whether modifying the software if necessary to meet new requirements, such as extending the system to carry out new tasks, or changes in user needs; or optimization or correction of errors discovered in it.
-Pension Funds Administrators
- Commercial Services Companies
-Public and Private Bodies
-Higher Education Centers
-Documentation and Information Centers
-Software Programming and Commercialization Companies and Technical Support.
-Free exercise of the profession by providing advice.
-Creating his own consulting company which provides computer services to other organizations.
Estimated time of College years
Main courses considered in the Curriculum
Basic Training Courses
Mathematics (6 semesters)
*Physics (2 semesters)
Professional Training Courses
*Software Project Management
*Networks and Data Communication
*Computer and Network Security
*Data Structure and Algorithms
*Programming (3 semesters)
Complementary Training Courses
Accounting and Budget
Economics and Finance for Management
Company Management and Organization
-Educational Software Engineering
*Applied Artificial Intelligence
*Network and *Operating System Management
-Management of E-commerce Systems
-Web Application Management and Development
-Software Engineering in geographic data infrastructures
-Digital Image Processing
Vocations, Skills and Interests required in the candidate to this career
-Natural tendency to organization
-Creativity and initiative in search for solutions to specific problems
-Favorable attitude to acquire new technological knowledge
-Motivation to make innovations to organizational forms.
-Taste and appreciation for technology and the science that support it, based on mathematics fundamentally.
-With a strong taste for planning and information management (documents, forms and in all types of information formats).
Analytical Capacity: Method that focuses the whole and separates it into its basic elements to then see the relationship between these elements.
Great mathematical skill
Inductive Reasoning Ability: way of reasoning that goes from the particular to the general, from the parts to the whole, from the effects to the causes, etc.
Systematization Ability: In this process you have to classify, organize, arrange, select, list, prioritize, categorize, etc.
Logical Reasoning: It is captured through the observation of a reality, a drawing, a diagram, the functioning of something, behavior, etc.
Innovative: He tends to innovation in search of incorporating new things, to use inventiveness either in new devices as well as in procedures or ways of doing things, which allow him to solve problems by creating new systems or adapting the existing reality to new requirements.
-To improve the organization, its functioning and efficiency.
Or any specific dream or longing which feels involved or oriented towards this direction.
-Observation ability, detail oriented, methodical, rigorous, organized and patient.
-Planner, he makes plans and follows them carefully.
-Office environment, with high management level
-Computer System Management
-Technology in *Networks and Data Communications
*Glossary of Terms
*Algorithms: Sequence of steps to be followed by the program.
*Computer Architecture (Course): Study of the conceptual basis of the *architecture of a computer and *network design, types and network services, selection of *system software. -Practical cases of application.
*Computer Architecture: Internal design of the components of a computer and the communication between them.
*Software Architecture: *System Architecture: *Architecture Design: Structure of a Software application (similar to the design of the structure of a building).
*Database: It is a set of programs which manages a stock of data that are organized in such a way that is easy to access, store and update them (these programs act as a librarian who manages a stock of books).
*Database (Course): Components of a *database, their functionality, structure, integrity and data manipulation. -Application of theoretical knowledge in laboratory.
*Coding: Translate the algorithm of a program into a computer language.
*Debugging: Identify and correct errors in programs.
*Software Design (Course): *Architecture Design and detailed design of *software. –Application of software product designs and automation of these activities.
*Input/output Devices: The main function of the computer is to process information, but to receive this information and deliver it processed, it needs input and output devices that fulfill this task.
*Data Structure: Ways to order a set of data that will be used by *computer programs.
*Data Structure and Algorithms (Course): *Search algorithms and data organization, programs that manages different types of *Data Structures. –Evaluation of *algorithms considering their runtime and memory usage.
*Physics (Course): Electricity, Magnetism and Optics. *Hydromechanics and *Thermodynamics.
-Mechanics, Oscillations and Magnetic Waves.
*Software Project Management (Course): Organization, planning, running, control and completion of software projects.
*Hardware: It corresponds to all the physical and tangible parts of a computer such as its electrical, electronic, electromechanical and mechanical parts, etc.
*Hydromechanics: It studies the mechanical behavior of fluids, whether they are in liquid or gaseous state.
*IT: Science that studies Information Management.
*Artificial Intelligence: Simulation of the processes of human intelligence by means of computer systems.
* Internet: Global system of interconnected computer networks.
*Intranet: It is a private network within a company or organization that uses the same type of software used on the Internet.
*Operations Research: Methods, models and techniques most used in the scientific resolution of business problems and the study of decision-making systems, or information systems used as decision aids.
*Operations Research (Course): Techniques used in the *Operations Research area. -Model a real situation mathematically. Analyze the results obtained and make decisions based on them.
*Computer Language: Language with which the computer works.
*Multimedia: Material which combines texts, graphics, still and moving images and sound.
*Development Platforms (Course): Programming for Internet/Intranet, communication *protocols and programming *languages.
-Technology and software development trends using different *Operating systems as base or support.
*Programming: Study of the design and development of programs first in an algorithmic language (sequence of steps to be followed by the program) to later translate it into a *computer language.
*Programming (Course): Principles of *Structured and Modular Programming. –Programming Methodology: Problem Analysis, Algorithm Design, Design of test data set, *Coding and *Debugging.
*Object-oriented Programming concepts.
-Design and programming of programs using the previous concepts.
*Computer Programs: Set of instructions for a computer to perform a particular task.
*Structured and Modular Programming: It is a way to write computer programs in a clear way, where the structure of the program is arranged in modules in a hierarchical way.
*Object-oriented Programming: Programming mode that manages a group of *objects that interact with each other.
*Object: It is a programming unit that has been previously structured, with individual properties and behaviors, but it has left open the possibility of defining its specific function with which it will be used.
*Object-oriented Programming (Course): Approach of Software Engineering in the modeling of a system with object-oriented programming.
*Communication Protocols: It is a set of rules used by computers to communicate with each other through a *network. These rules define the behavior of the *hardware connection between computers.
*Software Product Visual Prototypes: Visual communication interface between the computer and the user, which fulfills being functional and aesthetic.
*Software Test (Course): Techniques and strategies for the validation and verification of software products. –Development of different types of tests.
*Networks: *Computer Networks: *Communication Networks: Data communication system that connects several computers together as well as other devices such as printers, storage systems, etc.
*Data Communications and Networks (Course): Subject that presents the concept of *communications network, describing and studying their different types and technologies, *network interconnection devices. –Considerations for the optimal design of computer *networks.
*Requirements: Determination of the needs or conditions to be met.
*Requirements (Course): Identification, capture, documentation and validation of software requirements, and the interaction human-computer for the development of *software product visual prototypes.
*Computer and Network Security: Study of the identification and correction of vulnerabilities of the information processing system that could put it at risk carrying out its protection, control and necessary security measures.
*Expert Systems: It is the set of programs that have information from one or more experts in a specific area. Their task is to solve problems that require a great knowledge on a specific topic.
*Intelligent Systems (Course): Knowledge of *Artificial Intelligence, *Expert Systems and their application in solving problems in the industry.
*Operating Systems: Programs devoted to the internal functioning of the computer and interpretation of the commands given by the user.
*Operating Systems (Course): Characteristics of *Operating Systems in Process Management, Memory, files and *input/output devices, focused on the optimization of these resources. –Laboratory Practice.
*Software: It is the set of computer programs and data that are part of the operations of a computer system.
*Base Software: *System Software: Programs focused on organizing the internal functioning of the computer.
*Thermodynamics: Relative to the existing relations between dynamic phenomena (motion) and calorific phenomena (heat).GO BACK