SlideShare a Scribd company logo
1 of 34
CSSE3113
Describe the field of Software Engineering
Give an overview of Software Engineering
Activities
Give knowledge of software engineering concepts,
principles and techniques
Enable students to apply the learnt concepts to
develop software
The course outline is tentative
Evaluation will be based on all class discussions,
handouts, recommended readings, slides etc.
Rote learning
Active participation
Announcements etc. will be made via Portal
 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
Honor Code
 Permitted Collaboration
 Not Permitted Collaboration (i.e. Plagiarism)
 Assignments
 Copying solutions from others
 Using work from past semesters
 Studying other students’ solution
 Quizzes and Exams
 Looking at others’ exam
 Not keeping your eyes on your examn quizzes 1st offense will result in award of -1,
2nd offense -2, 3rd -5 and 4th offense will result in cancellation of the quiz)
Honor Code (Contd.)
 Not Permitted Collaboration (Contd.)
 Penalty
 Grade reduction
 Referral to concerned authority in the University
 F Grade
 All of the above 
 Other Offenses
 Penalty
 Same as above
 Quiz x 6 (Announced + Unannounced) – 15%
 Assignment x 4 (VIVA/QUIZ) – 10%
 Project Deliverable x 2 (VIVA) – 10%
 Mid Term Exam –
20%
 Final Exam – 40%
 Class Participation* – 05%
ATTENDANCE+PUNCTUALITY+WRITTEN
EXCERCISES+QA
DON’T ASSUME ,THERE WILL BE BEST OFF
ATTENDANCE WILL BE TAKEN AT
START OF CLASS. NO REPEAT-
CALLS
LATE PENALTY FOR
SUBMISSIONS IS 25%/day
CELL PHONES & ALL OTHER
DISTRACTIONS ARE HIGHLY
DISCOURAGED AND MAY LEAD
TO PENALTIES
Analytica
l Skills
Punctuali
ty
Persever
ance
Dedicatio
n
Time-
Devotion
Intelligen
ce
Sincerity
Shari Lawrence PFleeger and Joanne M. Atlee, Software
Engineering Theory and Practice, 4th Edition (Selected
Chapters Only)
 Soft copy updated on portal
Roger Pressman, Software Engineering: A Practitioner’s
Approach, 7th Edition (Selected Chapters Only)
 Soft copy updated on portal
 Course Introduction. Introduction to Software Engineering (SE)
 Software Process Models
 Managing a Project
 Gathering and Specifying Requirements
 Process and Project Metrics
 Product Metrics
 Designing a System
 Quality Control and Quality Assurance
 Estimation of Software Projects
 Testing the Programs and System
Welcome to the course! Lets start…
What is a computer program?
A representation of an
algorithm?
What is a Software?
A set of programs working for a
single goal (solving a problem)?
“ Software is a set of instructions to acquire inputs and to
manipulate them to produce the desired output in terms of functions
and performance as determined by the user of the software. It also
include a set of documents, such as the software manual , meant for
users to understand the software system.”
A software is described by its capabilities. The capabilities
relate to the functions it executes, the features it provides and
the facilities it offers.
Software written for Sales-order processing would have different
functions to process different types of sales order from different
market segments . The features for example , would be to handle
multi-currency computing, updating product , sales and Tax status.
The facilities could be printing of sales orders, email to customers
and reports to the store department to dispatch the goods.
 Calculate the average of three numbers
 Find the minimum of three numbers
 Count the number of red balls in a bag
 Operating System?
 Microsoft Office?
 UCP Portal?
 “A systematic approach to the analysis, design, implementation and
maintenance of software.”
(The Free On-Line Dictionary of Computing)
 “ The systematic application of tools and techniques in the
development of computer-based applications.”
(Sue Conger in The New Software Engineering)
 “ Software Engineering is about designing and developing high-
quality software.”
(Shari Lawrence Pfleeger in Software Engineering -- The
Production of Quality Software)
Although hundreds of authors have developed personal definitions
of software engineering, a definition proposed by Fritz
Bauer[NAU69] provides a basis:
 “[Software engineering is] the establishment and use of sound
engineering principles in order to obtain economical software that is
reliable and works efficiently on real machines.”
The IEEE [IEE93] has developed a more comprehensive definition
when it states:
 “Software Engineering: (1) 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) The study of approaches as in (1).”
