+ All Categories
Home > Documents > Topic 1 What is Software Engineering?EWSD: electronic dial system Digital 1960 1970 1980 1990 2000...

Topic 1 What is Software Engineering?EWSD: electronic dial system Digital 1960 1970 1980 1990 2000...

Date post: 29-Jan-2021
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
55
1 Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade, University of Niš, University of Kragujevac Version: Oct. 27, 2005 (D Sep. 22, 2003) DAAD Project “Joint Course on Software Engineering” Topic 1 What is Software Engineering?
Transcript
  • 1

    Humboldt University Berlin, University of Novi Sad, University of Plovdiv,University of Skopje, University of Belgrade, University of Niš, University of Kragujevac

    Version: Oct. 27, 2005 (D Sep. 22, 2003)

    DAAD Project“Joint Course on Software Engineering”

    Topic 1What is Software Engineering?

  • 2

    DAAD project „Joint Course on Software Engineering“ © 2

    1. What is Software Engineering ?

    a) Areas of software engineering (i.e., what belongs to it) b) The importance of software engineering

    in practice - problems of software development c) On the size of softwared) History of software engineeringe) Several definitions of software engineeringf) Problems of introducing software engineering in education g) Differences between software development

    in educational environment and in practice h) Goals of this course i) Literature, articles, papers, ...

  • 3

    DAAD project „Joint Course on Software Engineering“ © 3

    The subject of ...

    compiler construction

    database

    software engineering

    translation of higher-level programminglanguages to machine-level languages

    management of complex and structured

    volumes of data

    ?

  • 4

    DAAD project „Joint Course on Software Engineering“ © 4

    Areas of software engineering:What belongs to it ?

    „Programming is a comparatively small component of the softwareengineering field. Some of the other parts (including for example, software specification and design) are equally important.“

    Project Management

    Softwarespecification

    User documentation

    User interfacedesign

    Softwaredesign

    Programming Testing

    Hardwareconsiderations

    Software EngineeringThe World

    M. Pont: Software Engineering with C++ and CASE Tools, Addison-Wesley 1996

  • 5

    DAAD project „Joint Course on Software Engineering“ © 5

    Areas of software engineering:from textbooks, research subjects, conferences:

    (unordered, partly overlapping)

    life cycle modelssoftware processes (CMM, ISO 9000)configuration managementeffort estimationproject managementquality managementcleanroom software engineeringreverse engineeringprogram comprehension(program understanding)software metricssoftware architecturesoftware maintenance

    requirements engineeringsoftware specificationreuseprogram verificationsoftware documentationknowledge-based SEsystematic testingprototypingCASE toolsprogramming languages for SE object-orientation (analysis, design, programming, test)extreme programmingpair programming

  • 6

    DAAD project „Joint Course on Software Engineering“ © 6

    Computer-Zeitung 25/96 (20. June 96)

    Software DevelopmentRemains a Mixture of MethodsSoftware development as science and as a practical activity have something in common: heterogeneity.

    Software DevelopmentRemains a Mixture of MethodsSoftware development as science and as a practical activity have something in common: heterogeneity.

  • 7

    DAAD project „Joint Course on Software Engineering“ © 7

    Software Engineeringpreliminary definitions

    „Software engineering ... aims at the economical development of high-quality software“

    (Pagel / Six 1994, p. 49)

    „SE is an engineering discipline concerned with the practical problems of developing large software systems“

    (Sommerville 1992, 4. ed., p. v)

  • 8

    DAAD project „Joint Course on Software Engineering“ © 8

    1. What is Software Engineering ?

    a) Areas of software engineering (i.e., what belongs to it) b) The importance of software engineering

    in practice - problems of software development c) On the size of softwared) History of software engineeringe) Several definitions of software engineeringf) Problems of introducing software engineering in education g) Differences between software development

    in educational environment and in practice h) Goals of this course i) Literature, articles, papers, ...

  • 9

    DAAD project „Joint Course on Software Engineering“ © 9

    Questioning of young computer scientists working in practiceby the German Society of Informatics in 1993

    importance of subareas of informatics (most important areas first)

    3.593.353.263.103.103.092.99 2.962.812.602.562.502.422.412.362.362.322.312.271.871.681.641.641.581.531.371.301.271.151.131.061.040.880.850.810.810.810.63

    team workproject managementsoftware engineeringleadershipdatabasesrhetoricscommunication systems / computer netsquality assurancedata structures and efficient algorithmsoperating systemssoftware ergonomicsbusiness management algorithmic fundamentals / complexitymathematical and logical fundamentalsdistributed systemsscientific work methodsdata securityinformation systemsconcepts of programming languagescomputer architecturelegal fundamentalsdisposition systemsanalysis and assessment of computer systemsgraphics and visualization systemsmodeling and simulationformal languages and automatonreal-time systemsmultimediainformatics and societyfundamentals of electronicsmachine-level programmingCIMexpert systemsfundamentals of artificial intelligenceelectrical measurementimage processingapplications of artificial intelligencepattern recognition

    scoresubareas of informatics

  • 10

    DAAD project „Joint Course on Software Engineering“ © 10

    Questioning in 1993 (detail)

    3.593.353.263.103.103.092.99 2.962.812.602.562.502.422.412.362.362.322.312.271.87

    team workproject managementsoftware engineeringleadershipdatabasesrhetoricscommunication systems / computer netsquality assurancedata structures and efficient algorithmsoperating systemssoftware ergonomicsbusiness management algorithmic fundamentals / complexitymathematical and logical fundamentalsdistributed systemsscientific work methodsdata securityinformation systemsconcepts of programming languagescomputer architecture

    scoresubareas of informatics

    activities duringsoftware development

    subareas of software engineering

  • 11

    DAAD project „Joint Course on Software Engineering“ © 11

    Süddeutsche Zeitung No. 120 /page V1/1

    25.5.1996

    Tasks of software engineers in the mirror of job offers

    Project manager

    As a project manager you are responsible of the realization of complex application projects for our customers in industry and management.

    The major goal is a satisfied customer based on an economically accomplished project ...

    Project manager

    As a project manager you are responsible of the realization of complex application projects for our customers in industry and management.

    The major goal is a satisfied customer based on an economically accomplished project ...

  • 12

    DAAD project „Joint Course on Software Engineering“ © 12

    3

    Computer Zeitung 16.10.97

    Your tasks:

    • analysis of technical requirements• design of the application• programming• test and quality assurance• installation in the target environment

    Your tasks:

    • analysis of technical requirements• design of the application• programming• test and quality assurance• installation in the target environment

    Your profile:

    • experience in COBOL• knowledge of:

    UNIX, Open VMS, OS/400• SQL and Database, e.g. Oracle• commercial knowledge

    Your profile:

    • experience in COBOL• knowledge of:

    UNIX, Open VMS, OS/400• SQL and Database, e.g. Oracle• commercial knowledge

  • 13

    DAAD project „Joint Course on Software Engineering“ © 13Süddeutsche Zeitung 15.12.96

    Software developerYour tasks are:• analysis of requirements of a given system• feasibility analysis and effort estimation• technical specification• extension of existing software modules• regression testing and software update procedures

    Software developerYour tasks are:• analysis of requirements of a given system• feasibility analysis and effort estimation• technical specification• extension of existing software modules• regression testing and software update procedures

  • 14

    DAAD project „Joint Course on Software Engineering“ © 14

    Software

    software =

    properties of software:• no wastage during the operation of software• aging (software is permanently updated)

    after 10 years of usage and update there is no more original line (Pagel, Six p. 35)

    • long-run usagein the average 10 - 15 years (Wallmüller 90, p. 3)up to 30 years (Hausi Müller)

    • easy to copy ( errors too)• hard to measure (metrics: quality, quantity) • rather complex

    programs, data, documentation

  • 15

    DAAD project „Joint Course on Software Engineering“ © 15

    Complexity of software

    The distinguishing characteristics of industrial-strength software is that it is intensely difficult, if not impossible, for the individual developer to comprehend all the subtleties of its design. Stated in blunt terms, the complexity of such systems exceeds the human intellectual capacity.

    (Booch, Object-oriented Analysis and Design, p. 4)

  • 16

    DAAD project „Joint Course on Software Engineering“ © 16

    Increasing complexity of software

    MOI: millions of object-code instructionsEWSD: electronic dial system Digital

    1960 1970 1980 1990 200060 MOI

    50 MOI

    40 MOI

    30 MOI

    20 MOI

    10 MOI

    EWSD forBB-ISDN

    SPACESHUTTLE

    APOLLOEWSD-APSWM4.2

    LUNARMISSIONCONTROL

    GEMINI

    MERCURY

    EWSD-APSDBP-14

    7% annual increaseof productivity

  • 17

    DAAD project „Joint Course on Software Engineering“ © 17

    But: „software solutions demandhigh precision“ (Denert, p. 4)

    software is …

    • error prone• behaves in another way than expected

    • finished too late• more expensive than planned

    • not applicable

    very often: project breakup

  • 18

    DAAD project „Joint Course on Software Engineering“ © 18

    Examples of software problems

    Denver airport: could not be inaugurated (not opened) in 1994 –the software for the luggage transport system did not work Siemens: account software for medicaments developed for health insurance funds was not ready in time (consequential costs of 1 billion DM - Berliner Zeitung 22.05.96)Deutsche Telekom: wrong calculation of phone rates for 1.1.96(software error: no holiday rate – damage: hundreds of millions of DM)F18 warplane: during an exercise in 1983 with new developed plane software – crossing the equator the plane turned to the head. The reason was a sign error in the program (Wallmüller 1990, p. 1).

  • 19

    DAAD project „Joint Course on Software Engineering“ © 19

    Examples of software problems – contd.

    First space rocket to the Venus: in 1979 did not find the target:in a Fortran program they used a point instead of a comma.The loss: several hundreds millions of dollar (Wallmüller 1990, p. 1).Therac 25 - computer-controlled radiation therapy machine: between June 1985 and January 1987 6 people were overdosed (5 of them died) as a result of missing software safety lock that should prevent overdose (Berry, D.M., “Myths and realities of software development”).

  • 20

    DAAD project „Joint Course on Software Engineering“ © 20

    Questions: statistics concerning software development (1): (Mynatt: Software Engineering, p. 1)

    1. The typical software development project takes a) 1 - 5 b) 6 - 11 c) 12 - 23 d) 24 - 48 month.

    2. For a medium-sized software system,a) less than 10 b) 10 - 20 c) 21 - 30 d) more than 30lines of executable source code are typically produced per day per person during the entire period of development of the system.

    3. The approximate number of errors found in every 1000 lines of executable source code during development of a software system is:a) less than 30 b) 30 - 40 c) 40 - 50 d) 50 - 60

    4. The approximate number of errors found in every 1000 lines of executable source code in a delivered software system is:a) less than 4 b) 4 - 8 c) 8 - 12 d) more than 12

    5. Approximately what percentage of software systems that begin development are finally completed?a) 90 - 100% b) 80 - 90% c) 70 - 80% d) 60 - 70%

  • 21

    DAAD project „Joint Course on Software Engineering“ © 21

    Questions: statistics concerning software development (2): (Mynatt: Software Engineering, p. 1)

    6. The cost of owning and maintaining of software is typically a) one half b) just c) twice times as expensive as developing the software.

    7. Most errors found by users in software are the result ofa) programmer errorb) problems in the problem statement or understanding

    the problem statement c) clerical errorsd) errors in the design

    8. What is the amount of programming during software development ? a) 99% b) 70% c) 50% d) 20% e) 10%

    9. In software development today, a system would be considered large if it contained at least a) 10.000 b) 30.000 c) 50.000 d) 100.000 Mynatt,

    1990

  • 22

    DAAD project „Joint Course on Software Engineering“ © 22

    Question: defect rate

    Defect rate = number of errors in 1000 lines of code

    Due to the increasing complexity of software, the defect rate developed from 1977 to 1994 in the following way:a) increase to 10 timesb) increase to 2 timesc) unchanged

  • 23

    DAAD project „Joint Course on Software Engineering“ © 23

    Importance of software industry

    3000

    2500

    2000

    1500

    1000

    500

    world-wide volume in billion US$

    800 8001100

    13201620

    2850 2900

    military &

    defense

    engine

    building

    carindustry

    chemical

    industry

    textile

    industry

    IT&T

    Source: G.Koch, European IT Conference (EITC), Brüssel, June 1994

    tourism

  • 24

    DAAD project „Joint Course on Software Engineering“ © 24

    1. What is Software Engineering ?

    a) Areas of software engineering (i.e., what belongs to it) b) The importance of software engineering

    in practice - problems of software development c) On the size of softwared) History of software engineeringe) Several definitions of software engineeringf) Problems of introducing software engineering in education g) Differences between software development

    in educational environment and in practice h) Goals of this course i) Literature, articles, papers, ...

  • 25

    DAAD project „Joint Course on Software Engineering“ © 25

    How large is software ?classification of software according to its size:small: up to 2000 lines of codemiddle: 2000 – 100.000large: 100 000 – 1.000.000very large: > 1 Mio.(A. Macro, p. 70)

    average size of software in each of the 100 largest US companies:35 Mio. lines of code(Hausi Müller, p. 3-12)

    e.g. USA, DoD:1,4 billion lines of code(distributed to 1.700 data centers)operating costs for these systems:9 billion dollar / year(CACM, 5, 1994, p. 26)

  • 26

    DAAD project „Joint Course on Software Engineering“ © 26

    1. What is Software Engineering ?

    a) Areas of software engineering (i.e., what belongs to it) b) The importance of software engineering

    in practice - problems of software development c) On the size of softwared) History of software engineeringe) Several definitions of software engineeringf) Problems of introducing software engineering in education g) Differences between software development

    in educational environment and in practice h) Goals of this course i) Literature, articles, papers, ...

  • 27

    DAAD project „Joint Course on Software Engineering“ © 27

    Historysoftware crisis:notion since the middle of the 60th in the middle of the 60thsoftware costs become larger than hardware costs (picture)NATO conferences 1968, 69:definition of the notion software engineering

    big advantagesbut: also today we have a software crisessoftware costs (world-wide)1985: 140 billion of dollars1995: 435(comparison: budget of Germany 1992: 430 billions of DM)(Balzert, Yourdon)

  • 28

    DAAD project „Joint Course on Software Engineering“ © 28

    Hardware costs and software costs100

    80

    60

    40

    20

    1955 1960 1969 1976 1985

    Hardware

    Software

  • 29

    DAAD project „Joint Course on Software Engineering“ © 29

    1. What is Software Engineering ?

    a) Areas of software engineering (i.e., what belongs to it) b) The importance of software engineering

    in practice - problems of software development c) On the size of softwared) History of software engineeringe) Several definitions of software engineeringf) Problems of introducing software engineering in education g) Differences between software development

    in educational environment and in practice h) Goals of this course i) Literature, articles, papers, ...

  • 30

    DAAD project „Joint Course on Software Engineering“ © 30

    Definitions of software engineering1. „Software engineering ... aims at the economical

    development of high-quality software“(Pagel / Six 1994, page 49)

    2. „SE is an engineering discipline concerned with the practical problems of developing large software systems“(Sommerville 92, p. v).

    3. „SE is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software“ (IEEE Standard Glossary of Software Engineering Terminology, 1990).

    4. „Software engineering is a defined, step-by-step process that facilitates the specification, design, implementation, and testing of a software solution for a set of stated requirements in the most expeditious and cost-effective manner possible“ (Kehoe: ISO 9000-3, 1995, S. 11).

  • 31

    DAAD project „Joint Course on Software Engineering“ © 31

    Software engineering is not a special field of computer science

    What it is not

    compiler construction

    computer communication

    database

    artificial intelligence

    .

    .

    .

    software engineering

    Ludewig, SEUH 97, p. 11 f.

    software-engineering

    compiler con

    struction

    comp

    uter c

    ommu

    nicati

    on

    data

    base

    artif

    icia

    l int

    ellig

    ence

    ..

    .

    What it really is

  • 32

    DAAD project „Joint Course on Software Engineering“ © 32

    1. What is Software Engineering ?

    a) Areas of software engineering (i.e., what belongs to it) b) The importance of software engineering

    in practice - problems of software development c) On the size of softwared) History of software engineeringe) Several definitions of software engineeringf) Problems of introducing software engineering in education g) Differences between software development

    in educational environment and in practice h) Goals of this course i) Literature, articles, papers, ...

  • 33

    DAAD project „Joint Course on Software Engineering“ © 33

    Student software development

    „Normal“ student view of software life cycle

    Modesitt, LNCS 750, p 42

    Read theproblem

    (day 1)

    Code

    (day 1 ... n - 2)

    Debug

    (day n - 1)

    Document

    (day n - ε)

    Hand in

    (day n)

  • 34

    DAAD project „Joint Course on Software Engineering“ © 34

    Distribution of project activities as a function of project size

    0%10%20%30%40%50%60%70%80%90%

    100%

    1024

    051

    2025

    6012

    80 640

    320

    160 80 40 20 10

    project size (function points)

    coding

    defect removal

    paperwork

    management andsupport

    Yourdon, 1993, p. 151

  • 35

    DAAD project „Joint Course on Software Engineering“ © 35

    1. What is Software Engineering ?

    a) Areas of software engineering (i.e., what belongs to it) b) The importance of software engineering

    in practice - problems of software development c) On the size of softwared) History of software engineeringe) Several definitions of software engineeringf) Problems of introducing software engineering in education g) Differences between software development

    in educational environment and in practice h) Goals of this course i) Literature, articles, papers, ...

  • 36

    DAAD project „Joint Course on Software Engineering“ © 36

    Software development in practicereal customerbefore programming: negotiations with customers to clarify requirements often changes of wishes of the customers misunderstandingscomplex task - complex program error-prone software high-pressure deadlinesteam workbig volume of documents:see next slideprogramming only 20 % of all activities of a project long-run usage (10 ... 25 years) modifications of software after delivery (new wishes, new hardware ...)

  • 37

    DAAD project „Joint Course on Software Engineering“ © 37

    Software documents(Sommerville, Software Engineering, 5th ed., p. 17)

    Final system plus documentationAcceptance testingSystem test reportSystem testing

    Integration test reportFinal user manual

    Integration testingModule test reportModule testingUnit test reportUnit testingProgram codeCoding

    Design specificationUnit test plan

    Detailed design

    Interface specificationIntegration test plan

    Interface design

    Architectural specificationSystem test plan

    Architectural design

    Functional specificationAcceptance test planDraft user manual

    System specificationRequirements documentRequirements definition

    Feasibility studyOutline requirements

    Requirements analysisOutput documentsActivity

  • 38

    DAAD project „Joint Course on Software Engineering“ © 38

    Software documents(IEEE standards)

    Software Validation and Verification Plan (SVVP) Software Quality Assurance Plan (SQAP) Software Configuration Management Plan (SCMP) Software Project Management Plan (SPMP)

    Software Requirements Specification (SRS) (customer oriented and developer oriented) Software Design Document (SDD) (architecture and detailed design) Source code Software Test Documentation (STD) User's manual

  • 39

    DAAD project „Joint Course on Software Engineering“ © 39

    1. What is Software Engineering ?

    a) Areas of software engineering (i.e., what belongs to it) b) The importance of software engineering

    in practice - problems of software development c) On the size of softwared) History of software engineeringe) Several definitions of software engineeringf) Problems of introducing software engineering in education g) Differences between software development

    in educational environment and in practice h) Goals of this course i) Literature, articles, papers, ...

  • 40

    DAAD project „Joint Course on Software Engineering“ © 40

    Goals of this course(...and what we do not offer)

    1. Introduction to SE 2. Overview of SE

    notions, methods, tools 3. Interrelations between subareas (help for orientation) 4. Illustrating examples: continuous case study5. To go into depth: assignments6. Awareness of problems of SE7. Current problems of SE

    (metrics, reverse engineering, CMM, cleanroom SE, extreme programming ...)

    8. Experience with SW-tools

    We do not offer: large project, customer,negotiation, change of wishes, high-pressure deadlines ...

  • 41

    DAAD project „Joint Course on Software Engineering“ © 41

    Software engineering in special coursesPart I: Introduction to SEPart II: Requirements engineering11. Basic concepts of state-oriented

    view12. Basic concepts of scenario-based

    view13. Object-oriented analysis14. Formal specification and program

    verificationPart III: Design17. Object-oriented designPart IV: Implementation and testing19. Systematic testingPart VI: Advanced problems21. Software metrics23. Reverse engineering24. Quality of software development

    process and its standardization

    24. Software ergonomics25. Project management

    Requirements Engineering (SEI, Pittsburgh, USA)Petri nets (Reisig, HU)

    Formal methods of SWdevelopment (SEI, Pittsburgh, USA)

    Object oriented SW development(with UML) (Fischer, HU; DMI - NS)

    Software architecture (SEI)Software test methods (Spillner, Bremen)CAME-Tools (Dumke, Magdeburg)Software reengineering (Koschke, Stuttgart)PSP (SEI)CMM (SEI)Software ergonomics (Wandtke, Inst. of psychology, HU)Project Management (SEI, Pittsburgh, USA; DMI, Novi Sad, SCG)

  • 42

    DAAD project „Joint Course on Software Engineering“ © 42

    1. What is Software Engineering ?

    a) Areas of software engineering (i.e., what belongs to it) b) The importance of software engineering

    in practice - problems of software development c) On the size of softwared) History of software engineeringe) Several definitions of software engineeringf) Problems of introducing software engineering in education g) Differences between software development

    in educational environment and in practice h) Goals of this course i) Literature, articles, papers, ...

  • 43

    DAAD project „Joint Course on Software Engineering“ © 43

    Literature (1)Textbooks: • I. Sommerville: Software Engineering (742 pages),

    6. ed. Addison-Wesley, 2001• H. Balzert: Lehrbuch der Software-Technik,

    Spektrum-Verlag, Vol. 1: 1996, Vol. 2: 1998 (769 pages),Vol. 1 (2nd ed.): 2001 (1136 pages)

    • B.-U. Pagel, H.-W. Six: Software Engineering.Addison-Wesley (895 pages), 1994 (in German)

    • E. Braude: Software Engineering, An Object-Oriented Perspective, Wiley & Sons, 2001

    • R. Pressman: Software Engineering, A Practitioner‘s Approach, European Adaptation (840 pages), McGraw-Hill, 5th ed., 2000

    • J. Marciniak: Encyclopedia of Software Engineering, Vol. 1, 2 (1453 pages), Wiley & Sons, 1994

    • IEEE Standards Collection, Software Engineering, 1994 Edition

  • 44

    DAAD project „Joint Course on Software Engineering“ © 44

    Parts of this presentation use material from the textbook Helmut Balzert, Software Technik(Vol. 1), 2nd edition, Spektrum Akademischer Verlag, Heidelberg 2001.

    In particular, topics 4 to 13 and 15 to 18 are concerned.

  • 45

    DAAD project „Joint Course on Software Engineering“ © 45

    Literature (2)

    Journals:• IEEE Transactions on Software Engineering• IEEE Software• ACM Software Engineering Notes• ACM Transactions on Software Engineering and Methodology

    Conferences: • International Conference on Software Engineering• Conference on Software Engineering Education• Software Metrics Symposium • and many others

  • 46

    DAAD project „Joint Course on Software Engineering“ © 46

    most importantinternational conference

  • 47

    DAAD project „Joint Course on Software Engineering“ © 47

  • 48

    DAAD project „Joint Course on Software Engineering“ © 48

  • 49

    DAAD project „Joint Course on Software Engineering“ © 49

  • 50

    DAAD project „Joint Course on Software Engineering“ © 50

  • 51

    DAAD project „Joint Course on Software Engineering“ © 51

  • 52

    DAAD project „Joint Course on Software Engineering“ © 52

    SEI: Software Engineering Institute(Homepage: http://www.sei.cmu.edu)

    About the SEI - Welcome

    The Software Engineering Institute (SEI) is a federally funded research and development center sponsored by the U.S. Department of Defensethrough the Office of the Under Secretary of Defense for Acquisition, Technology, and Logistics [OUSD (AT&L)]. The SEI contract was competitively awarded to Carnegie Mellon University in December 1984. The SEI staff has extensive technical and managerial experience from government, industry, and academia.

    Mission

    The U.S. Department of Defense established the Software Engineering Institute to advance the practice of software engineering because quality software that is produced on schedule and within budget is a critical component of U.S. defense systems.[...]

  • 53

    DAAD project „Joint Course on Software Engineering“ © 53

    SEI: Software Engineering InstituteDetail: Management Practices

  • 54

    DAAD project „Joint Course on Software Engineering“ © 54

    ESI: European Software Institute(Homepage: http://www.esi.es)

  • 55

    DAAD project „Joint Course on Software Engineering“ © 55

    Joint MSc studies in SE - perun.im.ns.ac.yu/msc-se/


Recommended