SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
INTRODUCTION
TO SOFTWARE
ENGINEERING
ABSTRACT
This file contains the lectures of the subject
“Introduction to Software Engineering” delivered
to BSCS 3rd
Aqeel Rafique
Software Engineering
Software:
Software is the set of executable instructions that are written to achieve some desired
output, the data structure that enables the instructions to properly perform some action and the
documentation which explain about all aspect of software.
Documentation:
Documentation involves the following.
I. Technical manual
II. User manual
Technical manual:
It is writer for technical people. It contains all the technical information related to the
software.
User manual:
It is written for the users. It contains the information related to software functionality and
benefits.
Characteristics of software:
I. Software is not manufactures because it is a logical stuff, we must use develop or engineer
like word.
II. Software does not wear out/ expired.
III. The main characteristics of a software is reusability.
Note:
There are two approaches to analyze, design or program something.
I. Structure
II. Object oriented
Feature of software:
I. User friendly
II. Reliable
III. Accurate
IV. Reusability
V. Secure
VI. Efficient
Software myths:
The misconception and erroneous beliefs about the software are called software myths.
I. Management myths
II. Customer myths
III. Practitioner’s myths
Software process model:
The steps that are followed to develop a software are called software process model.
Waterfall process model/classical life cycle/sequential process model:
Waterfall process model
System engineering:
System engineering is a document the contains information about
I. Software
II. Hardware
III. Human
These information are either relevant or may be irrelevant.
The process of obtaining relevant information from the system engineering is called analysis.
Modelling the analyzed information is called designing. Designing is performed to better understand
the analyzed information. Coding is the process of converting the model into a programming language.
Implementation is the collection of codes that are developed by different people. Maintenance is the
modification in the software without changing the basic structure.
Advantages:
I. Simple and easy to use.
II. Each phase has specific deliverable.
III. Less time consuming in general.
IV. Best for short time projects (1-6 month)
Disadvantages:
I. Time consuming of problem occur.
II. Doesn’t reflect iterative nature if exploratory development.
III. Unrealistic to expect accurate requirements so early in project.
IV. Difficult to integrate risk management.
V. Difficult and expensive to make changes to document.
VI. Costly for small teams and projects.
4 P’s of software development:
I. People
II. Process
III. Project
IV. Product
These are the four key elements in software engineering. Almost every topic on the field of
software engineering can be categories into one of them. So none of the 4 P’s may be omitted in
software engineering. The 4 P’s concept is an important approach as it give a large platform and a
comprehensive learning for software engineering students. The early build-up of basic concept of the
4 P’s and their relationship allow student to easily map each activity in the project to the related
concept and actively participate in those activities. A common concern is how the project can be
finished and how the required principle of software engineering and the knowledge can be learned at
the sometime. The major P is product as all other three Ps is learned through various activities in
developing the product.
Prototype process model:
Prototype Process model
Advantages:
I. The user can suggest changes and modifications when prototype is shown to him.
II. Best for non-IT literate people.
III. The client can judge the capabilities of developer.
IV. It reduce the risk of failure, as potential risk can be identified early and mitigation steps can
be taken.
V. Iteration between development team and client provides a very good and conductive
environment during project.
Disadvantages:
I. Prototype is done at the cost of developer.
II. Sometimes the prototype model is of no use after showing to the client.
III. It is a slow process.
IV. Too much involvement of client is not always preferred by the developer.
V. Too many changes can be disturb the rhythm of the development team.
Spiral process model:
Advantages:
I. High amount if risk analysis.
II. Good for large and mission critical projects.
III. Software is produced early in the software life cycle.
Disadvantages:
I. It can be a costly model to use.
II. Risk analysis required highly specific expertise.
III. Projects success is highly dependent on the risk analysis phase.
IV. Doesn’t work well for smaller projects.
Spiral process model
Risk analysis (types of risks):
I. Technical risk
II. Business risk
III. Customer risk
Risk management:
I. Identify the risk
II. Avoid the risk
III. If not avoided then try to minimize its effect.
Win-Win spiral model:
The win-win spiral model uses the theory (win-win) approach to coverage on a system’s next-
level objectives, constraints and alternatives. This theory approach involve identifying the system’s
stakeholders and their win conditions and using negotiation process to determine a mutually
satisfactory set of objectives, constraints and alternatives for the stakeholders.
It has the following steps:
I. Determine objectives
II. Determine constraints
III. Identify and evaluate alternatives
IV. Cycle though the spiral
Advantages:
I. The customer and the developer both are in winning condition.
II. It provides a satisfactory environment to the customer.
III. The win-win result is achieved in initial steps.
Disadvantages:
The RAD Model:
Rapid Application Development (RAD) is an incremental software development process model
that emphasizes an extremely short development cycle. The RAD model is a high speed adaption of
the linear sequential model in which rapid development is achieved by using component-based
construction. The tasks of the project are assigned to different teams in this way the development is
done rapidly.
RAD
Advantages:
I. It is extremely short development cycle.
II. Automated tools are used in the development.
III. The project can be completed in 60-90 days.
IV. There is more creativity is present in this model as different teams have different experts.
Disadvantages:
I. More resources are required.
II. It requires committed developer teams to achieve the goal within time.
III. RAD is not appropriate when technical risks are high.
IV. A large budget is required.
4th
Generation Techniques:
The team 4th
generation techniques (4GT) encompasses a broad array of software tools that
have one thing in common, each enable a software engineering to specify some characteristics of the
software at a high level. The tool then automatically generates sources code based on the developer’s
specification.
It focuses on the ability to specify software using specialized form or graphics notation that
describes the problem to be solved in term that the customer can understand. The drag and drop
policy is used.
Front page is an example of this types of tool.
Advantages:
I. It is time saving.
II. There is no need of coding like procedural languages.
III. It is a rapid approach.
IV. It is more efficient for small projects.
Disadvantages:
I. It is costly.
II. It is a bit difficult.
III. It requires more software development activities.
IV. Without designing it will cause the same problem as encountered by conventional
approaches.
Project management:
Project management is a layer starts before the technical things has started and ends after
the technical things ended.
Timeline
Factor that involved in project management:
I. Scope of the project.
II. The risk to be incurred.
III. Task to be accomplished.
IV. The required resources.
V. Milestone to be tracked. (Time management i.e. timeline)
VI. Cost to be expended (money management)
VII. The schedule to be followed.
VIII. Realistic breakdown of tasks. (It means divide the whole team into parts and assign the tasks
and then combine them).
IX. Objective information
Software engineering definitions
Definition 1:
Software engineering is multi-person development of multi-version software. Multi-person
mean the whole project team.
Definition 2:
It is a sequence of different activities like any other engineering process in which we have
technical and managerial skills involved at the same time.
Definition 3:
The establishment & use of sound engineering principles to obtain economical software that
is reliable.
Software Risks:
Risk always involve two characteristics.
I. Uncertainty
II. Loss
Uncertainty:
It means that risks may or may not happen. There is no 100 % probable risks.
Loss:
If the risks becomes a reality then unwanted losses will occur.
Types of risks:
I. Technical risk
II. Business risk
III. Customer’s risk
Technical risk:
Technical risk threaten the quality and timeliness of the software to be produced. If a
technical risk becomes a reality, then implementation may become difficult of impossible. Technical
risk identify potential design and implementation, interface, verification and maintenance problems.
Technical risk occur because the problem is harder to solve than we thought it would be.
Business risk:
Business risks threaten the capability/feasibility of the software to be built. These risks are
often dangers for project or product.
Business risk are as follows:
I. Market risk
II. Strategic risk
III. Managerial risk
IV. Budget risk
Customer’s risk:
Customer’s risk is also a factor that can become an issue for the project manager, sometimes
customer refuse to pay the already settled amount to follow the timeline and discuss the things with
customer and take payment time to time and more than the work done. Legal agreement must be
there to avoid any type of risk like this one.
Resources:
It is a software planning task for estimation of the resources required to accomplish the
software development effort. The hardware and software resources sits the foundation of the
development efforts. At a higher level, we encounter reusable software components, software
building blocks that can dramatically reduce development costs and accelerate delivery. People are
the primary resources.
Resources are of two types:
I. Human resources
II. Software resources
III. Hardware resources
Human resources:
The planner begins by evaluating scope and selecting the skills required to complete
development. For small projects (one person – one year or less) a single individual may performed all
software engineering tasks, consulting with specialists as required. The number of people required
for a software project can be determined only after an estimate of development effort is made.
Software resources:
The existing software and software building blocks that are reused in the development are
called components.
These are four in numbers:
I. Off the shelf components
II. Full experience components
III. Partial experience components
IV. New components
Hardware resources:
Hardware provide a platform that supports the tools required in development. When a
computer based system is to be engineered, the software team may require access to hardware
elements being developed by other engineering teams. Each hardware element must be specified by
the software project planner.
Umbrella activities:
These are project management activities. These activities start as the project starts and end
with the project end.
Umbrella Activities
The umbrella activities are as follows:
I. Project tracking
II. FTR (Formal Technical Review)
III. Risk management
IV. Quality assurance
V. Documentation
Project tracking:
In this stage the following activities are done
I. First of all the schedule is tracked.
II. Then the weightage of work is checked either the goal is completed or not.
III. Project details are discussed i.e.: members, communication infrastructure and cost
establishment.
IV. Task level details are defined such as: manager and members, assigning roles,
identifying task resources, identifying task deliverables, task progress and task level
costing.
V. Generating reports about: project progress, task progress. Schedule if slipping and
about the schedule delay impacts.
FTR (Formal Technical Review):
It is a technical meeting of all managers and project members. In this the following things
are done.
I. Conflicting issues are discussed.
II. Faults are identified
III. Solutions are proposed.
IV. Plan is modified.
Quality assurance:
At this stage the following steps are taken
I. Correctness
II. Completeness
III. Flexibility
IV. Maintainability
V. Testing
Documentation:
At each and every step the answer of these questions must be documented
I. What is to be done?
II. What has been done?
III. How has been done?
IV. What problems were faced?
Risk management:
At this stage do the following
I. Identify the risk
II. Avoid the risk
III. If not then minimize the effects.
Requirement analysis process:
Requirement Analysis Cycle
Requirement engineering:
Categories of requirements:
I. Functional requirements
II. Non-functional requirements
III. Interface requirements
Functional requirement:
Functional requirement are the primary and main requirements that a system must provide.
These are the basic services for which the system is being developed.
Non-functional requirement:
These are other than actual requirement. These are for making the system more efficient
and to build up the customer’s trust on the expertness of engineer. These requirement are
I. Reliability
II. Efficiency
III. Portability
IV. Privacy
V. Ethical
VI. Safety
VII. Standards
VIII. Delivery
Interface requirement:
These are the requirements related to the outlook of the system. Sometimes these are also
provided by customer but in most case these are the domain knowledge base requirements of the
engineer. These are as follows
I. Color scheme
II. Buttons
III. Tools used
IV. Banners
V. Foreground color
VI. Background color
VII. Animations
Hardware engineering:
The selection of some combinations of hardware components to manufacture a new
hardware is known as hardware engineering.
Selection characteristics:
I. Components packed as an individual building block.
II. Interface amongst themselves is standardized (standardized means acceptable for all).
III. Off the shelf alternatives (available anywhere)
IV. Cost
V. Performance
VI. Reliability
Phases of hardware engineering:
There are three phases of hardware engineering
I. Planning and specification
II. Design and prototype implementation (bread board design)
III. Manufacturing, distribution and field services.
Human engineering:
It is a multi-disciplinary activity that applies knowledge derived from psychology and
technology to specify and design high quality HCL (Human Computer interface)
Characteristics that affect human engineering.
I. Human memory and knowledge representation:
i. Short term memory
ii. Long term memory
II. Visual perceptions:
Every user like different types of interface. It should be developed by considering
each user.
III. Human dialog construction:
The statements related to dialog boxes that appear on the screen. It should be
standardized mean it should easily understand by all users.
System engineering:
System engineering focuses on a verity of elements, then analyzing, designing and organizing
these elements into a system that can be a product, services or a technology for the transformation
of information or control.
System engineering diagram
Analysis modelling:
It uses a combination of text and diagrammatic forms to depict requirement for data,
functions and behavior in a way that is relatively easy to understand and more importantly straight
forward to review for correctness, completeness and consistency.
Analysis Modeling
ERD is related to data
DFD is related to function
STD is related to control or behavior.
STD:
For state
For method, data flow
For loop
State: state is any observable mode of behavior.

