Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University...

42
Page 1, 06/16/22 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering [email protected] http:// www.idt.mdh.se/~icc
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    218
  • download

    1

Transcript of Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University...

Page 1: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 1, 04/18/23Software engineering and Scientific Methods

Ivica Crnkovic

Mälardalen University

Department of Computer Science and Engineering

[email protected]

http://www.idt.mdh.se/~icc

Page 2: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 2, 04/18/23Software engineering and Scientific Methods

ContentsContents

What is Software Engineering?

Software Engineering and Science

Methods of Software Engineering

Software Engineering Research

Page 3: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 3, 04/18/23Software engineering and Scientific Methods

What is Software Engineering?What is Software Engineering?

Software engineering is an engineering discipline which is

concerned with all aspects of software production from the

early stages of system specification through to maintaining

the system after gone into use.

Ian Sommerville, Software Engineering

We need further explanation of:

Engineering discipline

All aspects of software production

Page 4: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 4, 04/18/23Software engineering and Scientific Methods

EngineeringEngineeringEngineers make the things work

Solving problems

understand the problem

analyze the problem

Find solutions

Constructing the solution from parts that address the problem's various aspects - do a synthesis

To achieve the goal engineers

apply theories, methods and tools from different disciplines

Search for solutions even when there is not theory or methods

Page 5: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 22, 04/18/23Software engineering and Scientific Methods

All aspects of Software DevelopmentAll aspects of Software Development

Aspects

Technical (how technically solve the problem)

Organizational (how to organize people)

Financial

Market

Professional and ethical responsibility

Research and Science

Page 6: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 23, 04/18/23Software engineering and Scientific Methods

SOFTWARE ENGINEERING

COMPUTER SCIENCE CUSTOMER

Theories

Principles, Methods and Tools to Solve

Problem andConstruct sSolutions

ProblemComputer Functions

Computer Science Vs. Software EngineeringComputer Science Vs. Software Engineering

SolutionSoftware EngineeringSoftware EngineeringResearch & ScienceResearch & Science

OTHER SCIENCES

Page 7: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 25, 04/18/23Software engineering and Scientific Methods

Methods and Technologies Methods and Technologies

Requirements Analysis Design Implementation Delivery MaintenanceTest

Software/Systems Engineering Methods

Different Technologies

Service

Solution

Phases

Page 8: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 26, 04/18/23Software engineering and Scientific Methods

Software Engineering Methods - ExamplesSoftware Engineering Methods - Examples

Project Management

Software Development Models and Processes support

Analyse/design methods (UML, OOP, Formal methods, ...)

Programming Methods /Languages

Configuration Management

Component-based Software Engineering (CBSE)

Customer support, Maintenance

Test and Verification

Architectural analysis (tradeoff analysis, quality, attributes…)

Requirements Engineering

Requirements Analysis Design Implementation Delivery MaintenanceTest Service

Page 9: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 27, 04/18/23Software engineering and Scientific Methods

SE disciplines - examplesSE disciplines - examples Project management

Development processes

Requirements engineering

Reverse engineering

Test and Verification

Software Maintenance

Software Architecture

Object-oriented modelling

Software analysis

Formal specification

Software reliability

Real-time

Tools and environments

Software Configuration Management

Software engineering and the Internet

Component-based SE

Software Metrics

Education

Software Economics

......

Page 10: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 28, 04/18/23Software engineering and Scientific Methods

What is then Software Engineering Research?What is then Software Engineering Research?

Analyzing natures of problems and their solutions

Finding more general principles that SE can use

Developing methods and tools

Implementing principles on new problem domains

……

Page 11: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 29, 04/18/23Software engineering and Scientific Methods

Software Engineering ResearchSoftware Engineering Research

Research lifecycle

Different methods used SE

Exemplified by Software Architecture

Presentation based on Mary Show’s presentation

http://www-2.cs.cmu.edu/~Compose/paper_abstracts/etaps-2002.html

Page 12: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 30, 04/18/23Software engineering and Scientific Methods

Research Model – different phases in research life cycleResearch Model – different phases in research life cycle

Page 13: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 31, 04/18/23Software engineering and Scientific Methods

