A tantárgyleírás hatályossága
| Subject name (Hungarian, English) |
Szoftvertechnológia
Software Engineering
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Subject code | BMEVIMIAB04 | ||||||||||||
| Subject type | — | ||||||||||||
| Training Level | — | ||||||||||||
| Course types and hours (weekly/semester) |
|
||||||||||||
| Assessment type | vizsga | ||||||||||||
| Credits | 5 | ||||||||||||
| Subject coordinator |
DR. Micskei Zoltán Imre
position: egyetemi docens
contact:
micskei.zoltan@vik.bme.hu
|
||||||||||||
| Responsible department |
Mesterséges Intelligencia és Rendszertervezés Tanszék
|
||||||||||||
| Faculty | Villamosmérnöki és Informatikai Kar | ||||||||||||
| Subject website | — | ||||||||||||
| 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
1. Introduction: About software and software development. Does software engineering differ from other engineering fields? What is in software engineering other than programming? Case studies of complex software systems and software projects. What is needed for successful software development?
Software development practices
2. Fundamentals of version control. Centralized and decentralized version control. Typical workflows and patterns (GitHub Flow, Mainline...).
3. Requirement management: Importance of requirements. Eliciting, analyzing, prioritizing requirements. Types of requirements. Traceability. Handling changes in requirements.
4. Design and architecture: Fundamental concepts (abstraction, modularization). Elements of software architecture. Design patterns. Documenting designs.
5. Managing source code: properties of good source code. Coding guidelines and standards. Code review. Using static analysis tools.
6. Testing I.: concepts and goals of testing. Testing process. Testing levels. Risk-based testing.
7. Testing II.: test design techniques (specification and structure-based techniques).
Software modeling and UML
8. Modeling software: Why model? What can we model? The Unified Modeling Language (UML) modeling language family. Modeling structure: class diagram, modeling instances, package diagram, component diagram.
9. UML behavioral modeling I.: use case, activity diagram, sequence diagram.
10. UML behavioral modeling II.: state machine diagram, connecting different viewpoints.
Software development processes
5. Steps and artefacts of the software lifecycle. Popular lifecycle models (waterfall, V-model, incremental)
6. Classic and agile software development. Agile and Lean practices. Examples: Scrum, XP.
Project and people management
13. Managing software projects. Estimation, project planning and tracking. Agile project management practices and tools.
14. Measurement and analysis in software development. Process definitions and metrics.
Laboratory exercises:
1. Software development workflows, handling complex software
2. Version control systems (git), basic workflows (GitHub Flow). Build systems. Continuous integration.
3. Checking code style. Code review. Using static analysis tools
4. Test design and implementation. Measuring code coverage.
5. Using a UML modelling tool with basic diagrams
6. Practicing UML-based object-oriented design
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
Not provided.
Workload to complete the subject
No workload breakdown provided.
Validity of subject requirements
Curriculum placement
No curriculum placements recorded for this subject version.