0% found this document useful (0 votes)
2 views

W1-Lecture 1&2 - Introduction

The CSC291 course on Software Engineering Concepts covers various software process models, requirement engineering, software design, quality engineering, project management, and maintenance. Key textbooks include 'Software Engineering: A Practitioner’s Approach' by Roger S. Pressman and 'Software Engineering' by Ian Sommerville. The course emphasizes the importance of attendance, assessments, and adherence to rules for successful completion.

Uploaded by

mwaqarwin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

W1-Lecture 1&2 - Introduction

The CSC291 course on Software Engineering Concepts covers various software process models, requirement engineering, software design, quality engineering, project management, and maintenance. Key textbooks include 'Software Engineering: A Practitioner’s Approach' by Roger S. Pressman and 'Software Engineering' by Ian Sommerville. The course emphasizes the importance of attendance, assessments, and adherence to rules for successful completion.

Uploaded by

mwaqarwin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

CSC291 - Software Engineering Concepts

Lecture 1

Introduction
2/18/2025 CSC291 - Software Engineering Concepts 2

Course Objectives

• This course introduces the different software process


models by illustrating its phases and principles of software
engineering.
• Topics include:
• Overview of Software Engineering;
• Software Process Models;
• Requirement Engineering Concepts;
• Software Design;
• Design Modeling;
• Software Quality Engineering;
• Software Project Management;
• Software Maintenance and Software Evolution.
2/18/2025 CSC291 - Software Engineering Concepts 3

Text Books

• Software Engineering: A Practitioner’s Approach


by Roger S. Pressman (Latest Edition)

• Software Engineering by Ian Sommerville (Latest


Edition)
2/18/2025 CSC291 - Software Engineering Concepts 4

Course Website

• Visit the following link:


https://sites.google.com/cuilahore.edu.pk/sec/home
❑Course Handbook
❑Deadlines & Important Information
❑Course Material (Lecture Notes and reference material)
❑Assignments
2/18/2025 CSC291 - Software Engineering Concepts 5

Course Assessment/Grading
Quizzes (Min 4) → 15 %
Assignments (Min 4) → 10%
Mid Exam → 25%
Final EXAMS → 50%
Important Guidelines:
• No credit for copied or late submissions or handwritten
Assignments.
• No relaxation for students found cheating in any quiz or
exam.
• At least 80% attendance is mandatory.
• To get good grade you must attend all lectures and perform
good in all course assessments.
2/18/2025 CSC291 - Software Engineering Concepts 6

Rules
• Mobile phones – Silent or switch off
• Arrive on time in class
• If you do not understand a point, raise your hand
and ask me to explain or contact during office
hours
• No disturbance!!!! No Misconduct!!!!
• REMEMBER: Your first priority must be your
studies
2/18/2025 CSC291 - Software Engineering Concepts 7

What is Software?

• Software is a set of items or objects that form a


“configuration” that includes
➢programs
➢documents
➢data ...
2/18/2025 CSC291 - Software Engineering Concepts 8

What is Software?
We can define it as:
• Program (Computer Programs) that when executed
provide
• Desired features
• Functions and
• Performance.
• The data on which the program operates is also
considered as a part of the software.
• Documents that describe the use of the Programs.
2/18/2025 CSC291 - Software Engineering Concepts 9

What is Software?
• Software is engineered

• Software doesn’t wear out

• Software is complex
2/18/2025 CSC291 - Software Engineering Concepts 10

Role of Software
A person might be involved with software more than 100 times, often
without even realizing that.

We might use a computer


• To check email or weather
• Kitchen appliances
• Traffic signals are now computer controlled
• Mostly we use credit cards in a computerized gasoline pumps.
• Our bank system is highly computerized
• Use of telephones, fax, e-mail or internet, all of these requires Software
• Hotel arrangements will be handled by computers and software
• Airplane & Air traffic control is highly computerized
• Medical Instruments and diagnostic procedures are now computerized
2/18/2025 CSC291 - Software Engineering Concepts 11

What is the difference between Software


and hardware?
2/18/2025 CSC291 - Software Engineering Concepts 12

Attributes of Good Software


• Should deliver the required functionality and performance to
the user.
• It is reliable
• It has good user-interface
• Should be maintainable and reusable
2/18/2025 CSC291 - Software Engineering Concepts 13

Categories of Computer Software

