Software Engineering 1 Some Definitions Lesson 2.

26
ftware Engineering 1 Software Software Engineering Engineering Some Definitions Lesson 2

Transcript of Software Engineering 1 Some Definitions Lesson 2.

Software Engineering 1

Software Software EngineeringEngineering

Some DefinitionsLesson 2

Software Engineering 2

Some Definitions

Definition of Software:(from the IEEE Glossary of Software Engineering)

software is a set of items or objects that form a “System” that includes programs, functions, rules, documents and data.

Notice:Software is also documents!!!

4.000/5.000 pages only for Analysis

Software Engineering 3

Some Definitions

Definition of Software Engineering:

Software engineering is an engineering discipline which is concerned with all aspects of software production (development, maintainess, replacement …)

Notice:Software Engineering is also

replacing of software!!!

Software Engineering 4

Some Definitions

Definition of Software Engineering:

Software engineers should adopt a systematic and organised approach to their work and use appropriate tools and techniques depending on the problem to be solved, the development constraints and the resources available coherently with the estimated time and costsNotice:

We have to find a precise cost for each Software Development Process

Software Engineering 5

Software EngineeringSoftware Engineering

Software Engineering’s dimensionsLesson 2

Software Engineering 6

Sw Engineering’s dimensions

1. Technological Dimension:

Languages, networks, architectures, …

This is trivial for you!!! But it isn’t enough…

Software Engineering 7

Sw Engineering’s dimensions

2. Economic Dimension:

• make or buy?

• software costs more to maintain than it does to develop

Software Engineering 8

Sw Engineering’s dimensions

Approaches to developing software depend on the application

Example:MS Windows is enough to write a document MS Windows isn’t recommended to control a plane

Software Engineering 9

Sw Engineering’s dimensions

Costs of software are higher than hardware cost

Relation between Software

and Hardware cost

Software Engineering 10

Sw Engineering’s dimensions

Measure of costs:linesday

How many lines does a programmer write in a day?

10 lines!!!

In the remaining time he makes Software Engineering!!!

Software Engineering 11

Sw Engineering’s dimensions

3. Social Dimension:

Trouble issues:

• Introduce new software

• Substitute software

• Digital Divide

•Open Source

Software Engineering 12

Software EngineeringSoftware Engineering

Basic ConceptsLesson 2

Software Engineering 13

Basic Concepts

Process Product

Set of activities whose goal is the developmentor evolution of software

(Software Life Cycle)

Software

Software Engineering 14

Basic Concepts

This course is about the Process!!!

Notice:

Cost of production of software is zero.

Costs are considered only for their conception (for process).

Software Engineering 15

Software EngineeringSoftware Engineering

Process and Product QualitiesLesson 2

Software Engineering 16

Software isn’t only the code but also documentation, comments, reports of the test analysis, …

every derivable of each phase of

Software Development Process

Process and Product Qualities

Software Engineering 17

Tons of problems during Software Development Process:

- during Requirements Analysis

- during Software Implementation

- during Maintenance

Process and Product Qualities

Software Engineering 18

Complexity of some kind of problems

during Software Development Process:

• Technological problems

• Economical problems

• Social problems

Process and Product Qualities

Software Engineering 19

For any kind of software we could have many products and many Software Development Processes.

Products are classified through their quality

Processes are different sequences of the same set of phases

Process and Product Qualities

Software Engineering 20

Process and Product Qualities

External Qualities

(Black Box)

What are the users’ needs(Users can see it)

Example: low diesel oil consumption

Software Engineering 21

Process and Product Qualities

Internal Qualities

(White Box)

Structural Properties(Users cannot see it)

Example: high thermal insulation

Software Engineering 22

Process and Product Qualities

External Qualities

(Black Box)

Requested from users

Example: high portability

Software Engineering 23

Process and Product Qualities

Internal Qualities

(White Box)

Requested from developers

Example: software in Java

Software Engineering 24

Process and Product Qualities

About 50% of the Process fails because they don't meetthe needs of users and developers

Software Engineering 25

Software EngineeringSoftware Engineering

Software QualitiesLesson 2

Software Engineering 26

Software Qualities

• Correct• Dependable• Robustness• Secure & Safe• Usable• Portable

• Maintainable• Reusable• Modular• Understandable• Interoperable