Communication Software Development

Course Description

Within the scope of the subject students gain knowledge on software product life-cycle processes and software development models. The differences between traditional and agile development methods are defined and for the selected development models their advantages, disadvantages and selection principles for development projects are presented. Methods, main process actors, artifacts and interdependences are analyzed. During the course students acquire theoretical knowledge and practical experience in applying software requirements elicitation, analysis and management methods; in defining the software architecture and software prototyping. The urge and concept of process model tailoring is explained. Implementation, analysis and improvement of the program processes are described. Students are introduced to the R&D trends in the field of software engineering, the connection between conceptual design and business analysis with predicting the future and defining the strategy of the environment in which software is developed are shown. Topics related to the intellectual property are discussed, focusing on software licenses and patents.

Learning Outcomes

  1. define concept of software product lifecycle
  2. identify software processes and software development models
  3. explain principles of software process tailoring
  4. explain business analysis and strategy definition principles
  5. identify communication software development process bottlenecks
  6. apply different techniques for software elicitation and analysis
  7. use requirements management tool
  8. use software prototyping tools

Forms of Teaching

Lectures

Lectures where the topics of the course are presented. Invited lectures by industry experts.

Independent assignments

During the lecture, students will be given independent assignments to better understand the concepts presented. Preparation for the laboratory which includes independent research.

Laboratory

In the exercises, students analyze and apply software tools to collect, analyze, and manage program requirements, create a user interface using prototyping tools, and develop and present business ideas.

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Threshold Percent of Grade
Laboratory Exercises 50 % 15 % 50 % 25 %
Homeworks 50 % 10 % 50 % 25 %
Class participation 30 % 10 % 30 % 10 %
Mid Term Exam: Written 50 % 30 % 0 %
Final Exam: Written 50 % 25 %
Final Exam: Oral 10 %
Exam: Written 50 % 55 %
Exam: Oral 10 %

Week by Week Schedule

  1. Software process and lifecycle
  2. Software process and lifecycle
  3. Software requirements analysis
  4. COTS development model
  5. Integration processes and software product lines
  6. Software evolution and maintenance
  7. Software architecture concepts and standard architectures (e;g; client-server, n-layer, transform centered, pipes-and-filters)
  8. Midterm exam
  9. Software architecture concepts and standard architectures (e;g; client-server, n-layer, transform centered, pipes-and-filters)
  10. Discovery; invention; innovation
  11. Innovation: innovation models; open and closed approaches
  12. New product/service introduction
  13. Development scenario planning and technology roadmapping
  14. Intellectual property rights management, privacy, and protection (watermarking)
  15. Final exam

Study Programmes

University graduate
[FER3-HR] Audio Technologies and Electroacoustics - profile
Elective Courses (2. semester)
[FER3-HR] Communication and Space Technologies - profile
Elective Courses (2. semester)
[FER3-HR] Computational Modelling in Engineering - profile
Elective Courses (2. semester)
[FER3-HR] Computer Engineering - profile
Elective Courses (2. semester)
[FER3-HR] Computer Science - profile
Elective Courses (2. semester)
[FER3-HR] Control Systems and Robotics - profile
Elective Courses (2. semester)
[FER3-HR] Data Science - profile
Elective Courses (2. semester)
[FER3-HR] Electrical Power Engineering - profile
Elective Courses (2. semester)
[FER3-HR] Electric Machines, Drives and Automation - profile
Elective Courses (2. semester)
[FER3-HR] Electronic and Computer Engineering - profile
Elective Courses (2. semester)
[FER3-HR] Electronics - profile
Elective Courses (2. semester)
[FER3-HR] Information and Communication Engineering - profile
Elective Courses (2. semester)
[FER3-HR] Network Science - profile
Elective Courses (2. semester)
Elective Courses of the Profile (2. semester)
[FER3-HR] Software Engineering and Information Systems - profile
Elective Courses (2. semester)
[FER2-HR] Telecommunication and Informatics - profile
Specialization Course (2. semester)

Literature

(.), Sommerville, I. Software engineering. Boston, Mass. Pearson, 2016.,
(.), Idea Group Publishing, Hershey USA, London UK, 2005,
(.), Bažant, A. i drugi. Telekomunikacije – tehnologije i tržište. Element 2007.,
(.), Carić, A. Istraživanje i razvoj u informacijskoj i komunikacijskoj tehnologiji. Element, 2003.,
(.), Software Engineering Body of Knowledge (SWEBOK), https://www.computer.org/education/bodies-of-knowledge/software-engineering/v3,

Laboratory exercises

For students

General

ID 222661
  Summer semester
5 ECTS
L1 English Level
L2 e-Learning
30 Lectures
0 Seminar
0 Exercises
9 Laboratory exercises
0 Project laboratory

Grading System

Excellent
Very Good
Good
Acceptable