Lecture 1
Lecture 1
Engineering: Lecture 1
Michael SB
Software
▪ What is Software?
▪ Software is computer programs and associated documentation.
▪ Computer Programs:
▪ a program is a specific set of ordered operations for a computer to perform
Properties of Software
▪ Essential Properties: properties that make software different from other engineering
artifacts.
▪ Complexity
▪ Invisibility
▪ Changeability
▪ Conformity
Software artifacts
▪ Here are some software artifacts:
▪ Source-code
▪ Logs
▪ Documentations
▪ Team communications
▪ Issue and bug reports
▪ Commit messages and release notes
▪ License and copyright information
▪ End-user agreements
Software Product Characteristics
▪ Maintainability: Software should be written in such a way so that it can evolve to meet
the changing needs of customers.
▪ Dependability and security: Software dependability includes a range of characteristics
including reliability, security, and safety.
▪ Efficiency: Software should not make wasteful use of system resources such as
memory and processor cycles.
▪ Acceptability: it must be understandable, usable, and compatible with other systems
that they use.
Software Engineering
▪ Software engineering is an engineering discipline that is concerned with all aspects of
software production from the early stages of system specification through to
maintaining the system after it has gone into use.
▪ Software engineering is the establishment and use of sound engineering principles in
order to obtain economically software that is reliable and works efficiently on real
machines.
▪ Software Engineering: The application of a systematic, disciplined, quantifiable
approach to the development, operation, and maintenance of software; that is, the
application of engineering to software. (IEEE)
Software Engineering
▪ “Engineering is the analysis, design, construction, verification, and management of technical (or
social) entities”
3. Satisfying a customer
4. Managing risk
TIME RESOURCES