Software Development Laboratory
Keywords |
Classification |
Keyword |
OFICIAL |
Software Engineering |
OFICIAL |
Multidisciplinary Themes |
Instance: 2012/2013 - 1S
Cycles of Study/Courses
Acronym |
No. of Students |
Study Plan |
Curricular Years |
Credits UCN |
Credits ECTS |
Contact hours |
Total Time |
MIEIC |
119 |
Syllabus since 2009/2010 |
4 |
- |
7 |
70 |
189 |
Teaching language
Suitable for English-speaking students
Objectives
The course unit has the key goal to develop the following skills in the students:
- applying a Software Engineering process to the complete development of a real software system. along the course unit, covering the specification of requirements, software architecture and design, coding, integration, test, documentation and demonstration;
- acquire fundamental knowledge and experience about agile software development practices: iteration planning, unit tests, refactoring, pattern-based design, collective ownership, pair programming, continuous integration;
- use software development tools adapted to agile methods to enable the continuous monitoring and tracking of the project along its lifecycle;
- use of large-scale APIs with class packages, to induct the component-based computing and the problems related with application integration;
- development of collaborative work integrating other project participants in design decisions, planning, delegation, negotiation, and group review;
- application and integration of the contents acquired by the students in courses within the areas of Software Engineering, Data Bases, Graphic Interfaces, Operative Systems, Programming Languages and Artificial Intelligence.
Program
- Application of software development processes, including project planning methodologies.
- Requirements capture and elicitation, design, implementation, testing, documentation and presentation of a software system.
- Introduction to Agile Methods: values, principles, practices (Planning, Small Releases, Acceptance tests, Unit-tests, Test-first programming, Simple Design, Refactoring, Design Patterns) and popular examples of agile methods (Scrum and XP).
- Design and development of multilayer application based in software components and web services.
- Unit, integration and validation tests.
- Use of tools and programming environments (IDEs), modeling tools, test, source code control and configuration, collaborative documentation.
- Use of large-scale APIs.
Teaching methods and learning activities
Theoretical classes are used to the presentation and supervision of the projects and for the exposition of software developing tools and of used tools.
Laboratory classes are used to the implementation of the application.
The development of the project will be divided into the following phases:
I - Phase for specification of requirements, 3 weeks, resulting in the following deliverables:
-- “requirements specification”
-- "user interface prototype"
II - Phase for high level design and architecture, 3 weeks, resulting in the following deliverables:
-- “Architecture report”
-- “Functional Prototype” carrying out a part of the application to validate/confirm the architecture;
-- Public demonstration of the functional prototype, implementing a part of the application to validate the architecture and product concept.
III - Phase of detailed project, implementation and testing of the application, 6 weeks, resulting in the following deliverables:
-- “Product and source code”
-- "Installation Package"
-- "Development Package"
-- "Web site, video, slides and promotional flyer"
-- "Technical documentation"
-- update versions of previous reports.
-- Public demonstration of the product, to evaluate the idea, concept, and solution from the perspective of value for the client.
Evaluation Type
Distributed evaluation without final exam
Assessment Components
Description |
Type |
Time (hours) |
Weight (%) |
End date |
Attendance (estimated) |
Participação presencial |
65,00 |
|
|
Project: requirements engineering |
Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese |
35,00 |
|
|
Project: design and development |
Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese |
89,00 |
|
|
|
Total: |
- |
0,00 |
|
Eligibility for exams
The student must have the minimum grade of 40% in any of the items.
Calculation formula of final grade
Phase 1 - 15%
Phase 2 - 15%
Phase 3 - 40%
Development process maturity - 10%
Website - 10%
Individual evaluation - 10%
Examinations or Special Assignments
Special assignments must follow similar evaluation rules. Students must contact the lecturers to define the special assignment, based on the availability, dates, and topics of the course unit.
Special assessment (TE, DA, ...)
Special evaluation students (including working students and soldiers) have the same evaluation methods as the other students.
Classification improvement
To improve the classification the student must make another assignment with all the items mentioned before, and an extra oral exam; Improvements of the classification requested in the following academic year will require doing all the assignments forecasted for the students of that academic year.
Observations
Language of instruction: Portuguese or English, depending on the attendants.