Vous êtes sur la page 1sur 18

COURSE INSTRUCTOR: MAHAM SAEED

EMAIL: maham.saeed@uog.edu.pk

Department of Software Engineering ,University of


Gujrat

Software
Engineering- I

Software Engineering
Course overview

Grading Policies

A quick view of marks division

Recommended Reference Books

Introduction to Software Engineering Lecture 1

Department of Software Engineering ,University of


Gujrat

Course Overview
Course Code: ----------

Course Title: Software Engineering

Credit Hours: 3

Lecture Duration: 1.5 hours

Pre-requisite: Programming Fundamentals/OOP

Department of Software Engineering ,University of


Gujrat

Course Objectives
Importance and need of software engineering

To discuss software development models appropriate for the


development and maintenance of software products

To introduce basic project management concepts

To impart comprehensive knowledge regarding software


development lifecycle

To demonstrate, with justification, an appropriate set of tools to


support the development of a range of software projects

Department of Software Engineering ,University of


Gujrat

Course Material
Course Book

Roger Pressman, Software Engineering, 7th Edition,

Mcgraw Hill.

Department of Software Engineering ,University of


Gujrat

Course Outline
Motivate the need for software engineering

Software vocabulary

Software Process Models

Project Management Concepts

Software metrics

Project scheduling

Requirements engineering

Enterprise architecture

Component level design

Software Testing

Department of Software Engineering ,University of


Gujrat

Division of Marks
Assignments --------------------------------------10%

Presentations -------------------------------------10%

Quiz or Test -----------------------------------------5%

Mid Term Exams ----------------------------------25%

Final Exams ----------------------------------------50%

Department of Software Engineering ,University of


Gujrat

LECTURE NO.1

Department of Software Engineering ,University of


Gujrat

Software Engineering

What is Software?

problem.

OR

The product that software professionals build and then support


over the long term.

Department of Software Engineering ,University of


Gujrat

A set of instructions to solve any kind of computational

What is Software?

(1) instructions (computer programs) that when executed provide


desired features, function, and performance;

(2) data structures that


enable the programs to organize,
adequately store and manipulate information

(3) documentation that describes the operation and use of the


programs.

Department of Software Engineering ,University of


Gujrat

Software encompasses:

Software 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; 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.

Department of Software Engineering ,University of


Gujrat

Generic products

Why Software is Important?


The economies of ALL developed nations are dependent on
software.

More and more systems are software controlled (


transportation, medical, telecommunications, military, industrial,
entertainment,)

Software engineering is concerned with theories, methods and


tools for professional software development.

Department of Software Engineering ,University of


Gujrat

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.

Department of Software Engineering ,University of


Gujrat

Features of Software?
Software is developed or engineered, it is not manufactured in
the classical sense which has quality problem.

Software doesn't "wear out. but it declines (due to change).


Hardware has bathtub curve of failure rate.

Although the industry is moving towards component-based


construction hence most software continues to be custom-built.

Modern reusable components encapsulate data and


processing into software parts to be reused by different
programs. E.g. graphical user interface, window, pull-down
menus in library etc.

Department of Software Engineering ,University of


Gujrat

Software Applications
System software: such as compilers, editors, file management
utilities Application software: stand-alone programs for specific
needs.

Engineering/scientific software: Characterized by number


crunching "algorithms. such as automotive stress analysis,
molecular biology, orbital dynamics etc

Embedded software resides within a product or system. (key pad


control of a microwave oven, digital function of dashboard display
in a car)

Department of Software Engineering ,University of


Gujrat

Software Applications
Product-line software focus on a limited marketplace to address
mass consumer market. (word processing, graphics, database
management)

WebApps (Web applications) network centric software. As web


2.0 emerges, more sophisticated computing environments is
supported integrated with remote database and business
applications.

AI software uses non-numerical algorithm to solve complex


problem.

Robotics, expert system, pattern recognition game playing

Department of Software Engineering ,University of


Gujrat

Legacy Software

Developed decades ago and have been


continually modified to meet changes
Issues

Non existent documentation


Inextensible code
Test cases (A test case, in
software engineering, is a set of conditions or
variables under which a tester will determine
whether an application, software system or
one of its features is working as it was
originally established for it to do)and results
missing
Poorly managed changed history

17

SoftwareNew Categories
How to architect simple and sophisticated applications to target end users
worldwide.

Open sourcefree source code open to the computing community; a


blessing, but also a potential curse!

New horizon has the stars:

Data mining

Machine Learning

Artificial Intelligence

Web Semantics

Distributed Computing

Cognitive machines

Software for nanotechnologies

Department of Software Engineering ,University of


Gujrat