K-INFO
HU
EN
Login

Software Development Methods and Paradigms

Szoftverfejlesztési módszerek és paradigmák
A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
Subject name (Hungarian, English)
Szoftverfejlesztési módszerek és paradigmák
Software Development Methods and Paradigms
Subject code BMEVIAUMA00
Subject type
Training Level
Course types and hours (weekly/semester)
Course type lecture tutorial laboratory
hours (weekly) 2 1 0
type (linked/independent) derived course
Assessment type vizsga
Credits 4
Subject coordinator
Dr. Lengyel László
position: egyetemi tanár
Responsible department
Automatizálási és Alkalmazott Informatikai Tanszék
Faculty Villamosmérnöki és Informatikai Kar
Subject website https://www.aut.bme.hu/Course/VIAUMA00
Primary curriculum type
Direct prerequisites – Strong prerequisite none
Direct prerequisites – Weak prerequisite none
Direct prerequisites – Parallel prerequisite none
Direct prerequisites – Milestone prerequisite none
Direct prerequisites – Exclusion none

Objectives

Programme


 

Lecture content

1.

Effective use of development tools, learn best practices, build a variety of devices, major development, debugging, testing, mapping processes.

2.

Typical architectural expectations and possible solutions related to the project management methodologies, showing the advantages and difficulties in each direction.

3.

The manual application testing processes, methods, presentation of some assets. Guidelines for the preparation of unit tests, the conditions for the application, advantages and disadvantages.

4.

Source code management methods, widespread source code management tools, branching strategies, introduction of best practice guidelines for effective teamwork.

5.

Specification and business analysis methods: Structured Systems Analysis and Design Method (SSADM), requirements analysis, requirements specification, logical and physical planning, types of requirements, measurable objectives, prototypes, business analysis techniques, business processes and documentation requirements.

6.

Software Design methods: software design, UML, UML profile, description and communication of user requirements, architecture, design, Domain Driven Design, Model Driven Development

7.

User Experience design, typical process steps and best practices, role in the software development process, the user testing methods.

8.

Methodologies, classic methodologies: the software development process, software development models, Rational Unified Process (RUP), Capability Maturity Model Integration (CMMI)

9.

Agile development methods 1 (Agile values and principles) Why do we need methodologies?, managing change in the software industry, agile methods, values, principles, agile manifesto, agile practices.

10.

Agile development methods 2 (supporting the implementation practice): agile design, goals of design, levels of design, vision, release planning, iteration planning, stand-up. User stories, estimates, iteration, "done, done", Agile modeling.

11.

Agile development methods 3 (Agile methodologies): eXtreme Programming (XP), Scrum, Microsoft Solution Framework (MSF), characteristics of methodologies, their use in everyday life.

12.

Project management methods and tools 1: general project management principles, constraints, resources and competence matrices, tasks, dependencies. General description of project design tools.

13.

Project management methods and tools 2: specific characteristics of IT projects, agile and classic methodologies, resource and task management, monitoring, device support.

14.

Case studies: concrete case studies demonstrate the effective use of development tools, testing, source code management practices, collaboration tools. Experiences, best practices.

 

 

Seminar content

1.

Unit testing in practice: creating simple unit tests, application testing, mocking, error handling.

2.

Source code management methods 1: Microsoft Team Foundation Server, GIT, check-in / check-out, pull / push, merge, branching, offline repository management.

3.

Source code management methods 2: build automation, continuous integration, automated unit tests start, configuration-release devices, metrics.

4.

Specification and design: developing practical examples (SSADM), CMMI in practice, requirements analysis, business analysis.

5.

Agile Planning: practical examples of vision, release planning, iteration planning.

6.

Agile tools: common agile practices (test driven development, continuous integration, refactoring).

7.

Project management tools in practice: planning, resource management, scrum meetings, sprints, product backlog.

The goal of this course is to teach the software development methodologies, their application possibilities and conditions, practices and tools required and preferred for the design and development of methods. Students become practiced in treating issues of common software architectures and software systems, furthermore, they will have a good knowledge related to software development methods. The course discusses the software development methodologies, the methods and techniques supporting methodologies and development processes, furthermore,  practices, architectural requirements and solutions related to software systems. 

Learning outcomes

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Knowledge

No learning outcomes recorded.

Skills

No learning outcomes recorded.

Attitudes

No learning outcomes recorded.

Autonomy and responsibility

No learning outcomes recorded.

Oktatási módszertan

Lecture, seminar

Tanulástámogató anyagok

Online források
James Shore: The Art of Agile Development, O'Reilly Media, 2007.; Martin Fowler with Kent Beck, John Brant, William Opdyke, and Don Roberts: Refactoring (Improving the Design of Existing Code), Addison-Wesley, 1999.; Kent Beck et al.: Manifesto for Agile Software Development, Agile Alliance, 2001. ; Kent Beck: Test Driven Development: By Example, Addison-Wesley, 2003.; Martin Fowler: Domain-Specific Languages, Addison-Wesley Professional, 2010.; Martin Fowler: Using an Agile Software Process with Offshore Development, Martinfowler.com; James Shore: The Art of Agile Development: Refactoring. 

Recommended preliminary knowledge for completing the subject

Knowledge type competencies
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Object-oriented programming, Software techniques
Skill type competencies
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Recommended (non-compulsory) preliminary competencies
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Object-oriented programming, Software techniques
General rules
Requirements: During the semester: one midterm exam In the exam period: written exam. The midterm exam yields 40%, and the exam yields 60% of the final grade. Additional possibilities: The midterm exam can be repeated during the repeat period in accordance with the Code of Studies and Exams.
Assessment methods
In-term assessments

No detailed assessments provided.

Weight of in-term assessments

No weights provided.

Exam-period assessments

No detailed assessments provided.

Weight of exam elements

No weights provided.

Grade calculation

No grade thresholds provided.

Attendance requirements

No attendance requirements provided.

Rules for retake and resubmission

Not provided.

Short description

Not provided.

Detailed description

Not provided.

Recommended courses
Excluded courses: BMEVIAUM126, BMEVITMMA01
Workload to complete the subject

No workload breakdown provided.

Validity of subject requirements
Requirements valid from:
Requirements valid until:
Curriculum placement

No curriculum placements recorded for this subject version.