Introduction
Year: 3th
Semester: 1st
Credits: 8 ECTS
Hours/Week: 2h lectures e 3,5h laboratories
Classes: 1 lecture, 4 laboratory
Teacher:
João Correia Lopes
Objectives, Skills and Learning Outcomes
This course aims at achieving:
- To promote the acquisition of concepts, methodologies and skills of Software Engineering to be used in the design and development of software products.
- To give the practical skills in applying the tools to support the methodology to be used during the development of the product in its entire life-cycle, including testing and documentation.
By the end of this course the student will be able to:
- List a set of functional requirements for the system
- Write the Requirements Manual
- Implement a prototype of the User Interface
- Write the High-level Design for the system
- Implement a vertical prototype for the system
- Write the Detailed Design for the system
- Write the User Manual
- Write the Deployment Manual
- Use UML to build the User Requirements Model
- Use UML to build the Domain Object Model
- Use UML to build the Architecture Model
- Use UML to build the Behavior Model
- Code the system using Java
- Use versioning
- Document the code using Javadoc
- Test the code using Junit
- Use a wiki to build the documentation in a collaborative way
- Use an IDE to manage the software
- Use a Version Control System
Program
- Introduction to Software Engineering.
- Requirements engineering. Elicitation, analysis, specification, validation and management of requirements.
- Modelling languages. User Requirements Document.
- Object-oriented software design. Structure, behavior and architecture design.
- User interfaces design.
- Coding with Java.
- Verification, validation and testing of software.
- Software maintenance. Configurations and versioning.
- Project management.
Main Bibliography
- Alberto Rodrigues da Silva, Carlos Videira, UML — Metodologias e Ferramentas CASE, 2ª Edição, Volume 1, Maio 2005, Centro Atlântico Editora, ISBN: 989-615-009-5. [biblioteca]
Complementary Bibliography
- Ian Sommerville, Software Engineering, Addison-Wesley, 8th Edition, 2006, 840pp, ISBN: 03213-1379-8. [biblioteca]
- Bruce Eckel, Thinking In Java, Prentice Hall, 2006, 4th Edition, 1482pp, ISBN: 01318-7248-6. [biblioteca]
- Russ LinkMiles, Kim LinkHamilton, Learning UML 2.0, O'Reilly, 2006, ISBN=978-0-596-00982-3. [biblioteca]
Teaching Procedures
The subject has lectures and laboratory classes.
Lectures will be used to present the theoretical content, together with practical examples using the methodologies and tools to be used in laboratory. The students will work in groups of five people in a software project.
Software
Keywords
- Physical sciences > Computer science > Programming
- Physical sciences > Computer science > Programming > Software engineering
Evaluation Type
Distributed evaluation without Final Exam.
Evaluation Components
- TP1: User Interface Prototype
- TP2: User Requirements Document
- TP3: Preliminary Design Document
- TP4: Vertical Prototype
- TP5: Detailed Design Document
- TP6: Product
- TP7: Demonstration
- TP8: Continuous assessment of the students' performance
Admission to Exams
Practical work (TP) will be accessed through the documentation delivered, the product developed and the student's own performance in the laboratory classes.
Theoretical content will be accessed through Continuous Assessment Test (CAT) sheets (FT1 to FT4) to be filled by each student in some of the laboratory classes.
Minimum required to pass this course: 50% in each of the practical components (TP1 to TP8) and 40% overall mark in the CAT sheets.
Final Classification
Classification = 80% TP + 20% FT,
where: TP = TP1 + 3* TP2 + 2* TP3 + 2* TP4 + 3* TP5 + 7* TP6 + TP7 + TP8
and: FT = FT1 + FT2 + FT3 + FT4
The classification of any component of assessment can vary from element to element in the same group by plus or minus 2 values, based on the opinion of teachers and the self-evaluation to be conducted internally within each group.
Special Assignments
The practical work is required for all enrolled students and must be submitted before the deadlines advertised. After product demonstration, an oral session may be required for some of the students.
Special Evaluation (TE, DA, ...)
Students under special regimes are expected to submit the practical work required for this subject as ordinary students.
Improvement of Final/Distributed Classification
Students may improve the mark obtained in the subject's next edition.