Principal of S.E Lec 2
Principal of S.E Lec 2
Principal of S.E Lec 2
• Software
• Types of Software
• Engineering
• Software crisis
2
OUTCOMES
At the end of this lecture, students will be able to;
• Software
• Types of Software
• Engineering
• Software Engineering/Computer Science/System Engineering
• Professional & Ethical responsibilities of Software Engineer
• Software crisis
• Attributes of quality software
3
Program
1. Programs:
• code
2. Data:
• the data on which the program operates
3. Documents:
• All documentation associated with the program and its use
Software
• They have:
❑ Multiple users.
❑ Proper user interface.
❑ Requirement specification document.
❑ Design document
Software
• So Software does not simply mean the computer programs associated with some
application or product.
• ‘Software’ includes the documentation necessary to install, use, develop and maintain
these programs.
Popular Social Media Software
Popular Search Engine Software
Popular e-commerce Software
Popular OS Software
Popular Phones software
Software Categories
1. Generic Products:
• it is sold on the open market to any customer who can buy it.
• The developing organization controls the software specification. For example: MS
Office
2. Customized/Be-spoken Products:
• System Software
• Application Software
• Embedded Software
• Real-time Software
• Business Software
• Personal computer Software
System Software
• System software is computer software designed to operate the computer hardware and
to provide a platform for running application software, OR
• Any program that controls the computer’s hardware is called System Software.
• Languages software:
• The Software through which we create further Software (programs) is called Language
Software. For Example C/C++, Visual Basic.net (VB.net), Java and c#.net etc.
Application Software
• Application Software:
• software that allows users to do things like create text documents, play games, listen to sounds, or surf the
web is called application software. OR, The Software which is used to perform a specific task for the user
is called Application Software.
✓ Packaged Software:
• A Software which is not developed by order and any user or Organization can use it is called Packaged
Software. For Example Ms Office, In page, Corel Draw etc.
✓ Customized S/W
• The Software which is developed by order for a specific user or Organization is called Customized
Software. Its success depends on meeting the requirement needs of clients. Examples: web sites , air
traffic control system, software for managing the finance of a large organization etc.
Embedded Software
• These are used to run specific hardware devices such as washing machine, microwave
oven and automobiles.
• Though its sold on the open market.
• Its users usually can’t upgrade or replace it without also replacing the hardware.
Real- time Software
• Business software is defined as any software program that is a crucial tool used by a
business to increase or measure productivity.
• Business software programs can be utilized by small, medium and large enterprises.e.g.
payroll, accounts receivable/payable.
Personal Computer Software
• The personal computer software market has grown over the past three decades.
• computer graphics, multimedia, entertainment, database management, personal and
business financial applications and database access are only a few of hundreds of
applications.
Engineering
• What is engineering:
• Software engineering:
• Software engineering is the combination of all the tools, techniques, and processes
that used in software production.
• Software engineering is not just concerned with the technical processes of software
development but also with activities such as software project management and with
the development of tools, methods and theories to support software production”.
CS/SWE/SE
• Computer Science:
• Computing Information Science or Computer Science is the study of the theoretical
foundation of information, computation and their implementation in computer systems.
• Professional ethics are code of conduct that govern how members of profession deal
with each other and with third parties
• Software engineers must behave in an honest and ethically responsible way if they are
to be respected as professionals.
Professional & Ethical responsibilities of Software Engineer
• Confidentiality:
• Engineers should normally respect the confidentiality of their employers or clients
irrespective of whether or not a formal confidentiality agreement has been signed.
• Competence
• Engineers should not misrepresent their level of competence. They should not
knowingly accept work which is outside their competence.
• Intellectual property right
• You should be careful to ensure the intellectual property of your employers and clients
• Computer Misuse
• You should not use your technical skills to misuse other people’s computer. Misuse
ranges from game playing on employers computer, and the dissemination of viruses
Attributes of Good Software
• The software should deliver the required functionality and performance to the user and
should be maintainable, dependable and acceptable.
• Maintainability
• Software must evolve to meet changing needs;
• Dependability
• Software must be trustworthy;
• Efficiency
• Software should not make wasteful use of system resources;
• Acceptability
• Software must have accepted by the users for which it was designed. This means it must
be understandable, and usable
Software Crisis
• Computer systems were very new in early fifties and the use of software was also very
limited at that time.
• In 1960s a great amount of rapid improvement was made in Hardware.
• More powerful hardware resulted into the development of more powerful and complex
software.
• Those very complex software was very difficult to write.
• So the tools and techniques that were used for less complex software became
inapplicable for the more complex software
Software Crisis
• In most of the cases that software which was tried to be build using those old tools and
techniques were not complete.
• Most of the times it was delivered too late.
• Most of the projects were over-budgeted.
• And in most of the case systems build using these techniques were not reliable –
meaning that they were not be able to do what they were expected to do.
Software Crisis
• As a result of these problems a conference was held in 1969 in which the term software
crisis was introduced.
• And the term of Software Engineering was also coined in the same conference
• Software engineering is the result of software crisis when people realized that it is not
possible to construct complex software using the techniques applicable in 1950s.
• An important result of this thing was that people had realized that just coding is not
enough
Thank You…!