Software Development Methods and Paradigms
A tantárgyleírás hatályossága
| 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) |
|
||||||||||||
| Assessment type | vizsga | ||||||||||||
| Credits | 4 | ||||||||||||
| Subject coordinator |
Dr. Lengyel László
position: egyetemi tanár
contact:
lengyel.laszlo@vik.bme.hu
|
||||||||||||
| 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
|
|
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. |
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
Tanulástámogató anyagok
Online források
Recommended preliminary knowledge for completing the subject
General rules
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
Workload to complete the subject
No workload breakdown provided.
Validity of subject requirements
Curriculum placement
No curriculum placements recorded for this subject version.