In English: Latest Trends in Software Engineering (Yazılım Mühendisliğinde Son Trendler)

Post on 18-Jul-2015

231 views 1 download

Transcript of In English: Latest Trends in Software Engineering (Yazılım Mühendisliğinde Son Trendler)

1Vahid Garousi

Latest Trends in Software Engineering

Yazılım Mühendisliğinde Son Trendler

Technology Seminars

Teknoloji Seminerleri

Mart 20, 2015

Doç. Dr. Vahid GAROUSI

Yazılım Mühendisliği Grubu

Bilgisayar Mühendisliği Bölümü

vahid.garousi@hacettepe.edu.tr

web.cs.hacettepe.edu.tr/~vahid

vgarousi

2Vahid Garousi

About the Speaker

Cultural and ethnic background:

Azerbaijani (from Iran), Canadian citizen, now living in Turkey

Education: PhD (Carleton University, Canada), 2006

MSc (University of Waterloo, Canada), 2003

BSc (Sharif University of Technology, Tehran, Iran), 2000

Work Experience:

Hacettepe University, Ankara, Türkiye, since Feb. 2015

Atılım University, Ankara, Türkiye, 2014

Middle East Technical University, Ankara, Türkiye, 2013

University of Calgary, Canada, 2006-2013

Research Expertise:

Software Engineering

Software Testing and Quality Assurance (QA)

Software Requirements and Software Maintenance

“Action research”, i.e., industry-academia collaborations

3Vahid Garousi

Outline- Latest trends in Software Engineering

What is Software Engineering?

History of Software Engineering

Latest trends in Software Engineering

Software Engineering in Turkey

Our Software Engineering group in HÜ BMB

4Vahid Garousi

Outline- Latest trends in Software Engineering

What is Software Engineering?

A look at modern software systems

What is Software Engineering?

Software Engineering versus Computer Engineering/Science

History of Software Engineering

Latest trends in Software Engineering

Software Engineering in Turkey

Our Software Engineering group in HÜ BMB

5Vahid Garousi

Software systems are all around us

Almost any modern device has software in it!

Cars, planes, ships, …

Phones, buildings, cities

Any disciplines makes heavy use of software!

Engineers (mechanical, electrical, civil)

Medical doctors

A hardware is essentially useless without a useful software on it

6Vahid Garousi

Huge “size” of software systems

Source: Wikipedia

7Vahid Garousi

What is Software Engineering?

www.youtube.com/watch?v=dXnmOksKs0I

8Vahid Garousi

What is Software Engineering?

Software

Software Engineering

Developers / programmers

Software Engineers

End user Is the art and science of building high-quality

software, across ALL phases

Program

Can play the role of / manage projects

Interact

Will use

ONLY

+ management

Provide the knowledge for

Provide the knowledge for

Programming

Domain expert

Various roles

Software requirements engineer

Software designer/architect

Software test engineer

Software maintenance engineer

Software project manager

...

9Vahid Garousi

What is Software Engineering?

Yes, Software Engineering is an “Engineering” discipline!

Software engineering is NOT (just) programming

But, of course, to be a good software engineer, one should be good at programming

Software engineering is the study and application of engineering to the design, development, testing, and maintenance of software systems

In software engineering, we deal with issues such as:

How can we develop a software in shortest time, lowest cost and with highest quality?

How can we test a software in shortest time, lowest cost and with highest quality?

