software engineering 1 some definitions lesson 2
TRANSCRIPT
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 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