Más contenido relacionado

La actualidad más candente

Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software designTech_MX
 
Software Engineering - Lecture 02
Software Engineering - Lecture 02Software Engineering - Lecture 02
Software Engineering - Lecture 02Asifuzzaman Hridoy
 
Software Project Management - NESDEV
Software Project Management - NESDEVSoftware Project Management - NESDEV
Software Project Management - NESDEVKrit Kamtuo
 
Software Engineering- Engineering Practice
Software Engineering- Engineering PracticeSoftware Engineering- Engineering Practice
Software Engineering- Engineering PracticeTrinity Dwarka
 
Lect3 conventional vs modern spm
Lect3 conventional vs modern spmLect3 conventional vs modern spm
Lect3 conventional vs modern spmmeena466141
 
What Is the Rational Unified Process
What Is the Rational Unified ProcessWhat Is the Rational Unified Process
What Is the Rational Unified ProcessRobson Silva Espig
 
Process model in SE
Process model in SEProcess model in SE
Process model in SEsuranisaunak
 
Lecture 02 Software Process Model
Lecture 02 Software Process ModelLecture 02 Software Process Model
Lecture 02 Software Process ModelAchmad Solichin
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGProf Ansari
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLESIvano Malavolta
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software managementmeena466141
 
Process and Project Metrics-1
Process and Project Metrics-1Process and Project Metrics-1
Process and Project Metrics-1Saqib Raza
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Drusilla918
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering noteNeelamani Samal
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineeringHitesh Mohapatra
 

