Software Development Methods (2017/2018) - Departamento de Informática
Description

The discipline of MDS has as its main features:

1. Understand the difference between an Engineering Approach versus Non-systematic approaches. Get introduced to techniques for planning and management of complex software engineering projects.

2. Understand the difference between software development cycles, understand the major difference and best practices. Develop a critic attitude while their adoption.

3.Understand the social responsibility and Ethics attitude of Software Engineers.

4. Understand, appreciate and be able to use the method of analysis and design with objects UML (Unified Modeling Language), with emphasis on modeling static (structural) and dynamic (behavioural) and architectural.

5. Mastering the techniques of modeling offered by the UML (use cases, classes, objects, packages, interactions, states, activities, components and installation) and understand their interdependencies.

6. Understand the syntax and semantics of the OCL (Object Constraint Language) in order to be able to express restrictions of various kinds, including those related to the "Design by Contract", to ensure greater accuracy the model.

7. Meet structured modeling techniques that allow the passage of the object-oriented models to relational databases. These techniques will be used in the design phase of software.

8. Using those techniques of concrete examples of modeling the business world, in different contexts such as information systems management, systems, web systems and real-time.

9. Acquiring proficiency in the use of at least one tool that supports modeling with UML, exploiting their capabilities in an integrated project of all knowledge acquired in the course.

10. Make contact with some advanced issues related to development based on models.

Objectives

Knowledge:

a) Software lifecycle, tools, methods and techniques for project management, specification and design of large-scale projects involving large, multidisciplinary teams

b) The relevance of project development activities, approaches and models to tackle complex problems in a pragmatic and rigorous way

c) Modeling techniques for structured, agile and object-oriented development

d) The social, Professional and Ethical responsibility of a Software Engineer

Application:

e)Deal with and model complex problems (Problem and Solution)

f) Interpret, understand and discuss badly defined requirements (omissions, ambiguities, contradictions, duplications)

g) Use techniques for structured, agile and object-oriented software development

h) Use adequate tools to support software specification and design

Syllabus

Part 1:
1. Software Development Processes

2. Overview of elicitation and modeling paradigms

3. Functional and Non-Functional Requirements

4. UML

a) Requirements: Use Case Diagrams

b) Behavior: Activity, Sequence and state diagrams

c) Structure: Class, Object and Package diagrams

d) OCL (Object-constraint language)

Part 2:

1. Architectural and design principles

2. Tools and Environments

3. UML

a) Architecture: Component and Installation Models

b) Persistency: Deriving Entity-Relationship models

Part 3:

1. Introduction to Project Management

2. Code of Professional Ethics

Bibliography

Software Engineering: A Practitioner''''''''''''''''s Approach, Roger Pressman, McGraw-Hill, 2009

The Unified Modeling Language User Guide, G. Booch, J. Rumbaugh & I. Jacobson, Addison-Wesley Professional; 2nd edition, May 29, 2005

UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design (2nd Edition), Addison-Wesley Professional; 2 edition, July 7, 2005

The Object Constraint Language: Getting Your Models Ready for MDA (2nd Ed.), Anneke Kleppe, Jos Warmer, Addison-Wesley, ISBN 0321179366, 2003

UML 2 Toolkit (e-book), Hans-Erik Eriksson, John Wiley & Sons, 2003, ISBN: 0471463612.

Extreme Programming Explained: Embrace Change, 2nd Edition, Kent Beck and Cynthia Andres, Addison-Wesley, 2004

Agile Software Development with Scrum, Ken Schwaber, Mike Beedle, Prentice-Hall, 2001

Modern Structured Analysis, Edward Yourdon, Prentice Hall, 1988

Student work
  Hours per credit 28
  Hours per week Weeks Hours
Total hours 0
ECTS 6.0