K-INFO
HU
EN
Login

Software Engineering

Szoftvertechnológia
A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
Subject name (Hungarian, English)
Szoftvertechnológia
Software Engineering
Subject code BMEVIIIAB01
Subject type
Training Level
Course types and hours (weekly/semester)
Course type lecture tutorial laboratory
hours (weekly) 3 0 0
type (linked/independent)
Assessment type vizsga
Credits 4
Subject coordinator
DR. Goldschmidt Balázs
position: egyetemi docens
Responsible department
Irányítástechnika és Informatika Tanszék
Faculty Villamosmérnöki és Informatikai Kar
Subject website https://www.iit.bme.hu/%7Estuser/index_eng.html
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

Software engineering. Historical background. Software crisis. Concept of the technology.

Software as a product. Software quality aspects. Software development process. Life cycle models. Software project planning. Risks, Simple cost models. Scheduling. CMM.

UML notation. UML structural diagrams. (Class and object diagrams, name compartment, attributes, operations, concurrency semantics, template, associations, interface)

UML Component and deployment diagrams. Port, connector, composite structure diagram.  Product, node, device. Use case and actor, properties.

UML. Behavioural modelling. iNTERACTIONS, EVENT, MESSAGES. Sequence, collaboration, activity diagrams.  Timing diagram. Example of MVC.

UML state modelling. Composite states, activity diagram. Beyond UML.

Verification and validation. Overviews, their goal, methods and actors. Goal and process of testing. Testing within the lifecycle. Testing and integration. FURPS. Requirements (functional and non-functional).  

Data modelling. ERD, data specification, XML, DTD. Other specification techniques> syntax graph, BNF. Algebraic axioms.

Modelling behaviour. State machines. Combining models. Specifications, user manuals. Basics of design> abstraction encapsulation, data hiding, modularization. Coupling and cohesion. OO design basics: design by contract, inheritance, law of Demeter.

Software architectures. Concepts and styles. Pipes and filters, blackboard, interpreter, OO, layered, client-server.

Overview on the Rational Unified Process. Component software, academic concepts: Aspect oriented programming. Verification and validation. applied techniques. Testing. Configuration management. Extreme programming, scrum, agile.

Software maintenance, configuration management. Versioning (SVN, GIT).

The objective of the course is to introduce the students to the design, development and maintenance of large-scale software systems. It also  presents the techniques and methods to produce the software as a product. In addition to the presentation of the technical aspects, attention is also paid to the administrative overhead of the technologies (management). Students satisfying the course requirements will be able to understand and manage the problems related to the development of large-scale software systems and they will be able to participate in such development processes. The knowledge acquired in the framework of this course will be the background for the Software Laboratory course.

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.

Tanulástámogató anyagok

Online források
Course slides; Sommerville, I. - Software Engineering 8th ed., Pearson Education Ltd,; 2007, http://www.cs.st-andrews.ac.uk/%7Eifs/index.htmlBooch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language; User Guide, Addison-Wesley, 1999.Roger s. Pressman: Software Engineering, A Practitioner's Approach,; 6th ed, McGraw-Hill, 2006 

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 skills.
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 skills.
General rules
Requirements: During midterm home work is to be presented. During exam period written exam. Additional possibilities: Failed home works are reassigned and can be submitted before exam period.
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
Basics of programming 2
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.