When we have a large team of programmers, how can we assign the best people to development and testing tasks? E.g., Mozilla Firefox team has 3,254 contributors as of March 2015. [https://www.openhub.net/p/firefox]

How can we ensure we have inquired the software requirements from the client in the most efficient and effective way?

10Vahid Garousi

Software Engineering versus Computer Engineering

Software Engineering is an “Engineering” discipline

11Vahid Garousi

Outline- Latest trends in Software Engineering

What is Software Engineering?

History of Software Engineering

Latest trends in Software Engineering

Software Engineering in Turkey

Our Software Engineering group in HÜ BMB

12Vahid Garousi

The term “Software Engineering”

Margaret Hamilton, a NASA engineer, coined the term “software engineering” in 1960’s, standing with the “code” (on punch cards) she developed for the Apollo 11.

13Vahid Garousi

History of…

North Atlantic Treaty Organization (NATO)

14Vahid Garousi

NATO conference

on SE

15Vahid Garousi

Outline- Latest trends in Software Engineering

What is Software Engineering?

History of Software Engineering

Latest trends in Software Engineering

Software Engineering in Turkey

Our Software Engineering group in HÜ BMB

16Vahid Garousi

Latest trends in Software Engineering

Large-scale code management

www.openhub.net/p/firefox

17Vahid Garousi

Latest trends in Software Engineering

Large-scale code management www.ndepend.com

18Vahid Garousi

Latest trends in Software Engineering

Automated testing

Test otomasyonu (özdevinimli test)

Developing or using a software to test our software in an automated manner. Will save time and reduce testing costs ($)

19Vahid Garousi

Latest trends in Software Engineering

Automated testing

Test otomasyonu (özdevinimli test)https://www.atlassian.com/software/clover/overview

20Vahid Garousi

Latest trends in Software

Engineering

Agile methods

Çevik yöntemler

21Vahid Garousi

Latest trends in Software Engineering

Automated code generation: Using higher-level models specifying the software that we want

22Vahid Garousi

Latest trends in Software Engineering

Exciting careers, all over the world!

https://www.youtube.com/watch?v=2AnVUaiEnZk

23Vahid Garousi

Outline- Latest trends in Software Engineering

What is Software Engineering?

History of Software Engineering

Latest trends in Software Engineering

Software Engineering in Turkey

Profession and careers

University programs

Conferences and events

Our Software Engineering group in HÜ BMB

24Vahid Garousi

The Software Engineering profession in Turkey

https://www.youtube.com/watch?v=L-j-U1c8plo

25Vahid Garousi

Software Engineering University programs in Turkey

University programs:

In public universities, there are no stand-alone software engineering programs, but offered via the computer engineering/science programs.

In more than 17 private (özel) universities, there are stand-alone software engineering programs

We see more and more courses, dedicated to software engineering in computer engineering programs

MSc and PhD studies are offered in software engineering

26Vahid Garousi

Comparison of SE and CE/CS programs

Difference in a few courses

Reminder:

In CE/CS undergraduate programs, students take only one SE course (such as: BBM 382-Yazılım Mühendisliği)

But in SE undergraduate programs, students take several courses, each specific to a SE life-cycle phase

In our department, we offer these courses as technical electives, or graduate courses

27Vahid Garousi

Software Engineering-related Conferences in Turkey

www.uyms.org.tr

(the speaker is a member of the organization committee)

www.uymk.org.tr

www.ankaratestgunleri.com

(the speaker is a member of the organization committee)

www.testistanbul.org

And many more…

28Vahid Garousi

Outline- Latest trends in Software Engineering

What is Software Engineering?

History of Software Engineering

Latest trends in Software Engineering

Software Engineering in Turkey

Our Software Engineering group in HÜ BMB

29Vahid Garousi

Our Software Engineering group in HÜ BMB

Several faculty members

Mainly three academics:

Research areas:

Software testing

Model-based improvement of software processes

Software quality

Software maintenance

Software measurement

Process management

Software engineering standards

30Vahid Garousi

Latest trends in Software Engineering

What is Software Engineering?

History of Software Engineering

Latest trends in Software Engineering

Software Engineering in Turkey

Our Software Engineering group in HÜ BMB

End of the presentation

Q/A

31Vahid Garousi

BACK UP

32Vahid Garousi

Latest trends in Software Engineering

33Vahid Garousi

The Software Engineering profession in Turkey

https://www.youtube.com/watch?v=L-j-U1c8plo

34Vahid Garousi

Latest trends in Software Engineering

Fault localization

35Vahid Garousi

Latest trends in Software Engineering

Software visualization

36Vahid Garousi

37Vahid Garousi

38Vahid Garousi

39Vahid Garousi

40Vahid Garousi

41Vahid Garousi

42Vahid Garousi

43Vahid Garousi

44Vahid Garousi

45Vahid Garousi