Sie sind auf Seite 1von 19

Software Quality Engineering

Lecture 5

Dr. Waqar Mehmood


Computer Science Dept
CUI Wah
Today’s Lecture…

 Software
 Software Engineering
 Software Engineer
 Software Process Model
 Software Cost
 Software Quality

2
Software Engineer
 A software engineer is a person who applies
the principles of software engineering to the
design, development, maintenance, testing,
and evaluation of the software that make
computers or other devices
containing software work.
Software Engineer
 Software Engineer Responsibilities

 Technical responsibilities
 Non-technical/ethical responsibilities
Technical Responsibilities

 Software engineers should adopt


◦ a systematic and organized approach to their work
◦ use appropriate tools and techniques depending on the
problem to be solved, and

 Consider the development constraints and the


resources available.

5
Technical Responsibilities

 Engineers need to produce products that customers


actually want and are willing to pay real money for
◦ Generalized product
◦ Customized product
 Consider listening to the customer as of prime
importance.
◦ Layman customer consideration

6
Ethical Responsibilities

 In some instances, our programs have safety


critical implications, where people might die if a
program has errors.
 In other cases, whole businesses could be at risk if
a program is not correct.
 Engineers must always consider their responsibility
and obligation to their customer
◦ Confidentiality
◦ Resource misuse
◦ Competence

7
Ethical Responsibilities
 Confidentiality
 Engineers should normally respect the confidentiality of their employers
or clients irrespective of whether or not a formal confidentiality
agreement has been signed.
 Resource misuse
◦ Software engineers should not use their technical skills to misuse other
people’s machine. Computer misuse ranges from relatively trivial (game
playing on an employer’s machine, say) to extremely serious
(dissemination of viruses).
 Competence
◦ Engineers should not misrepresent their level of competence. They should
not knowingly accept work which is beyond their competence.
Civil Engineers Life
Software Engineer Life
Today’s Lecture…

 Software
 Software Engineering
 Software Engineer Responsibilities
 Software Process Model
 Software Cost
 Software Quality

11
Software Process Model

 The “systematic, disciplined, quantifiable approach”


is often termed as software process model (SPM) or
a software development process
 SPM consist of a particular set of software
development practices which are often performed
by the software engineer in a predetermined order
 The primary purpose of SPM is to determine
◦ the order of stages involved in software development and
◦ to establish the transition criteria for progressing from one stage
to the next.

12
Software Development Practices (SDPs)

 Requirements engineering
 System analysis
 High-level design/architecture
 Low-level design
 Coding
 Integration
 Design and code reviews
 Testing
 Maintenance
 Configuration management
 Project management

13
Today’s Lecture…

 Software
 Software Engineering
 Software Engineer Role
 Software Process Model
 Software Cost
 Software Quality

14
Product development costs

0 25 50 75 100

Specification Development System testing


Software costs
 Roughly 40% of costs are development costs, 60% are
testing and maintenance costs.
 Software costs more to maintain than it does to develop.
◦ For systems with a long life, maintenance costs may be
several times development costs.
 Software costs often dominate computer system costs.
◦ The costs of software on a PC are always greater than
the hardware cost.

16
Cost of bugs

b
Cost

b
b

Analyze – Design - Implementation - Testing


Sum up…
 Software systems are complex systems
 Software engineering aims to deal the complexity of software
systems
 The role of software engineer has many facets
 There are many software practices to follow in software
process model
 Three main factors to consider while developing software
systems
◦ Cost
◦ Time and
◦ Quality
Coming up..
1. Software Quality Different Perspectives
2. CASE Tools
3. Reviews
4. Analysis and Design Modeling
5. Testing
6. Configuration Management
7. Etc…

Das könnte Ihnen auch gefallen