vissza a tantárgylistához   nyomtatható verzió    

    Software Development Methods and Paradigms

    A tantárgy neve magyarul / Name of the subject in Hungarian: Szoftverfejlesztési módszerek és paradigmák

    Last updated: 2025. július 2.

    Budapest University of Technology and Economics
    Faculty of Electrical Engineering and Informatics
    Autonomous Vehicle Control Engineering MSc
    Faculty of Transportation Engineering and Vehicle Engineering
    Course ID Semester Assessment Credit Tantárgyfélév
    VIAUMSXA000-00   2/1/0/v 5  
    3. Course coordinator and department Dr. Hideg Attila,
    4. Instructors
    Name:Title: Department:
    Dr. László LengyelprofessorDepartment of Automation and Applied Informatics
    Dr. Gábor Kövesdánassistant lecturer Department of Automation and Applied Informatics
    István Albertengineer
    Department of Automation and Applied Informatics
    5. Required knowledge Object-oriented programming, Software techniques
    6. Pre-requisites
    Kötelező:
    Szak("6N-MA") VAGY Szak("6NAMAR") //KJK AVCE

    ÉS NEM
    (TárgyEredmény( "BMEVIAUMA00" , "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIAUMA00", "FELVETEL", AktualisFelev()) > 0 )

    A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

    A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

    Ajánlott:
    -
    7. Objectives, learning outcomes and obtained knowledge 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.
    8. Synopsis

    Lecture topics:

    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 topics:

    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.
    9. Method of instruction Lecture and seminar
    10. Assessment

    In lecture term:

    A comprehensive and detailed overview of knowledge is measured once during the study period with a mid-term exam. The condition for obtaining the signature is the acceptable (at least sufficient) solution of the mid-term exam. The condition for admission to the exam is the existence of a signature.

    In examination period:

    Written exam. The prerequisite for obtaining credit points: at least a sufficient exam grade. 

    11. Recaps The midterm exam can be repeated during the repeat period in accordance with the Code of Studies and Exams.
    12. Consultations Arranged on demand by the lecturer or instructor.
    13. References, textbooks and resources
    • 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.
    14. Required learning hours and assignment
    Contact hours42
    Preparation for lectures 21
    Preparation for in-class test 20
    Preparing the homework -
    Prepare from written material 19
    Preparation for the exam 48
    Total 150

    15. Syllabus prepared by
    Name:Title: Department:
    Dr. László LengyelprofessorDepartment of Automation and Applied Informatics
    István Albertengineer
    Department of Automation and Applied Informatics