Software Engineering: FALL Semester 2020: LECTURE 1 Introduction To Terms in Software Engineering
Software Engineering: FALL Semester 2020: LECTURE 1 Introduction To Terms in Software Engineering
Cheating is not only unethical; it is also against the University rules and will
not be tolerated. Any form of cheating in programming assignments,
homework problems, quizzes, and exams will result in strict action.
Plagiarism detection tools will be used to determine who has cheated in
programming assignments.
All the parties involved will be awarded Zero in first instance. Repeat of
the same offense will result in (F) grade.
USE PROPER REFERENCING IF ANY MATERIAL TAKEN FROM
ANYWHERE
NO REFERENCE MEANS DECEPTION
COURSE WORK
A representation of an algorithm?
SOFTWARE
What is a Software?
Operating System?
Microsoft Office?
Photoshop?
DIFFERENCE BETWEEN APPLICATION AND
SOFTWARE
System Software-
The programs and other operating information used by a computer. Software can be made
up of more than one program. All-encompassing term that is often used in contrast to
hardware (the tangible parts of a computer)
Application Sofware-
A program or group of programs that is designed for the end user. Application software (an
application) is a set of computer programs designed to permit the user to perform a group
of coordinated functions, tasks, or activities. Application software cannot run on itself but is
dependent on system software to execute.
APPLICATION TYPES
Stand-alone applications
These are application systems that run on a local computer, such as a PC. They
include all necessary functionality and do not need to be connected to a network.
Interactive transaction-based applications
Applications that execute on a remote computer and are accessed by users from
their own PCs or terminals. These include web applications such as e-commerce
applications.
Embedded control systems
These are software control systems that control and manage hardware devices.
Numerically, there are probably more embedded systems than any other type of
system.
CONTD…
Generic products
Stand-alone systems that are marketed and sold to any customer who wishes to
buy them.
Examples – PC software such as graphics programs, project management tools;
CAD software; software for specific markets such as appointments systems for
dentists.
Customized products
Software that is commissioned by a specific customer to meet their own needs.
Examples – embedded control systems, air traffic control software, traffic
monitoring systems.
SOFTWARE PROJECT FAILURE (WHY SE IS NEEDED)
Computers everywhere
Toaster, Microwave, Temperature control of A/C, Router, Surgical Equipment…
Computers need to be managed
Software runs on all computers
Make lives comfortable, efficient, effective…
- in a well-defined process
(e.g. using organizational standards for interprocess communication, data formats,
error handling etc.)
Tools
Methods
Process
A quality Focus
CONTD…
Solving Problems
Computers
Computing
How is a problem solved normally?
Solving Problems
Analysis
SOLVING PROBLEMS (CONTINUED)
Synthesis
WHY DO WE NEED TO STUDY SE?
Good software engineering must always include a strategy for producing quality
software
Product Quality?
Multiple facets… (Availability, reliability, scalability…. )
WHAT IS A GOOD SOFTWARE PRODUCT?