La actualidad más candente (20)

Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software design
 
Software Engineering - Lecture 02
Software Engineering - Lecture 02Software Engineering - Lecture 02
Software Engineering - Lecture 02
 
Software Project Management - NESDEV
Software Project Management - NESDEVSoftware Project Management - NESDEV
Software Project Management - NESDEV
 
Software Engineering- Engineering Practice
Software Engineering- Engineering PracticeSoftware Engineering- Engineering Practice
Software Engineering- Engineering Practice
 
Lect3 conventional vs modern spm
Lect3 conventional vs modern spmLect3 conventional vs modern spm
Lect3 conventional vs modern spm
 
What Is the Rational Unified Process
What Is the Rational Unified ProcessWhat Is the Rational Unified Process
What Is the Rational Unified Process
 
7 5-94-101
7 5-94-1017 5-94-101
7 5-94-101
 
Software Engineering by Pankaj Jalote
Software Engineering by Pankaj JaloteSoftware Engineering by Pankaj Jalote
Software Engineering by Pankaj Jalote
 
Process model in SE
Process model in SEProcess model in SE
Process model in SE
 
Lecture 02 Software Process Model
Lecture 02 Software Process ModelLecture 02 Software Process Model
Lecture 02 Software Process Model
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLES
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software management
 
Process and Project Metrics-1
Process and Project Metrics-1Process and Project Metrics-1
Process and Project Metrics-1
 
