Checking date: 20/01/2025


Course: 2024/2025

Communications Software
(13416)
Bachelor in Telematics Engineering (Plan: 447 - Estudio: 215)


Coordinating teacher: IBAÑEZ ESPIGA, MARIA BLANCA

Department assigned to the subject: Telematic Engineering Department

Type: Compulsory
ECTS Credits: 6.0 ECTS

Course:
Semester:




Requirements (Subjects that are assumed to be known)
Programming; Systems Programming
Objectives
By the end of the course, the student will be able to understand principles, concepts, methods, and techniques of the software engineering approach. The student will apply his/her knowledge and skills to organize and develop a medium-sized software project that satisfy requirements, is reliable, easy to understand, modify and maintain. To achieve these objectives, the student must acquire a body of knowledge, skills and attitudes. As regards of knowledge, at the end of the course the student will know: What is software engineering. The set of software processes and software processes models. Different ways of expressing software requirements. System models that may be developed during the requirements engineering process. Models of software architectures. Main software design patterns. Techniques used to test software. In terms of capabilities, it can be classified into two groups: specific and generic skills. As for specific skills after the course, students will be able to: Planning a complete software project. Analyze and formalize the software requirements of a project. Develop and analyze models of software. Design the software architecture of a project. Using the data structures and programming techniques suitable for programming tasks that the software requires. Encourage the maintenance of the system at all stages of development through proper documentation. Verify and validate the software developed. Ensure software quality. In terms of general skills, in the course we will work: The ability to use software engineering techniques to create effective software products. The ability to cope with restrictions arising from human resources, time and costs. The ability to work in a software development team. The ability to public present and defend the developed solutions. In terms of attitudes, the student after completing the course should have: A critical attitude regarding the suitability of different techniques and tools that can be applied to development of a software system. Ethical values to his work as a software developer. A proactive attitude towards work. An attitude of cooperation and teamwork.
Learning Outcomes
CB1: Students have demonstrated possession and understanding of knowledge in an area of study that builds on the foundation of general secondary education, and is usually at a level that, while relying on advanced textbooks, also includes some aspects that involve knowledge from the cutting edge of their field of study CB2: Students are able to apply their knowledge to their work or vocation in a professional manner and possess the competences usually demonstrated through the development and defence of arguments and problem solving within their field of study. ECRT1: Ability to learn and acquire autonomously the requisite new knowledge for the design, development and utilization of telecommunication systems and services. ECRT13: Ability to differentiate the concepts of network access and transport, circuit switching and packet switching networks, fixed and mobile networks as well as systems and applications of distributed networks, voice services, audio, data, video and interactive services and multimedia. ETEGT6: Ability to design network architectures and telematics services. ETEGT7: Ability to program telematics services and applications in network and distributed systems RA1: Knowledge and Understanding.  Knowledge and understanding of the general fundamentals of engineering, scientific and mathematical principles, as well as those of their branch or specialty, including some knowledge at the forefront of their field. RA3: Design. Graduates will have the ability to make engineering designs according to their level of knowledge and understanding, working as a team. Design encompasses devices, processes, methods and objects, and specifications that are broader than strictly technical, including social awareness, health and safety, environmental and commercial considerations. RA4: Research. Graduates will be able to use appropriate methods to carry out detailed research and studies of technical aspects, commensurate with their level of knowledge. The research involves bibliographic searches, design and execution of experiments, interpretation of data, selection of the best proposal and computer simulation. May require consultation of databases, standards and security procedures. RA5: Applications. Graduates will have the ability to apply their knowledge and understanding to solve problems, conduct research, and design engineering devices or processes. These skills include knowledge, use and limitations of materials, computer models, process engineering, equipment, practical work, technical literature and information sources. They must be aware of all the implications of engineering practice: ethical, environmental, commercial and industrial. RA6: Generic competences. Graduates will have the generic skills necessary for engineering practice, and which are widely applicable. First, to work effectively, both individually and as a team, as well as to communicate effectively. In addition, demonstrate awareness of the responsibility of engineering practice, social and environmental impact, and commitment to professional ethics, responsibility and standards of engineering practice. They must also have knowledge of business and project management practices, as well as risk management and control, and understand their limitations. Finally, have the capacity for continuous learning.
Description of contents: programme
1. Introduction 1.1 Introduction to Software Engineering 1.2 Software processes 2. Requirements analysis 2.1 Software requirements 2.2 System models 3. Software architecture design. 3.1 Models of software architectures. 3.2 Software patterns 4. Software testing. Techniques 4.1 Introduction to software testing 4.2 Types of software testing
Learning activities and methodology
The course comprises the following teaching methodology: lectures, practical sessions and laboratories supervised by teachers. Activities to be carried out: . Lectures, where professors present the main topics listed in the syllabi. At these sessions, the teacher will encourage interaction and discussion of key issues raised. . Practical sessions, where professors will propose real problems to be analyzed and solved by students. . Programming laboratories, where students implement their project under teaching staff supervision. These sessions are extra work carried out by students for a period of several days. Students are assisted by the teaching staff through multiple channels to resolve their doubts.
Assessment System
  • % end-of-term-examination 40
  • % of continuous assessment (assigments, laboratory, practicals...) 60

Calendar of Continuous assessment


Extraordinary call: regulations
Basic Bibliography
  • E. Gamma, R. Helm, R. Johnson, J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.
  • Ian Sommerville. Software Engineering. Addison-Wesley.
  • J. Rumbaugh, I. Jacobson, G. Booch. The Unified Modeling Language Reference Manual. Addisson-Wesley.
Additional Bibliography
  • ACM. Ingeniería de Software. Código Ética y Práctica Profesional 5.2. .. .
  • Bruegge, B; Dutoit, A. Object Oriented Software Engineering Using UML, Patterns and Java. Pearson Education Internationsl. 2004
  • C. Ebert, et al.. Best Practices in Software Measurement. How to Use Metrics to Improve Project and Process Performance. Springer.
  • Dashofy, E; Madyidovic, N; Taylor R,. Software Architecture: Foundations, Theory and Practice. John Wiley & Sons. 2009
  • Fowler, M; Beck, K.; Opdyke, W; Roberts; D.. Refactoring Improving the Design of Existing Code. Addison-Wesley Professional. 1999
  • Fox, A; Patterson D.. Engineering Software as a Service: An Agile Approach Using Cloud Computing. Strawberry Canyon. 2014
  • Jorgesen, P. Software Testing. A Craftsman´s Approach. CRC Press. 2013
  • Martin, R.. Clean COde. Prentice Hall. 2008
  • W. Perry. Effective Methods for Software Testing. Wiley.
Detailed subject contents or complementary information about assessment system of B.T.

The course syllabus may change due academic events or other reasons.