Title:

Introduction to Software Engineering

Code:IUS
Ac.Year:2005/2006
Term:Winter
Curriculums:
ProgrammeBranchYearDuty
IT-BC-3BIT1stCompulsory
Language:Czech
Private info:http://www.fit.vutbr.cz/study/courses/IUS/private/
Credits:5
Completion:accreditation+exam (written)
Type of
instruction:
Hour/semLecturesSem. ExercisesLab. exercisesComp. exercisesOther
Hours:2600013
 ExaminationTestsExercisesLaboratoriesOther
Points:5000050
Guarantee:Křena Bohuslav, Ing., Ph.D., DITS
Lecturer:Kočí Radek, Ing., Ph.D., DITS
Křena Bohuslav, Ing., Ph.D., DITS
Instructor:Bartík Vladimír, Ing., Ph.D., DIFS
Bidlo Radek, Ing., DIFS
Grulich Lukáš, Ing., DITS
Kočí Radek, Ing., Ph.D., DITS
Kreslíková Jitka, doc. RNDr., CSc., DIFS
Křena Bohuslav, Ing., Ph.D., DITS
Martinek David, Ing., DIFS
Skřivánek Roman, Ing., DITS
Vintera Jiří, Ing., DITS
Weiss Petr, Ing., DIFS
Faculty:Faculty of Information Technology BUT
Department:Department of Intelligent Systems FIT BUT
 
Learning objectives:
  To provide overview and basics of the complex software system building. To acquaint with the process of software systems creation. This process is analyzed as an integration of system development, software quality assurance, and software project management. To acquaint with the development stages of the software lifetime. The consideration is focused on all development stages, mainly the requirements analysis, requirements specification, and methods of software design. To learn to use basic models of UML and to get familiarity with methodics of UML-based modelling. To acquaint with basics of WWW and LaTex publishing.
Description:
  History of computer use, information technology, software and hardware engineering, information society, basic notions. Development stages of systems with computers, methods and models of software lifetime in some detail. Requirement analysis and specification. Introduction to software project management. Basic principles of structured and object-oriented approach to program writing. Basic notions of object-oriented programming - object, class, encapsulation, inheritance, polymorphism. Introduction to modelling techniques of object-oriented analysis and design. Introduction to modelling techniques of structured analysis and design (DFD, ERD). Introduction to verification and validation, evaluation, testing. Introduction to program maintenance. Agile software development, basic principles of extreme programming and prototyping. History and overview of programming languages. Overview and basic principles of user interfaces. Introduction to document creation programs - text editors, basics of desktop publishing.
Knowledge and skills required for the course:
  This course takes place in the winter term of the first year of the bachelors study programme. Thus, we expect that students have the high school level knowledge of using computers.
Subject specific learning outcomes and competences:
  Student gets an overview in the area of complex software system development. Students acquaints especially with software development stages and with models of software life-time. Student makes sense of the methodics basis of the requirements analysis and the software system design. He/she learns to use chosen UML models. Student acquaints with basics of computer publishing.
Generic learning outcomes and competences:
  Students learns to provide analysis and design of the software systems. Students learns to create the project documentation and the program documentation. Students will be able to read and create basic UML models.
Syllabus of lectures:
 
  1. History of computer use, information technology, software crisis, software engineering, information society, basic notions.
  2. Software development, software products. Making HTML documents.
  3. Development stages of systems with computers, methods and models of software lifetime in some detail. Requirement analysis.
  4. Methods of requirements specification, modelling techniques of structured and object-oriented analysis.
  5. Modelling techniques of structured design.
  6. Basic notions of object-oriented programming - object, class, encapsulation, inheritance, polymorphism. Introduction to modelling techniques of object-oriented design. Unified Modelling Language (UML).
  7. Chosen modelling means of UML (Use Case, Class Diagram, etc.)
  8. Complex modelling with UML.
  9. Introduction to verification and validation, evaluation, testing.
  10. Basic principles of structured and object-oriented approach to program writing, software testing and maintenance.
  11. Agile methods of software development, basic principles of extreme programming and prototyping.
  12. Introduction to software project management.
  13. Overview and basic principles of software quality view. Publishing with LaTex.
Syllabus - others, projects and individual work of students:
 
  1. HTML page
  2. Documentation to IZP project
  3. Documentation to IZP project
  4. Model of an information system
Fundamental literature:
 
  • J. Arlow, I. Neustadt: UML and the Unified Process: Practical Object-Oriented Analysis and Design, Addison-Wesley Professional; 1st edition, 2001. ISBN 0201770601
  • M. Page-Jones: Fundamentals of Object-Oriented Design in UML, Addison-Wesley; 1st edition, 1999. ISBN: 020169946X
  • K. Beck: Extreme Programming Explained: Embrace Change, Addison-Wesley; 1st edition, 1999. ISBN: 0201616416
  • Karel Richta, Jiří Sochor: Softwarové inženýrství I. Vydavatelství ČVUT, Praha 1996 (dotisk 1998). ISBN: 80-01-01428-2
  • P. Paleta: Co programátory ve škole neučí aneb Softwarové inženýrství v reálné praxi, ISBN 80-251-0073-1
Study literature:
 
  • Lecture notes in PDF
  • System Modelling Based on Object-Orientation - tutorial of UML 2.0 language, Brno University of Technology, 2004.
  • J. Arlow, I. Neustadt: UML and the Unified Process: Practical Object-Oriented Analysis and Design, Addison-Wesley Professional; 1st edition, 2001. ISBN 0201770601
  • M. Page-Jones: Fundamentals of Object-Oriented Design in UML, Addison-Wesley; 1st edition, 1999. ISBN: 020169946X
  • K. Beck: Extreme Programming Explained: Embrace Change, Addison-Wesley; 1st edition, 1999. ISBN: 0201616416
  • K. Richta, J. Sochor: Softwarové inženýrství I. Vydavatelství ČVUT, Praha 1996 (dotisk 1998). ISBN: 80-01-01428-2
  • P. Paleta: Co programátory ve škole neučí aneb Softwarové inženýrství v reálné praxi, ISBN 80-251-0073-1
  • Roubal, P.: Informatika a výpočetní technika 1. díl, 2. díl, [Computer Science and Computers, 1st and 2nd part] Computer Press, Praha 2000.
Controlled instruction:
  No attadance on lectures is monitored within this course. The knowledge of students is examined by the projects and by the final exam.
Progress assessment:
  
  • 4 projects (50 points in total)
  • final exam (50 points)
Exam prerequisites:
  Student has to get at least half of the points from the projects for receiving the credit and then for entering the exam.  Plagiarsm will cause that involved students are not classified and disciplinary action can be initiated.