• Keine Ergebnisse gefunden

Slides of the lecture (preliminary version)

N/A
N/A
Protected

Academic year: 2022

Aktie "Slides of the lecture (preliminary version)"

Copied!
11
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Slides of the lecture (preliminary version)

Software Engineering

SS 2013

Prof. Dr. F. Belli Universität Paderborn

Angewandte Datentechnik (ADT)

http://adt.uni-paderborn.de

(2)

Short Overview for the Lecture

Goal: Introduction of principles, methods, and tools to design, validation and

evaluation of high-quality, dependable software, including their environments.

Prerequisite: Profound knowledge in at least one programming language, e.g., C/C++/Java

Part 1 – Theory:

1. Introduction

2. The process of software development

3. Formal and semi-formal development methods 4. Non-formal development methods

5. Quality, reliability and validation 6. Introduction/short repetition of Java 7. Unified Modeling Language – UML Part 2 – Lab Course Project

(3)

Overview of the Chapters

Goal: Introduction of principles, methods, and tools to design, validation and evaluation of high-quality, dependable software, including their environments.

Overvew of the Content:

1. Introduction

1.1 The Software Phenomenon 1.2 The Nature of Software

1.3 Handling of Complex Systems 1.4 Configuration Management

(4)

1.5 Conceptual Clarification

1.6 Objectives, Phases and Activities of Software Engineering 1.7 Principles, Methods and Aids

1.8 Structuring and Restructuring over an Example of Linearization of Non- Linear Programs

2. Software Development Process

2.1 Project, Process and Process Models

2.2 Requirement Definition, Design and Specification 2.3 Software Aids

2.4 The Most Important Means of Representation of Development and Quality Assurance

(5)

3. Formal and Semi-Formal Development Methods

3.1 Finite Automata and Regular Expressions 3.1.1 Finite Automata

3.1.2 Regular Expressions

3.1.3 Basic Regular Expressions and Corresponding Program Constructs

3.1.4 Examples of Regular Expressions and the Corresponding Finite Automata 3.2 Decision Tables (DT)

3.3 General Net Theory (Petri Nets) 3.3.1 Introductory Example for Petri Nets 3.3.2 Interpretation of the Nets

3.3.3 Critical Properties of Nets 3.3.4 Example

(6)

3.3.5 Five Philosphers Problem

3.3.6 Predicate / Transition nets (PrT) 3.3.7 Three Rabbits Problem

3.4 Parnas Specification Schema of Interfaces 3.4.1 Automata Theoretic Interpretation

3.4.2 Example: Stack with Integers

3.4.3 Remarks on Parnas Specification Schema 3.5 Module and Modularization

3.6 Jackson Design Methodology (JDM) 3.6.1 Example: Adress File

3.6.2 Error Handling

3.6.3 Structural Elements of JDM 3.6.4 Remarks on JDM

3.7 Other Formal Methods

(7)

4. Non-Formal Development Methods

4.1 Hierarchy Plus Input Process Output (HIPO) 4.1.1 Example: Payroll Accounting

4.1.2 Comments on HIPO

4.2 Structured Analysis (SA)

4.2.1 Rules for Creating Data Flow Diagrams 4.2.2 Example

4.2.3 Comments on SA

4.3 Structured Analysis and Design Technique (SADT) 4.3.1 Example: Payroll Accounting

4.3.2 Comments on SADT

4.4 Composite Design/Structured Design (CD/SD) 4.4.1 Example

4.4.2 Generalization

4.4.3 Inter-Modular Relationships

(8)

5. Quality, Dependability and Validation

5.1 Layered Consideration of Errors

5.2 Quality Requirements / Development Activities 5.3 Dependability

5.4 Software Testing 5.4.1 C-Test

5.4.2 Representation of Michael Jackson Specification using Regular Expressions 5.4.3 Data Flow-Oriented Testing

5.5 Strength of the Test Criteria 5.6 Testing Aids

5.7 Non-Formal Testing Methods for Software 5.8 Test Termination

5.9 Reliability - Prediction / Estimation of the Fault Potential 5.10 Instead of Concluding Remarks

(9)

6. Introduction to Java

6.1 Conceps of Object-Orientation

6.2 Origins of the Programming Language Java 6.3 Charakteristic Properties of Java

6.4 Java Virtual Machine 6.5 Example Program

6.5.1 Example: Simple Output (Following C Convention of D.M. Ritchie)

7. Unified Modeling Language – UML

7.1 Overview of UML

7.2 Conceptual Model of UML 7.3 UML Diagrams

(10)

Overview of the Discussed Methods/Aids

Use Stage

Analysis, Design Specification, Test Coding,

Detailed Design Analysis, Design Specification, Test Analysis, Design Specification, Coding, Test Design, Coding Design

Analysis, Design (limited)

Analysis, Design Analysis (limited), Design

Finite Automata Reg. Expressions Decision

Tables Petri-Nets Parnas Spec.

Schema JDM HIPO Diagrams SA

SADT SD/CD

Type/Components

Transition Graphs/Tables, Aid, Method

Aid, Method Aid, Method Aid, Method

Method Tree Diagram, Schematic Logic

Aid, VTOC, IPO Diagram (hierarchic)

Method/Aid: Data Flow Diagram, Data Dictionary, Mini Specification

Actigram/Diagram, Node Index, Rules

Method Data Flow

Diagram, Structure Charts, Rules

Remarks

Graphic/Algebraic

Stronger Relation to Software Engineering

Graphic, Algebraization, Verification/Simulation Tabel, Algebraization, Algorithmitization Historically developed Visual

(Describing)

Method Character (Untold)

Dual Consideration (Data/Control Flow)

Stronger Relation to Software Engineering

0.) 1.) 2.) 3.)

4.) 5.) 6.)

7.) 8.)

(11)

It has been said that if cars had developed at the same pace that computers have, today a Ferrari would cost $ 5.50, drive five million kilometers on one liter of petrol, and park comfortably on the head of a pin. And, jokingly, it was also said that a 500- page instruction manual would be required to explain to its owner how to open the door.

J. C. Nader

Referenzen

ÄHNLICHE DOKUMENTE

State Machine Diagram Sequence Diagram Activity Diagram Requirement Diagram *. * Not

 “Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality models”.  Quality model

Quality is the collection of its characteristic properties Quality model: decomposes the high-level definition by associating attributes (also called characteristics, factors,

02: Legal Requirements: Norms and Standards 03: The Software Development Process 04: Hazard Analysis.. 05: High-Level Design with SysML 06: Formal Modelling with SysML 07:

Quality is the collection of its characteristic properties Quality model: decomposes the high-level definition by associating attributes (also called characteristics, factors,

Introduction: This study translated and validated the Urdu version of the European Organization for Research and Treatment of Cancer Quality of Life (QoL) Questionnaire

In the following section, we integrate the viewpoints and views defined in the scope of the automotive ADLs and automotive architecture frameworks and propose a conceptual model of

The calculations afford values of particular heat fluxes (absorbed solar radiation, convection, evaporation, respiration, long-wave radiation) as well as some