Software Engineering
The study of approaches as in
Application of a systematic, disciplined, quantifiable
approach to the development, operation and maintenance
of software; that is, the application of engineering to
software.
(IEEE 93)
SYSTEMATIC
Following a well-defined sequence of activities,
- in which desired outputs (deliverables) are well-defined
- by using well-defined inputs
(i.e. documented syntax, semantics, context and other relevant properties of
the input)
- in a well-defined process
(e.g. using organizational standards for interprocess communication, data
formats, error handling etc.)
- whose outputs are in turn used similarly as inputs in subsequent
process(es),
- until the final output is achieved,
- and where the correctness of the output is verifiable.
Note: The “inputs” and “outputs” most often refer to requirements,
software specifications, the software itself, documentation, test
inputs/outputs and similar software artifacts.
Software Engineering - Introduction 22
BY “DISCIPLINED” WE
MEAN:
 Each process is followed using organizational principles (e.g. who
manages whom, who is responsible for what?),
 Intermediate results are carefully documented, as well as final
results,
 Actions are traceable as to their causes, individuals involved, time of
occurrence and circumstances.
Software Engineering - Introduction 23
BY “QUANTIFIABLE” WE
MEAN:
 The size and extent of the required effort
(size of output code, data, documentation, manpower, duration,
budget for development, expected error rate and user support)
are predictable within justifiable and acceptable bounds
 Pressman’s view:
“ Software engineering is a layered technology”
(Figure 2.1)
Tools
Methods
Process
A quality Focus
Solving Problems
 Computers
 Computing
How is a problem solved normally?
 Analysis
 Synthesis
 Method: refers to a formal process for accomplishing a goal that is
typically independent of the tools used
 Tool: an instrument or automated system for accomplishing
something in a better way
 Procedure: a combination of tools and techniques to produce a
product
 Paradigm: philosophy or approach for building a product (e.g., OO vs
structured approaches)
 Computer science: focusing on computer hardware, compilers,
operating systems, and programming languages
 Software engineering: a discipline that uses computer and software
technologies as problem-solving tools
 Relationship between computer science and software engineering
Development Costs
Running Costs
 Mr. Haroon Abdul Waheed
 Mr. Sajid Saleem
 Prof. Zeeshan Ali Rana
 Pfleeger’s Book slides from UCF
 Software Fundamentals

More Related Content

Similar to Introduction to Software Engineering

A New Software Engineeering Approach
A New Software Engineeering ApproachA New Software Engineeering Approach
A New Software Engineeering ApproachArunit Gupta
 
Software testing techniques - www.testersforum.com
Software testing techniques - www.testersforum.comSoftware testing techniques - www.testersforum.com
Software testing techniques - www.testersforum.comwww.testersforum.com
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineeringsmumbahelp
 
Importance of Testing in SDLC
Importance of Testing in SDLCImportance of Testing in SDLC
Importance of Testing in SDLCIJEACS
 
Mi0033 software engineering...
Mi0033  software engineering...Mi0033  software engineering...
Mi0033 software engineering...smumbahelp
 
Defect effort prediction models in software
Defect effort prediction models in softwareDefect effort prediction models in software
Defect effort prediction models in softwareIAEME Publication
 
Lecture 7 Software Metrics.ppt
Lecture 7 Software Metrics.pptLecture 7 Software Metrics.ppt
Lecture 7 Software Metrics.pptTalhaFarooqui12
 
se01.ppt
se01.pptse01.ppt
se01.pptxiso
 
Unit 1 sepm the generic process model
Unit 1 sepm the generic process modelUnit 1 sepm the generic process model
Unit 1 sepm the generic process modelKanchanPatil34
 
Defect effort prediction models in software maintenance projects
Defect  effort prediction models in software maintenance projectsDefect  effort prediction models in software maintenance projects
Defect effort prediction models in software maintenance projectsiaemedu
 
Programming Fundamentals lecture 3
Programming Fundamentals lecture 3Programming Fundamentals lecture 3
Programming Fundamentals lecture 3REHAN IJAZ
 

Similar to Introduction to Software Engineering (20)

