Professional Documents
Culture Documents
2022
۱
SOFTWARE INDUSTRY
۱۲
SW CRISIS
۱۳
SOFTWARE ENGINEERING
۱٥
THE CRAFT OF SOFTWARE DEVELOPMENT
• Client
• The client is the person for whom the software
development team creates the software.
• The client provides resources and expects some
product in return.
• The client is often a member of the organization that is
providing the money.
• The client's job success may depend on the success
of the software project.
• Client satisfaction is a primary measurement of
success in a software project.
۱۷
WHO IS THE CLIENT?
• Customer
• The customer is the person who buys the software or selects it
for use by an organization.
• User
• A user is a person who actually uses the software.
• • With personal software, the user may be the same person as
the customer.
• • In organizations, the customers and the users are usually
different.
• The Tanta Finance Office uses Microsoft Excel. Who is the
customer? Who are the users?
۱۹
WHAT IS GOOD SOFTWARE?
• General characteristics
• Functionality
• Usability
• Maintainability
• Dependability
• Efficiency
• Good software products require good programming,
but ...
• Programming quality is the means to the end, not the
end itself.
۲۰
SOFTWARE IS EXPENSIVE
• Competing goals
• Every software project has a trade-off between
functionality, cost, and time.
• Extra functionality adds extra costs for
development, testing, maintenance, etc.
• What is important to the person who is
paying?
۲۲
RISK
1- Heterogeneity:
• Some of the software systems are allocated on
networks as distributed system which will be used
by different types of users working on different
types of computers and operating systems.
• This is called heterogeneity of users. This kind of
problem must be solved by developing new
techniques for building software that can deal with
this heterogeneity without causing problems.
۲٥
CHALLENGES FACING SOFTWARE ENGINEERING
2- Delivery:
• As you will see, the development of software system
contains many steps that consume time.
• Due to the rapid change of business and users
needs from the software, the steps of developing the
software must be shorten to cope with this change.
• This should not be done on the account of the
software quality.
۲٦
CHALLENGES FACING SOFTWARE ENGINEERING
3- Trust:
• Software application are penetrating in all our daily live
starting from the bank software, the mall software, the
university software and even the e-mail software.
• If the user does not trust these softwares to do their work
efficiently, then they will be of no use to him.
• Thus, we need to develop techniques to ensure the
correctness, integrity, completeness, confidentially ….
etc. of these softwares in order to fulfill the user’s trust.
• Software developers and systems administrators may
have access to highly confidential information (e.g.,
trade secrets, personal data).
۲۷