Metodologias de Desenvolvimento de Software

Base Knowledge

Programming experience.

Teaching Methodologies

The topics and the study materials are presented and discussed, with emphasis on the analysis and discussion of case studies. Classes also include some targeted analyzes, practical activities and presentation and defense of assignments.

The assignments consist essentially of writing small reports, which are presented and discussed by the class.

Some classes are used to carry out practical activities, such as planning and executing tasks related to the development of a small project.

Learning Results

This curricular unit covers several software development methodologies, including traditional and agile. Students will be able to plan and apply simple plans for developing applications and systems. Upon completing this course, students should be able to:

  • Identify the different phases of software life cycles.
  • Know agile and traditional software development methodologies.
  • Understand the objectives and levels of software maturity.
  • Develop small applications using agile methodologies.
  • Justify the application of different methodologies to specific projects.
  • Analyze real software development projects and information systems.
  • Write clear, concise and tangible artifacts.

Program

  1. Motivation
    • Case studies on software development failures
    • Examples of software development approaches
  2. Software Process
    • Process, framework, lifecycle
  3. Process and Assessment Models
    • ISO/IEC 12207, CMMI, ISO/IEC 15504
  4. Traditional methodologies
    • Waterfall, incremental, evolutionary
  5. Agile methodologies
    • Scrum, Extreme Programming, Kanban, Agile Unified Process, DevOps
  6. Design Thinking
  7. Conclusion
    • Global analysis

Curricular Unit Teachers

Internship(s)

NAO

Bibliography

  • Abrahamsson, Pekka, Outi Salo, Jussi Ronkainen, and Juhani Warsta. Agile Software Development Methods – Review and Analysis. Finland: VTT Publications, 2002.
  • Pressman, Roger S. Software Engineering: a practitioner’s approach – 6th ed. New York: McGraw-Hill, 2005.
  • Shore, James, and Shane Warden. The Art of Agile Development. O’Reilly, 2007
  • Tsui, Frank, and Orlando Karam. Essentials of Software Engineering. Sudbury, MA: Jones and Bartlett Publishers, 2007
  • Several papers and case studies