Slides chapter 15
Slides chapter 15Slides chapter 15
Slides chapter 15
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 
Slides chapters 24-25
Slides chapters 24-25Slides chapters 24-25
Slides chapters 24-25
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering note
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
Spm tutorials
Spm tutorialsSpm tutorials
Spm tutorials
 

Destacado

Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering AssignmentSohaib Latif
 
Software engineering Questions and Answers
Software engineering Questions and AnswersSoftware engineering Questions and Answers
Software engineering Questions and AnswersBala Ganesh
 
Software Engineering Sample Question paper for 2012
Software Engineering Sample Question paper for 2012Software Engineering Sample Question paper for 2012
Software Engineering Sample Question paper for 2012Neelamani Samal
 
Assignment 2nd(sdlc)id-17
Assignment 2nd(sdlc)id-17Assignment 2nd(sdlc)id-17
Assignment 2nd(sdlc)id-17Pardeep Bhadwal
 
All Database Design Tuts V1.3
All Database Design Tuts V1.3All Database Design Tuts V1.3
All Database Design Tuts V1.3Cathie101
 
Software Project Management Slide
Software Project Management SlideSoftware Project Management Slide
Software Project Management SlideTing Yin
 
Software Project Management (lecture 2)
Software Project Management (lecture 2)Software Project Management (lecture 2)
Software Project Management (lecture 2)Syed Muhammad Hammad
 
Methodologies of Software Engineering
Methodologies of Software EngineeringMethodologies of Software Engineering
Methodologies of Software EngineeringKaya Ota
 
CSC426 - Software Engineering Lecture Note
CSC426   - Software Engineering Lecture NoteCSC426   - Software Engineering Lecture Note
CSC426 - Software Engineering Lecture NoteBro Shola Ajayi
 
Spectrum Software Management
Spectrum Software ManagementSpectrum Software Management
Spectrum Software Managementintuitiv.de
 
CSC426 - Software Engineering Lecture Note Cont'd
CSC426   - Software Engineering Lecture Note Cont'dCSC426   - Software Engineering Lecture Note Cont'd
CSC426 - Software Engineering Lecture Note Cont'dBro Shola Ajayi
 
