270015 - IES - Introduction to Software Engineering



Similar documents
GPS - Software Project Management

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note

PI - Internet Protocols

Information systems modelling UML and service description languages

SICSB - Information Systems and Communications for Health Services

I219 Software Design Methodology

WSE - Writing Skills for Engineering

Course Computer Science Academic year 2012/2013 Subject Software Engineering II ECTS 6

TXC - Computer Network Technology

MD - Data Mining

Organization. Introduction to Software Engineering

City University of Hong Kong Course Syllabus. offered by Department of Computer Science with effect from Semester A 2015/16

Environmental Science and Technology

Experiences with ALM tools in Software Engineering course

DFINA1 - Financial Management I: Investment

3C05: Unified Software Development Process

The WebShop E-Commerce Framework

DEGREE CURRICULUM SOFTWARE ARCHITECTURES Degree in Computer Engineering. Teaching staff: GIL IRANZO, ROSA MARIA GARCIA GONZALEZ, ROBERTO

METNUMER - Numerical Methods

Databases. DSIC. Academic Year

Software Requirements Specification of A University Class Scheduler

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

[2006] IEEE. Reprinted, with permission, from [M. Ye and K. Sandrasegaran, Teaching about Firewall Concepts using the inetwork Simulator, Information

Lecture Overview. Object-Oriented Software Engineering: Using UML, Patterns, Java, and Software Development Processes. Prof. Dr.

Software Engineering (CS550)

City University of Hong Kong Course Syllabus. offered by Department of Computer Science with effect from Semester A 2015/16

ATV - Lifetime Data Analysis

Introduction to Software Engineering (ESE : Einführung in SE)

CIS490 Design in Software Engineering. Course Syllabus for the Virtual Class

Academic Course Description. SE2003 Software Project Management Second Semester, (Even semester)

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

COMPF1 - Financial Accounting I

Project Management

NETWORK SYSTEMS 3 Learner Guide

Classical Software Life Cycle Models

Quality Ensuring Development of Software Processes

240EI032 - Human Resources Management

240EO016 - Process Automation

COMPC2 - Cost Accounting II

Designing Real-Time and Embedded Systems with the COMET/UML method

SYLLABUS. Software Engineering

SYLLABUS. 1 seminar/laboratory 3.4 Total hours in the curriculum 42 Of which: 3.5 course

Machine Design and Manufacturing Technologies

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

240IOI21 - Operations Management

Name of pattern types 1 Process control patterns 2 Logic architectural patterns 3 Organizational patterns 4 Analytic patterns 5 Design patterns 6

Excerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk

The Unified Software Development Process

The use of Trade-offs in the development of Web Applications

Advanced Software Engineering COSC Department of Computing Sciences Fall 2015

BACHELOR S DEGREE IN BUSINESS ADMINISTRATION

COURSE PROFILE. Business Intelligence MIS531 Fall

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

An Iterative and Agile Process Model for Teaching Software Engineering

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

Software Engineering

SAPM Overview. Semester Summary. Project management. Tools (1) Dr. James A. Bednar

240EI532 - Human Resources

Masters of Science in Software & Information Systems

Degree Type Year Semester Business Administration and Management OB Economics OT 4 0

Evaluating OO-CASE tools: OO research meets practice

DEGREE CURRICULUM COMPUTER GRAPHICS AND MULTIMEDIA Master's Degree in Informatics Enginneering

SEAX-C9X44 - Network Security and Administration

240ST Operations Management in the Supply Chain

Research Topics in Software Engineering

COURSE PROFILE. IT323 Fall

Passaic County Technical Institute. Curriculum of Instruction. Computer Science IV. Grade 12

What CMMI Cannot Give You: Good Software

Foundations of Model-Driven Software Engineering

NS - Network Security

IT3205: Fundamentals of Software Engineering (Compulsory)

AND - Non-Destructive Testing

Supply Chain Network & Flow Management

UVic Department of Electrical and Computer Engineering

PROCESS-DRIVEN SOFTWARE DEVELOPMENT METHODOLOGY FOR ENTERPRISE INFORMATION SYSTEM

Programme Specification. Graduate Diploma in Professional and Clinical Veterinary Nursing

2667A - Introduction to Programming

Chap 1. Introduction to Software Architecture

DIRRH - Human Resource Management

Software Design Models, Tools & Processes *

Transcription:

Coordinating unit: 270 - FIB - Barcelona School of Informatics Teaching unit: 747 - ESSI - Department of Service and Information System Engineering Academic year: Degree: 2015 BACHELOR'S DEGREE IN INFORMATICS ENGINEERING (Syllabus 2010). (Teaching unit Compulsory) ECTS credits: 6 Teaching languages: Catalan Teaching staff Coordinator: Others: - Ernest Teniente Lopez (teniente@essi.upc.edu) - Dolors Costal Costa (dolors@essi.upc.edu) - Elvira Pino Blanco (pino@cs.upc.edu) - Maria Ribera Sancho Samso (ribera@essi.upc.edu) - Nuria Castell Ariño (castell@cs.upc.edu) - Sergio Morales Garcia (smorales@essi.upc.edu) - Xavier Oriol Hilari (xoriol@essi.upc.edu) Prior skills Students are expected to be sufficiently knowledgeable about data structures, algorithms and programming to study software engineering. Requirements - Pre-Corequisite EDA - Prerequisite BD Degree competences to which the subject contributes Specific: CT2.1. To demonstrate knowledge and capacity to apply the principles, methodologies and life cycles of software engineering. CT2.3. To design, develop, select and evaluate computer applications, systems and services and, at the same time, ensure its reliability, security and quality in function of ethical principles and the current legislation and normative. CT2.4. To demonstrate knowledge and capacity to apply the needed tools for storage, processing and access to the information system, even if they are web-based systems. CT3.3. To be able to find and interpret basic information for evaluating the economic environment of the organization. CT5.5. To use the tools of a software development environment to create and develop applications. CT6.1. To demonstrate knowledge and capacity to manage and maintain computer systems, services and applications. CT7.1. To demonstrate knowledge about metrics of quality and be able to use them. CT8.1. To identify current and emerging technologies and evaluate if they are applicable, to satisfy the users needs. CT8.2. To assume the roles and functions of the project manager and apply, in the organizations field, the techniques for managing the timing, cost, financial aspects, human resources and risk. CT8.3. To demonstrate knowledge and be able to apply appropriate techniques for modelling and analysing different kinds of decisions. 1 / 9

CT8.4. To elaborate the list of technical conditions for a computers installation fulfilling all the current standards and normative. CT8.5. To manage and solve problems and conflicts using the capacity to generate alternatives or future scenarios analysed properly, integrating the uncertainty aspects and the multiple objectives to consider. CT8.6. To demonstrate the comprehension of the importance of the negotiation, effective working habits, leadership and communication skills in all the software development environments. CT8.7. To control project versions and configurations. Generical: G4. EFFECTIVE ORAL AND WRITTEN communication: To communicate with other people knowledge, procedures, results and ideas orally and in a written way. To participate in discussions about topics related to the activity of a technical informatics engineer. Teaching methodology The subject is structured around theory and problem-solving classes. In the theory classes the lecturer will explain the main subject content. Lecturers typically use slides that students should obtain before class. In problem-solving classes, course content (whether presented in class or studied independently) will be studied by completing problems. This will sometimes require problems to be resolved (or at least attempted) before class, so that the best solutions can be collectively analysed and discussed in class. On other occasions, the problem will be both set and resolved in class. Learning objectives of the subject 1.Students should be able to provide an overview of the software engineering process 2.Students should be able to understand the requirements of a software system and relate these to the different parts of the specifications 3.Students should be able to write specifications for a UML software system 4.Students should be able to understand the desirable properties of specifications for a software system. 5.Students should be able to analyse the completeness and consistency of the specifications. 6.Students should be able to understand the general principles of software architecture and object-oriented design in UML 7.Students should be able to understand the logic structure in layers of an information system: presentation, domain and data management layers 8.Students should be able to transform a UML model into a design specification 9.Students should be able to understand the concept of design template and use some of the better known templates. 10.Students should be able to understand the basic concepts of software testing 2 / 9

Study load Total learning time: 150h Theory classes: 30h 20.00% Practical classes: 30h 20.00% Laboratory classes: 0h 0.00% Guided activities: 6h 4.00% Self study: 84h 56.00% 3 / 9

Content Introduction to software engineering Software requirements and software specifications UML use case models UML software system specification Class diagrams, behaviour diagrams and state diagrams. Introduction to software design Introduction to object-oriented design with UML Test design in an object-oriented context 4 / 9

Planning of activities Introduction to software engineering Hours: 4h Self study: 2h 1 Software requirements and software specifications Hours: 4h Self study: 2h 1, 2 UML use case models Hours: 6h Self study: 4h 2, 3 UML data structural diagram Hours: 34h Theory classes: 4h Practical classes: 10h Self study: 20h 2, 3, 4, 5 5 / 9

UML behaviour diagram Hours: 28h Theory classes: 4h Practical classes: 8h Self study: 16h 2, 3, 4, 5 State diagrams in UML Hours: 4h Self study: 2h 3, 4, 5 Introduction to software design Hours: 4h Self study: 2h 6, 7 Introduction to software design in UML Hours: 48h Theory classes: 8h Practical classes: 12h Self study: 28h 6, 8, 9 6 / 9

Design testing in the object-oriented context Hours: 12h Theory classes: 4h Self study: 8h 10 UML structural model exercise Parts of learning objectives 3 to 5 will be assessed 3, 4, 5 UML structural model test Parts of learning objectives 1 to 5 will be assessed 1, 2, 3, 4, 5 UML behavioural model test Parts of learning objectives 1 to 5 will be assessed 2, 3, 4, 5 Software design exercise 7 / 9

Part of learning objectives 8 and 9 will be assessed 8, 9 Software design test Part of learning objectives 6 to 10 will be assessed 6, 7, 8, 9, 10 Qualification system The final mark will be based on five assessment activities (C1, C2, FHC1 to FHC3) issued throughout the course and on participation in course activities. The final mark is calculated as: Final mark = 10% C1 + 25% FHC1 + 15% FHC2 + 15% C2 + 25% FHC3 + 10% participation. There will be no final exam. In addition to a subject mark, a generic competency mark will be awarded with the score A (excellent), B (good), C (satisfactory), D (fail) or NA (Not evaluated). 8 / 9

Bibliography Basic: Larman, C. Applying UML and patterns: an introduction to object-oriented analysis and design and iterative development. 3rd ed. Prentice Hall, 2005. ISBN 0131489062. Pressman, R.S.; Maxim, B.R. Software engineering: a practitioner's approach. 8th ed. McGraw Hill Higher Education, 2015. ISBN 9780078022128. Rumbaugh, J.; Jacobson, I.; Booch, G. The unified modeling language reference manual. 2nd ed. Addison-Wesley, 2005. ISBN 0321245628. Complementary: Olivé, A. Conceptual modeling of information systems. Springer, 2007. ISBN 9783540393894. Gamma, E.; Helm, R.; Johnson, R.; Vlissides, J. Design patterns: elements of reusable object-oriented software. Addison- Wesley, 1995. ISBN 0201633612. Binder, R.V. Testing object-oriented systems: models, patterns, and tools. Addison-Wesley, 2000. ISBN 9780321700674. Others resources: Hyperlink http://www.omg.org/ http://www.uml.org/ http://hillside.net/patterns/ 9 / 9