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 % 25 % 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. Requirements analysis for telecommunications software systems
  4. COTS and reuse in telecommunication systems
  5. Telecommunication integration process and product lines
  6. Telecommunication 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. Scenario planning; technology roadmapping
  14. Intellectual property rights management, privacy, and protection (watermarking)
  15. Final exam

Study Programmes

University graduate
Audio Technologies and Electroacoustics (profile)
Free Elective Courses (2. semester)
Communication and Space Technologies (profile)
Free Elective Courses (2. semester)
Computational Modelling in Engineering (profile)
Free Elective Courses (2. semester)
Computer Engineering (profile)
Free Elective Courses (2. semester)
Computer Science (profile)
Free Elective Courses (2. semester)
Control Systems and Robotics (profile)
Free Elective Courses (2. semester)
Data Science (profile)
Free Elective Courses (2. semester)
Electrical Power Engineering (profile)
Free Elective Courses (2. semester)
Electric Machines, Drives and Automation (profile)
Free Elective Courses (2. semester)
Electronic and Computer Engineering (profile)
Free Elective Courses (2. semester)
Electronics (profile)
Free Elective Courses (2. semester)
Information and Communication Engineering (profile)
Free Elective Courses (2. semester)
Network Science (profile)
Elective Courses of the Profile (2. semester)
Software Engineering and Information Systems (profile)
Free Elective Courses (2. semester)
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,

For students

General

ID 222661
  Summer semester
5 ECTS
L2 English Level
L2 e-Learning
30 Lectures
9 Laboratory exercises

Grading System

Excellent
Very Good
Good
Acceptable