Aula 1 - Project Management Concepts by Roger Pressman
Aula 1 - Project Management Concepts by Roger PressmanAula 1 - Project Management Concepts by Roger Pressman
Aula 1 - Project Management Concepts by Roger PressmanRogerio P C do Nascimento
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project ManagementDeepak Kumar
 
Requirements Engineering (CS 5032 2012)
Requirements Engineering (CS 5032 2012)Requirements Engineering (CS 5032 2012)
Requirements Engineering (CS 5032 2012)Ian Sommerville
 

Destacado (20)

Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering Assignment
 
Software engineering Questions and Answers
Software engineering Questions and AnswersSoftware engineering Questions and Answers
Software engineering Questions and Answers
 
Types of computer
Types of computerTypes of computer
Types of computer
 
software project management
software project managementsoftware project management
software project management
 
Software Engineering Sample Question paper for 2012
Software Engineering Sample Question paper for 2012Software Engineering Sample Question paper for 2012
Software Engineering Sample Question paper for 2012
 
Assignment 2nd(sdlc)id-17
Assignment 2nd(sdlc)id-17Assignment 2nd(sdlc)id-17
Assignment 2nd(sdlc)id-17
 
All Database Design Tuts V1.3
All Database Design Tuts V1.3All Database Design Tuts V1.3
All Database Design Tuts V1.3
 
Software Project Management Slide
Software Project Management SlideSoftware Project Management Slide
Software Project Management Slide
 
An Introduction to Project management(project management tutorials)
An Introduction to Project management(project management tutorials)An Introduction to Project management(project management tutorials)
An Introduction to Project management(project management tutorials)
 
Project managemen concept
Project managemen conceptProject managemen concept
Project managemen concept
 
Software Project Management (lecture 2)
Software Project Management (lecture 2)Software Project Management (lecture 2)
Software Project Management (lecture 2)
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
Methodologies of Software Engineering
Methodologies of Software EngineeringMethodologies of Software Engineering
Methodologies of Software Engineering
 
CSC426 - Software Engineering Lecture Note
CSC426   - Software Engineering Lecture NoteCSC426   - Software Engineering Lecture Note
CSC426 - Software Engineering Lecture Note
 
Spectrum Software Management
Spectrum Software ManagementSpectrum Software Management
Spectrum Software Management
 
CSC426 - Software Engineering Lecture Note Cont'd
CSC426   - Software Engineering Lecture Note Cont'dCSC426   - Software Engineering Lecture Note Cont'd
CSC426 - Software Engineering Lecture Note Cont'd
 
Aula 1 - Project Management Concepts by Roger Pressman
Aula 1 - Project Management Concepts by Roger PressmanAula 1 - Project Management Concepts by Roger Pressman
Aula 1 - Project Management Concepts by Roger Pressman
 
Maria Managment Spectrum
Maria Managment SpectrumMaria Managment Spectrum
Maria Managment Spectrum
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
Requirements Engineering (CS 5032 2012)
Requirements Engineering (CS 5032 2012)Requirements Engineering (CS 5032 2012)
Requirements Engineering (CS 5032 2012)
 

Similar a INTRO TO SOFTWARE ENGINEERING

Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdfPriyajit Sen
 
Project Management (2).pdf
Project Management (2).pdfProject Management (2).pdf
Project Management (2).pdfShivareddyGangam
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project ManagementRamesh Babu
 
construction management system final year report
construction management system final year reportconstruction management system final year report
construction management system final year reportchiragbarasiya
 
Software Engineering Unit-1
Software Engineering Unit-1Software Engineering Unit-1
Software Engineering Unit-1Samura Daniel
 
Software engineering (Unit-1 Introduction)
Software engineering (Unit-1 Introduction)Software engineering (Unit-1 Introduction)
Software engineering (Unit-1 Introduction)YamunaP6
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineeringBhagyashriMore10
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineeringMadhav Suratkar
 
Conventional software Management---.pptx
Conventional software Management---.pptxConventional software Management---.pptx
Conventional software Management---.pptxTONY562
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 
OOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptOOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptitadmin33
 
Introduction Software and Software Engineering
Introduction Software and Software EngineeringIntroduction Software and Software Engineering
Introduction Software and Software Engineeringinfinitetechnology20
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 pptDr VISU P
 

Similar a INTRO TO SOFTWARE ENGINEERING (20)

Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdf
 
Project Management (2).pdf
Project Management (2).pdfProject Management (2).pdf
Project Management (2).pdf
 
ppt chapter 1.ppt
ppt chapter 1.pptppt chapter 1.ppt
ppt chapter 1.ppt
 