• System Software
• Application Software
• Engineering/Scientific Software
• Embedded Software
• Web Applications
• Computer Programming tools
• Artificial Intelligence Software
2/18/2025 CSC291 - Software Engineering Concepts 14

Software--- New Categories


• Ubiquitous computing—wireless networks
• Net sourcing—the Web as a computing engine
• Open source—”free” source code open to the computing
community (a blessing, but also a potential curse!)
• Also … (see Chapter 32)
• Data mining
• Grid computing
• Cognitive machines
• Software for nanotechnologies
2/18/2025 CSC291 - Software Engineering Concepts 15

Software Products
Generic products
• Stand-alone systems that are marketed and sold to any
customer who wishes to buy them.
• Examples – PC software such as editing, graphics
programs, project management tools, databases and
drawing packages.

Customized products
• Software that is commissioned by a specific customer to
meet their own needs.
• Examples–systems written to support a particular business
process and air traffic control software.
2/18/2025 CSC291 - Software Engineering Concepts 16

Software Crises

• In the early 60s, software suffered from a problem, which we


call the Software Crisis

• The techniques that were used to develop small software were


not applicable for large software systems.

• In most of the cases the software that was built using the old
tools and techniques was not complete.
2/18/2025 CSC291 - Software Engineering Concepts 17

Software Crises
• Most of the time it was delivered too late.
• Most of the projects were over-budgeted.
• And, in most of the cases, systems built using these techniques
were not reliable.
• A conference was held in 1960 in which the term
“software crisis” was introduced
Conclusion:
• Software engineering is the result of the software crisis when
people realized that it was not possible to construct complex
software using the techniques applicable in 1960s.
• An important result of this was that people realized that just
coding was not enough; we also need to apply engineering
principles.
2/18/2025 CSC291 - Software Engineering Concepts 18

What is Engineering?

• The process of productive use of scientific knowledge is


called Engineering.

• The process of utilizing knowledge and principles to


design, build, and analyze objects.
2/18/2025 CSC291 - Software Engineering Concepts 19

Software Engineering

The science concerned with putting computer science


knowledge to practical use.
2/18/2025 CSC291 - Software Engineering Concepts 20

Software Engineering - IEEE

The application of a systematic, disciplined, quantifiable


approach to the development, operation, and
maintenance of software; that is, the application of
engineering to software.
2/18/2025 CSC291 - Software Engineering Concepts 21

Computer Science vs. Software Engineering

Computer science focuses on theory and fundamentals;


software engineering is concerned with the practicalities of
developing and delivering useful software.

System engineering vs. Software Engineering


System engineering is concerned with all aspects of
computer-based systems development including hardware,
software and process engineering. Software engineering is
part of this.
2/18/2025 CSC291 - Software Engineering Concepts 22

Legacy Software
• Why must it change?
• software must be adapted to meet the needs of new
computing environments or technology.
• software must be enhanced to implement new
business requirements.
• software must be extended to make it interoperable
with other more modern systems or databases.
• software must be re-architected to make it viable
within a network environment.
2/18/2025 CSC291 - Software Engineering Concepts 23

Software Costs

• Software costs often dominate computer system costs. The


costs of software on a PC are often greater than the hardware
cost.

• 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 engineering is concerned with cost-effective software


development.
2/18/2025 CSC291 - Software Engineering Concepts 24

What are the costs of software engineering?

• Roughly 60% of costs are development costs, 40% are testing


costs. For custom software, evolution costs often exceed
development costs.

• Costs vary depending on the type of system being developed


and the requirements of system attributes such as performance
and system reliability.

• Distribution of costs depends on the development model that is


used.
2/18/2025 CSC291 - Software Engineering Concepts 25

Projects
• Library Management System
• Automated banking system
• Airline reservation system
• Employee management application
• Hospital management Application
• Hotel Management System
• Campus Management System
• Store Management System (Any kind of your choice)
• School Management System
• Any Other of your choice
2/18/2025 CSC291 - Software Engineering Concepts 26

Conclusion
➢We have discussed Rules and regulations of this course

➢Course handbook

➢Basic concepts of Software Engineering

➢Software and products


2/18/2025 CSC291 - Software Engineering Concepts 27

Reading Assignment
Chapter 1: Software and Software Engineering
by “Software Engineering- A Practitioner's Approach”
(Book and Lecture Slides are already uploaded on
resource link.)

Resource Link:
https://sites.google.com/cuilahore.edu.pk/sec

You might also like