Example: Software ArchitectureExample: Software Architecture

The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components and the relationships among them

    L. Bass, P. Clements, R. Kazman, Software Architecture In Practise, Addison Wesley, 1998

Page 14: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 32, 04/18/23Software engineering and Scientific Methods

Software architecture – system decompositionSoftware architecture – system decomposition

SystemSystem

subsystemsubsystem SubsystemSubsystem

componentcomponent componentcomponent componentcomponent

Page 15: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 33, 04/18/23Software engineering and Scientific Methods

Recurring structures that occur in software systems

AS = {Component types,Connector types,Constraints}

Next step - Architectural StyleNext step - Architectural Style

Component and Connector Types

Layered Abstract MachinesBuss

Shared Repository

Component and Connector Types

Pipe and Filter

Page 16: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 34, 04/18/23Software engineering and Scientific Methods

Next step: Aspects of Software ArchitectureNext step: Aspects of Software Architecture

Connector

RolePort

Attachment

(sub)System

Arch Component

Representation

Elements and Form

Rationale Describes how the architecture satisfies system requirements for both

functional and extra-functional properties.

Page 17: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 35, 04/18/23Software engineering and Scientific Methods

<<subsystem>>ComAIComA

Next step: FormalizationNext step: Formalization

<<subsystem>>ComBIComB

<<subsystem>>ComCIComA

ConceptualArchitecture

Example - UMLExample - UML

Page 18: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 37, 04/18/23Software engineering and Scientific Methods

Page 19: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 38, 04/18/23Software engineering and Scientific Methods

Page 20: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 40, 04/18/23Software engineering and Scientific Methods

REAL WORLDREAL WORLDPractical problemPractical problem

REAL WORLDREAL WORLDPractical SolutionPractical Solution?

The basic characteristic of SEThe basic characteristic of SE

Page 21: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 41, 04/18/23Software engineering and Scientific Methods

Page 22: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 42, 04/18/23Software engineering and Scientific Methods

Page 23: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 43, 04/18/23Software engineering and Scientific Methods

Page 24: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 44, 04/18/23Software engineering and Scientific Methods

Page 25: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 45, 04/18/23Software engineering and Scientific Methods

Page 26: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 46, 04/18/23Software engineering and Scientific Methods

Nasreddin story and Software EngineeringNasreddin story and Software Engineering

Story about a lost ringStory about a lost ring

Page 27: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 47, 04/18/23Software engineering and Scientific Methods

Page 28: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 48, 04/18/23Software engineering and Scientific Methods

SE Research processSE Research process

Research Questions

Research Results

Result Validation

Page 29: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 50, 04/18/23Software engineering and Scientific Methods

Page 30: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 52, 04/18/23Software engineering and Scientific Methods

Page 31: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 53, 04/18/23Software engineering and Scientific Methods

Research Questions

Page 32: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 54, 04/18/23Software engineering and Scientific Methods

Page 33: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 55, 04/18/23Software engineering and Scientific Methods

Page 34: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 56, 04/18/23Software engineering and Scientific Methods

Page 35: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 57, 04/18/23Software engineering and Scientific Methods

Page 36: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 58, 04/18/23Software engineering and Scientific Methods

Page 37: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 61, 04/18/23Software engineering and Scientific Methods

Page 38: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 62, 04/18/23Software engineering and Scientific Methods

Method/meansMethod/means SystemSystem EvaluationEvaluation

Page 39: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 63, 04/18/23Software engineering and Scientific Methods

PersuasionPersuasion

TechniqueTechnique

Method/meansMethod/means

Page 40: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 64, 04/18/23Software engineering and Scientific Methods

Page 41: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 65, 04/18/23Software engineering and Scientific Methods

Page 42: Page 1, 6/22/2015 Software engineering and Scientific Methods Ivica Crnkovic Mälardalen University Department of Computer Science and Engineering ivica.crnkovic@mdh.se.

Page 67, 04/18/23Software engineering and Scientific Methods

SummarySummary

Software Engineering is oriented on practical things from the real word

Understanding problems, providing solutions

SE uses methods and tools for solving the problems from different disciplines

SE research

Understanding principles

Defining principle for solving the problems Developing tools and methods