UNIT-I.pptx
UNIT-I.pptxUNIT-I.pptx
UNIT-I.pptx
 
Unit 1 OOSE
Unit 1 OOSEUnit 1 OOSE
Unit 1 OOSE
 
Spm unit1
Spm unit1Spm unit1
Spm unit1
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
construction management system final year report
construction management system final year reportconstruction management system final year report
construction management system final year report
 
Software Engineering Unit-1
Software Engineering Unit-1Software Engineering Unit-1
Software Engineering Unit-1
 
Software engineering (Unit-1 Introduction)
Software engineering (Unit-1 Introduction)Software engineering (Unit-1 Introduction)
Software engineering (Unit-1 Introduction)
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineering
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineering
 
Project Management.pdf
Project Management.pdfProject Management.pdf
Project Management.pdf
 
Khurram Spiral
Khurram SpiralKhurram Spiral
Khurram Spiral
 
Conventional software Management---.pptx
Conventional software Management---.pptxConventional software Management---.pptx
Conventional software Management---.pptx
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
OOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptOOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.ppt
 
Introduction Software and Software Engineering
Introduction Software and Software EngineeringIntroduction Software and Software Engineering
Introduction Software and Software Engineering
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 ppt
 
San se unit
San se unitSan se unit
San se unit
 

Último

Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsManeerUddin
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxleah joy valeriano
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 

Último (20)

Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture hons
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 