A New Software Engineeering Approach
A New Software Engineeering ApproachA New Software Engineeering Approach
A New Software Engineeering Approach
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Too many files
Too many filesToo many files
Too many files
 
Software testing techniques - www.testersforum.com
Software testing techniques - www.testersforum.comSoftware testing techniques - www.testersforum.com
Software testing techniques - www.testersforum.com
 
Ch05
Ch05Ch05
Ch05
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
Importance of Testing in SDLC
Importance of Testing in SDLCImportance of Testing in SDLC
Importance of Testing in SDLC
 
SE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdfSE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdf
 
Mi0033 software engineering...
Mi0033  software engineering...Mi0033  software engineering...
Mi0033 software engineering...
 
Defect effort prediction models in software
Defect effort prediction models in softwareDefect effort prediction models in software
Defect effort prediction models in software
 
Week_02.pptx
Week_02.pptxWeek_02.pptx
Week_02.pptx
 
Lecture 7 Software Metrics.ppt
Lecture 7 Software Metrics.pptLecture 7 Software Metrics.ppt
Lecture 7 Software Metrics.ppt
 
se01.ppt
se01.pptse01.ppt
se01.ppt
 
Unit 1 sepm the generic process model
Unit 1 sepm the generic process modelUnit 1 sepm the generic process model
Unit 1 sepm the generic process model
 
International Journal of Engineering Inventions (IJEI),
International Journal of Engineering Inventions (IJEI), International Journal of Engineering Inventions (IJEI),
International Journal of Engineering Inventions (IJEI),
 
Process Models IN software Engineering
Process Models IN software EngineeringProcess Models IN software Engineering
Process Models IN software Engineering
 
se
sese
se
 
Software models
Software modelsSoftware models
Software models
 
Defect effort prediction models in software maintenance projects
Defect  effort prediction models in software maintenance projectsDefect  effort prediction models in software maintenance projects
Defect effort prediction models in software maintenance projects
 
Programming Fundamentals lecture 3
Programming Fundamentals lecture 3Programming Fundamentals lecture 3
Programming Fundamentals lecture 3
 

Recently uploaded

chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 

Recently uploaded (20)

chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 

