Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Software Engineering

    A tantárgy neve magyarul / Name of the subject in Hungarian: Szoftvertechnológia

    Last updated: 2016. szeptember 30.

    Budapest University of Technology and Economics
    Faculty of Electrical Engineering and Informatics
    Course ID Semester Assessment Credit Tantárgyfélév
    VIIIAB01 3 3/0/0/v 4  
    3. Course coordinator and department Dr. Goldschmidt Balázs,
    Web page of the course
    4. Instructors Dr. Zoltán László
    5. Required knowledge Object oriented programming skills.
    6. Pre-requisites
    (TárgyEredmény( "BMEVIIIAA00" , "jegy" , _ ) >= 2
    TárgyEredmény( "BMEVIIIA114" , "jegy" , _ ) >= 2
    TárgyEredmény( "BMEVIIIAA03" , "jegy" , _ ) >= 2)

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

    ÉS (Training.Code=("5N-A8") VAGY Training.Code=("5NAA8"))

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

    A kötelező előtanulmányi rendek grafikus formában itt láthatók.

    Basics of programming 2
    7. Objectives, learning outcomes and obtained knowledge

    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.

    8. Synopsis

    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).

    9. Method of instruction Lecture.
    10. Assessment

    During midterm home work is to be presented.

    During exam period written exam.

    11. Recaps Failed home works are reassigned and can be submitted before exam period.
    12. Consultations Negotiable.
    13. References, textbooks and resources
    • Course slides

    • Sommerville, I. - Software Engineering 8th ed., Pearson Education Ltd, 2007,
    • Booch, 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


    14. Required learning hours and assignment
    Kontakt óra42
    Félévközi készülés órákra22
    Felkészülés zárthelyire 
    Házi feladat elkészítése16
    Kijelölt írásos tananyag elsajátítása 
    15. Syllabus prepared by Dr. Zoltán László, Dr. Balázs Goldschmidt