INTRO TO SOFTWARE ENGINEERING

  • 1. INTRODUCTION TO SOFTWARE ENGINEERING ABSTRACT This file contains the lectures of the subject “Introduction to Software Engineering” delivered to BSCS 3rd Aqeel Rafique Software Engineering
  • 2. Software: Software is the set of executable instructions that are written to achieve some desired output, the data structure that enables the instructions to properly perform some action and the documentation which explain about all aspect of software. Documentation: Documentation involves the following. I. Technical manual II. User manual Technical manual: It is writer for technical people. It contains all the technical information related to the software. User manual: It is written for the users. It contains the information related to software functionality and benefits. Characteristics of software: I. Software is not manufactures because it is a logical stuff, we must use develop or engineer like word. II. Software does not wear out/ expired. III. The main characteristics of a software is reusability. Note: There are two approaches to analyze, design or program something. I. Structure II. Object oriented Feature of software: I. User friendly II. Reliable III. Accurate IV. Reusability V. Secure VI. Efficient Software myths: The misconception and erroneous beliefs about the software are called software myths. I. Management myths II. Customer myths III. Practitioner’s myths Software process model: The steps that are followed to develop a software are called software process model.
  • 3. Waterfall process model/classical life cycle/sequential process model: Waterfall process model System engineering: System engineering is a document the contains information about I. Software II. Hardware III. Human These information are either relevant or may be irrelevant. The process of obtaining relevant information from the system engineering is called analysis. Modelling the analyzed information is called designing. Designing is performed to better understand the analyzed information. Coding is the process of converting the model into a programming language. Implementation is the collection of codes that are developed by different people. Maintenance is the modification in the software without changing the basic structure. Advantages: I. Simple and easy to use. II. Each phase has specific deliverable. III. Less time consuming in general. IV. Best for short time projects (1-6 month) Disadvantages: I. Time consuming of problem occur. II. Doesn’t reflect iterative nature if exploratory development. III. Unrealistic to expect accurate requirements so early in project. IV. Difficult to integrate risk management. V. Difficult and expensive to make changes to document. VI. Costly for small teams and projects.
  • 4. 4 P’s of software development: I. People II. Process III. Project IV. Product These are the four key elements in software engineering. Almost every topic on the field of software engineering can be categories into one of them. So none of the 4 P’s may be omitted in software engineering. The 4 P’s concept is an important approach as it give a large platform and a comprehensive learning for software engineering students. The early build-up of basic concept of the 4 P’s and their relationship allow student to easily map each activity in the project to the related concept and actively participate in those activities. A common concern is how the project can be finished and how the required principle of software engineering and the knowledge can be learned at the sometime. The major P is product as all other three Ps is learned through various activities in developing the product. Prototype process model: Prototype Process model Advantages: I. The user can suggest changes and modifications when prototype is shown to him. II. Best for non-IT literate people. III. The client can judge the capabilities of developer. IV. It reduce the risk of failure, as potential risk can be identified early and mitigation steps can be taken. V. Iteration between development team and client provides a very good and conductive environment during project. Disadvantages: I. Prototype is done at the cost of developer. II. Sometimes the prototype model is of no use after showing to the client. III. It is a slow process. IV. Too much involvement of client is not always preferred by the developer. V. Too many changes can be disturb the rhythm of the development team.
  • 5. Spiral process model: Advantages: I. High amount if risk analysis. II. Good for large and mission critical projects. III. Software is produced early in the software life cycle. Disadvantages: I. It can be a costly model to use. II. Risk analysis required highly specific expertise. III. Projects success is highly dependent on the risk analysis phase. IV. Doesn’t work well for smaller projects. Spiral process model Risk analysis (types of risks): I. Technical risk II. Business risk III. Customer risk Risk management: I. Identify the risk II. Avoid the risk III. If not avoided then try to minimize its effect. Win-Win spiral model: The win-win spiral model uses the theory (win-win) approach to coverage on a system’s next- level objectives, constraints and alternatives. This theory approach involve identifying the system’s stakeholders and their win conditions and using negotiation process to determine a mutually satisfactory set of objectives, constraints and alternatives for the stakeholders. It has the following steps: I. Determine objectives II. Determine constraints III. Identify and evaluate alternatives IV. Cycle though the spiral Advantages: I. The customer and the developer both are in winning condition. II. It provides a satisfactory environment to the customer. III. The win-win result is achieved in initial steps.
  • 6. Disadvantages: The RAD Model: Rapid Application Development (RAD) is an incremental software development process model that emphasizes an extremely short development cycle. The RAD model is a high speed adaption of the linear sequential model in which rapid development is achieved by using component-based construction. The tasks of the project are assigned to different teams in this way the development is done rapidly. RAD Advantages: I. It is extremely short development cycle. II. Automated tools are used in the development. III. The project can be completed in 60-90 days. IV. There is more creativity is present in this model as different teams have different experts. Disadvantages: I. More resources are required. II. It requires committed developer teams to achieve the goal within time. III. RAD is not appropriate when technical risks are high. IV. A large budget is required. 4th Generation Techniques: The team 4th generation techniques (4GT) encompasses a broad array of software tools that have one thing in common, each enable a software engineering to specify some characteristics of the software at a high level. The tool then automatically generates sources code based on the developer’s specification. It focuses on the ability to specify software using specialized form or graphics notation that describes the problem to be solved in term that the customer can understand. The drag and drop policy is used. Front page is an example of this types of tool.
  • 7. Advantages: I. It is time saving. II. There is no need of coding like procedural languages. III. It is a rapid approach. IV. It is more efficient for small projects. Disadvantages: I. It is costly. II. It is a bit difficult. III. It requires more software development activities. IV. Without designing it will cause the same problem as encountered by conventional approaches. Project management: Project management is a layer starts before the technical things has started and ends after the technical things ended. Timeline Factor that involved in project management: I. Scope of the project. II. The risk to be incurred. III. Task to be accomplished. IV. The required resources. V. Milestone to be tracked. (Time management i.e. timeline) VI. Cost to be expended (money management) VII. The schedule to be followed. VIII. Realistic breakdown of tasks. (It means divide the whole team into parts and assign the tasks and then combine them). IX. Objective information Software engineering definitions Definition 1: Software engineering is multi-person development of multi-version software. Multi-person mean the whole project team. Definition 2: It is a sequence of different activities like any other engineering process in which we have technical and managerial skills involved at the same time. Definition 3: The establishment & use of sound engineering principles to obtain economical software that is reliable.
  • 8. Software Risks: Risk always involve two characteristics. I. Uncertainty II. Loss Uncertainty: It means that risks may or may not happen. There is no 100 % probable risks. Loss: If the risks becomes a reality then unwanted losses will occur. Types of risks: I. Technical risk II. Business risk III. Customer’s risk Technical risk: Technical risk threaten the quality and timeliness of the software to be produced. If a technical risk becomes a reality, then implementation may become difficult of impossible. Technical risk identify potential design and implementation, interface, verification and maintenance problems. Technical risk occur because the problem is harder to solve than we thought it would be. Business risk: Business risks threaten the capability/feasibility of the software to be built. These risks are often dangers for project or product. Business risk are as follows: I. Market risk II. Strategic risk III. Managerial risk IV. Budget risk Customer’s risk: Customer’s risk is also a factor that can become an issue for the project manager, sometimes customer refuse to pay the already settled amount to follow the timeline and discuss the things with customer and take payment time to time and more than the work done. Legal agreement must be there to avoid any type of risk like this one. Resources: It is a software planning task for estimation of the resources required to accomplish the software development effort. The hardware and software resources sits the foundation of the development efforts. At a higher level, we encounter reusable software components, software building blocks that can dramatically reduce development costs and accelerate delivery. People are the primary resources. Resources are of two types: I. Human resources II. Software resources III. Hardware resources
  • 9. Human resources: The planner begins by evaluating scope and selecting the skills required to complete development. For small projects (one person – one year or less) a single individual may performed all software engineering tasks, consulting with specialists as required. The number of people required for a software project can be determined only after an estimate of development effort is made. Software resources: The existing software and software building blocks that are reused in the development are called components. These are four in numbers: I. Off the shelf components II. Full experience components III. Partial experience components IV. New components Hardware resources: Hardware provide a platform that supports the tools required in development. When a computer based system is to be engineered, the software team may require access to hardware elements being developed by other engineering teams. Each hardware element must be specified by the software project planner. Umbrella activities: These are project management activities. These activities start as the project starts and end with the project end. Umbrella Activities The umbrella activities are as follows: I. Project tracking II. FTR (Formal Technical Review) III. Risk management IV. Quality assurance V. Documentation Project tracking: In this stage the following activities are done I. First of all the schedule is tracked. II. Then the weightage of work is checked either the goal is completed or not. III. Project details are discussed i.e.: members, communication infrastructure and cost establishment.
  • 10. IV. Task level details are defined such as: manager and members, assigning roles, identifying task resources, identifying task deliverables, task progress and task level costing. V. Generating reports about: project progress, task progress. Schedule if slipping and about the schedule delay impacts. FTR (Formal Technical Review): It is a technical meeting of all managers and project members. In this the following things are done. I. Conflicting issues are discussed. II. Faults are identified III. Solutions are proposed. IV. Plan is modified. Quality assurance: At this stage the following steps are taken I. Correctness II. Completeness III. Flexibility IV. Maintainability V. Testing Documentation: At each and every step the answer of these questions must be documented I. What is to be done? II. What has been done? III. How has been done? IV. What problems were faced? Risk management: At this stage do the following I. Identify the risk II. Avoid the risk III. If not then minimize the effects. Requirement analysis process: Requirement Analysis Cycle
  • 11. Requirement engineering: Categories of requirements: I. Functional requirements II. Non-functional requirements III. Interface requirements Functional requirement: Functional requirement are the primary and main requirements that a system must provide. These are the basic services for which the system is being developed. Non-functional requirement: These are other than actual requirement. These are for making the system more efficient and to build up the customer’s trust on the expertness of engineer. These requirement are I. Reliability II. Efficiency III. Portability IV. Privacy V. Ethical VI. Safety VII. Standards VIII. Delivery Interface requirement: These are the requirements related to the outlook of the system. Sometimes these are also provided by customer but in most case these are the domain knowledge base requirements of the engineer. These are as follows I. Color scheme II. Buttons III. Tools used IV. Banners V. Foreground color VI. Background color VII. Animations Hardware engineering: The selection of some combinations of hardware components to manufacture a new hardware is known as hardware engineering. Selection characteristics: I. Components packed as an individual building block. II. Interface amongst themselves is standardized (standardized means acceptable for all). III. Off the shelf alternatives (available anywhere) IV. Cost V. Performance VI. Reliability Phases of hardware engineering: There are three phases of hardware engineering I. Planning and specification II. Design and prototype implementation (bread board design) III. Manufacturing, distribution and field services.
  • 12. Human engineering: It is a multi-disciplinary activity that applies knowledge derived from psychology and technology to specify and design high quality HCL (Human Computer interface) Characteristics that affect human engineering. I. Human memory and knowledge representation: i. Short term memory ii. Long term memory II. Visual perceptions: Every user like different types of interface. It should be developed by considering each user. III. Human dialog construction: The statements related to dialog boxes that appear on the screen. It should be standardized mean it should easily understand by all users. System engineering: System engineering focuses on a verity of elements, then analyzing, designing and organizing these elements into a system that can be a product, services or a technology for the transformation of information or control. System engineering diagram Analysis modelling: It uses a combination of text and diagrammatic forms to depict requirement for data, functions and behavior in a way that is relatively easy to understand and more importantly straight forward to review for correctness, completeness and consistency.
  • 13. Analysis Modeling ERD is related to data DFD is related to function STD is related to control or behavior. STD: For state For method, data flow For loop State: state is any observable mode of behavior.