Introduction to Software Engineering

  • 2. Describe the field of Software Engineering Give an overview of Software Engineering Activities Give knowledge of software engineering concepts, principles and techniques Enable students to apply the learnt concepts to develop software
  • 3. The course outline is tentative Evaluation will be based on all class discussions, handouts, recommended readings, slides etc. Rote learning Active participation Announcements etc. will be made via Portal
  • 4.  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
  • 5. Honor Code  Permitted Collaboration  Not Permitted Collaboration (i.e. Plagiarism)  Assignments  Copying solutions from others  Using work from past semesters  Studying other students’ solution  Quizzes and Exams  Looking at others’ exam  Not keeping your eyes on your examn quizzes 1st offense will result in award of -1, 2nd offense -2, 3rd -5 and 4th offense will result in cancellation of the quiz)
  • 6. Honor Code (Contd.)  Not Permitted Collaboration (Contd.)  Penalty  Grade reduction  Referral to concerned authority in the University  F Grade  All of the above   Other Offenses  Penalty  Same as above
  • 7.  Quiz x 6 (Announced + Unannounced) – 15%  Assignment x 4 (VIVA/QUIZ) – 10%  Project Deliverable x 2 (VIVA) – 10%  Mid Term Exam – 20%  Final Exam – 40%  Class Participation* – 05% ATTENDANCE+PUNCTUALITY+WRITTEN EXCERCISES+QA DON’T ASSUME ,THERE WILL BE BEST OFF
  • 8. ATTENDANCE WILL BE TAKEN AT START OF CLASS. NO REPEAT- CALLS LATE PENALTY FOR SUBMISSIONS IS 25%/day CELL PHONES & ALL OTHER DISTRACTIONS ARE HIGHLY DISCOURAGED AND MAY LEAD TO PENALTIES Analytica l Skills Punctuali ty Persever ance Dedicatio n Time- Devotion Intelligen ce Sincerity
  • 9. Shari Lawrence PFleeger and Joanne M. Atlee, Software Engineering Theory and Practice, 4th Edition (Selected Chapters Only)  Soft copy updated on portal Roger Pressman, Software Engineering: A Practitioner’s Approach, 7th Edition (Selected Chapters Only)  Soft copy updated on portal
  • 10.  Course Introduction. Introduction to Software Engineering (SE)  Software Process Models  Managing a Project  Gathering and Specifying Requirements  Process and Project Metrics  Product Metrics  Designing a System  Quality Control and Quality Assurance  Estimation of Software Projects  Testing the Programs and System
  • 11. Welcome to the course! Lets start…
  • 12. What is a computer program? A representation of an algorithm?
  • 13. What is a Software? A set of programs working for a single goal (solving a problem)?
  • 14. “ Software is a set of instructions to acquire inputs and to manipulate them to produce the desired output in terms of functions and performance as determined by the user of the software. It also include a set of documents, such as the software manual , meant for users to understand the software system.”
  • 15. A software is described by its capabilities. The capabilities relate to the functions it executes, the features it provides and the facilities it offers. Software written for Sales-order processing would have different functions to process different types of sales order from different market segments . The features for example , would be to handle multi-currency computing, updating product , sales and Tax status. The facilities could be printing of sales orders, email to customers and reports to the store department to dispatch the goods.
  • 16.  Calculate the average of three numbers  Find the minimum of three numbers  Count the number of red balls in a bag
  • 17.  Operating System?  Microsoft Office?  UCP Portal?
  • 18.  “A systematic approach to the analysis, design, implementation and maintenance of software.” (The Free On-Line Dictionary of Computing)  “ The systematic application of tools and techniques in the development of computer-based applications.” (Sue Conger in The New Software Engineering)  “ Software Engineering is about designing and developing high- quality software.” (Shari Lawrence Pfleeger in Software Engineering -- The Production of Quality Software)
  • 19. Although hundreds of authors have developed personal definitions of software engineering, a definition proposed by Fritz Bauer[NAU69] provides a basis:  “[Software engineering is] the establishment and use of sound engineering principles in order to obtain economical software that is reliable and works efficiently on real machines.” The IEEE [IEE93] has developed a more comprehensive definition when it states:  “Software Engineering: (1) 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) The study of approaches as in (1).”
  • 20. Software Engineering The study of approaches as in Application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is, the application of engineering to software. (IEEE 93)
  • 21. SYSTEMATIC Following a well-defined sequence of activities, - in which desired outputs (deliverables) are well-defined - by using well-defined inputs (i.e. documented syntax, semantics, context and other relevant properties of the input) - in a well-defined process (e.g. using organizational standards for interprocess communication, data formats, error handling etc.) - whose outputs are in turn used similarly as inputs in subsequent process(es), - until the final output is achieved, - and where the correctness of the output is verifiable. Note: The “inputs” and “outputs” most often refer to requirements, software specifications, the software itself, documentation, test inputs/outputs and similar software artifacts.
  • 22. Software Engineering - Introduction 22 BY “DISCIPLINED” WE MEAN:  Each process is followed using organizational principles (e.g. who manages whom, who is responsible for what?),  Intermediate results are carefully documented, as well as final results,  Actions are traceable as to their causes, individuals involved, time of occurrence and circumstances.
  • 23. Software Engineering - Introduction 23 BY “QUANTIFIABLE” WE MEAN:  The size and extent of the required effort (size of output code, data, documentation, manpower, duration, budget for development, expected error rate and user support) are predictable within justifiable and acceptable bounds
  • 24.  Pressman’s view: “ Software engineering is a layered technology” (Figure 2.1) Tools Methods Process A quality Focus
  • 25. Solving Problems  Computers  Computing How is a problem solved normally?
  • 28.  Method: refers to a formal process for accomplishing a goal that is typically independent of the tools used  Tool: an instrument or automated system for accomplishing something in a better way  Procedure: a combination of tools and techniques to produce a product  Paradigm: philosophy or approach for building a product (e.g., OO vs structured approaches)
  • 29.  Computer science: focusing on computer hardware, compilers, operating systems, and programming languages  Software engineering: a discipline that uses computer and software technologies as problem-solving tools
  • 30.  Relationship between computer science and software engineering
  • 31.
  • 33.
  • 34.  Mr. Haroon Abdul Waheed  Mr. Sajid Saleem  Prof. Zeeshan Ali Rana  Pfleeger’s Book slides from UCF  Software Fundamentals