SlideShare a Scribd company logo
Chapter - 1 
zafar_ayub@hotmail.com
• What is the Software Engineering ? 
Software engineering is a field of Computer science, for designing and 
writing programs for computers or other electronic devices. A software 
engineer writes software (or changes existing software) using methods that make it 
better quality. 
• Another view 
In other words, software engineering is a discipline whose aim is the 
production of fault-free software, delivered on time and within budget, that satisfy 
the client’s needs. Furthermore, the software must be easy to modify when the 
user’s needs change. 
zafar_ayub@hotmail.com 2
• What are Code of Ethics ? 
The appropriate set(s) of standards for professional practice of Software 
Engineering upon which industrial decisions, professional certification, and 
educational curricula (syllabuses) can be based and share their systems. 
•• Why is needed ? 
 Standardization 
 Easy to understandable 
 Easy to intergrade 
 Easy for administration 
 Expandable 
 To maintain System Development Life Cycle - SDLC 
zafar_ayub@hotmail.com 3
• Who's define Code of Ethics ? 
 IEEE Board of Governors established steering committee (May, 1993) 
 ACM Council endorsed Commission on Software Engineering (Late 1993) 
 Joint steering committee established by both societies (January, 1994) 
• Goal of Ethics 
 Adopt standard definitions 
 Define required body of knowledge and recommended practices 
 Define ethical standards 
 Define educational curricula for undergraduate, graduate(MS) and continuing 
education (for retraining and migration) 
zafar_ayub@hotmail.com 4
Code of Ethics 
1. Product 
2. Public 
3. Judgment 
zafar_ayub@hotmail.com 5 
4. Client and Employer 
5. Management 
6. Profession 
7. Colleagues 
8. Self
1. Product 
1.01 Ensure adequate software specification 
1.02 Understand specifications fully 
1.03 Ensure you are suitably qualified 
1.04 Ensure all goals are achievable 
1.05 Ensure proper methodology use 
1.06 Ensure good project management 
1.07 Ensure all estimates are realistic 
1.08 Ensure adequate documentation 
1.09 Ensure adequate testing and debugging 
1.10 Promote privacy of individuals 
1.11 Use data legitimately 
1.12 Delete outdated and flawed data 
1.13 Identify and address contentious issues 
1.14 Promote maximum quality and minimum cost 
1.15 Follow appropriate industry standards 
zafar_ayub@hotmail.com 6
2. Public 
2.01 Disclose any software-related dangers 
2.02 Approve only safe, well tested software 
2.03 Only sign documents in area of competence 
2.04 Cooperate on matters of public concern 
2.05 Produce software that respects diversity 
2.06 Be fair and truthful in all matters 
2.07 Always put the public’s interests first 
2.08 Donate professional skills to good causes 
2.10 Accept responsibility for your own work 
zafar_ayub@hotmail.com 7
3. Judgment 
3.01 Maintain professional objectivity 
3.02 Only sign documents within your responsibility 
3.03 Reject bribery 
3.04 Do not accept secret payments from the client 
3.05 Accept payment from only one source for a job 
3.06 Disclose conflicts of interest 
3.07 Avoid conflicting financial interests 
3.08 Temper technology judgments with ethics 
zafar_ayub@hotmail.com 8
4. Client and Employer 
4.01 Provide services only where competent 
4.02 Ensure resources are authentically approved 
4.03 Only use property as authorized by the owner 
4.04 Do not use illegally obtained software 
4.05 Honor confidentiality of information 
4.06 Raise matters of social concern 
4.07 Inform when a project becomes problematic 
4.08 Accept no detrimental outside work 
4.09 Represent no interests adverse to your employer 
zafar_ayub@hotmail.com 9
5. Management 
5.01 Assure standards are known by employees 
5.02 Assure knowledge of confidentiality protocols 
5.03 Assign work according to competence 
5.04 Provide due process for code violations 
5.05 Develop fair ownership agreements 
5.06 Accurately describe conditions of employment 
5.07 Offer only fair and just remuneration 
5.08 Do not prevent a subordinate’s promotion 
5.09 Do not ask a person to breach this code 
zafar_ayub@hotmail.com 10
6. Profession 
6.01 Associate with reputable people 
6.02 Promote commitment of this code 
6.03 Support followers of this code 
6.04 Help develop an ethical environment 
6.05 Report suspected violations of this code 
6.06 Take responsibility for errors 
6.07 Only accept appropriate remuneration 
6.08 Be accurate and honest regarding software 
6.09 Place professional interests before personal 
6.10 Obey all laws governing your work 
6.11 Exercise professional responsibility 
6.12 Promote public knowledge of the subject 
6.13 Share software knowledge with the profession 
zafar_ayub@hotmail.com 11
7. Colleagues 
7.01 Assist colleagues in professional development 
7.02 Review other’s work only with their consent 
7.03 Credit fully the work of others 
7.04 Review others work candidly 
7.05 Give fair hearing to colleagues 
7.06 Assist colleagues’ awareness of work practices 
7.08 Do not hinder a colleague’s career 
7.09 Do not pursue a job offered to a colleague 
7.10 Seek help with work outside your competence 
zafar_ayub@hotmail.com 12
8. Self 
8.01 Further your own professional knowledge 
8.02 Improve your ability to produce quality work 
8.03 Improve your ability to document work 
8.04 Improve your understanding of work details 
8.05 Improve your knowledge of relevant legislation 
8.06 Improve your knowledge of this code 
8.07 Do not force anyone to violate this code 
8.08 Consider code violations inconsistent with 
zafar_ayub@hotmail.com 13 
software engineering
• Non Structure Programming 
1. Non structure programming is also called Exploratory Programming. 
2. A program in a non-structured language usually consists of sequentially ordered 
commands, or statements, usually one in each line. 
3. The lines are usually numbered or may have labels: this allows the flow of 
execution to jump to any line in the program. 
4. Non-structured programming introduces basic control flow concepts such as 
zafar_ayub@hotmail.com 14 
loops, branches and jumps. 
5. Although there is no concept of procedures in the non-structured paradigm, 
subroutines are allowed. 
6. Unlike a procedure, a subroutine may have several entry and exit points, and a 
direct jump into or out of subroutine is (theoretically) allowed. This flexibility 
allows realization of coroutines (multiple entry points).
7. There is no concept of local variables in non-structured programming (although 
for assembly programs), but labels and variables can have a limited area of 
effect (For example, a group of lines). 
8. This means there is no (automatic) context refresh when calling a subroutine, so 
all variables might retain their values from the previous call. 
9. Where no subroutine state values are needed after the recursive call--are 
possible if variables dedicated to the recursive subroutine are explicitly cleared 
(or re-initialized to their original value) on entry to the subroutine. The depth of 
nesting also may be limited to one or two levels. 
10.Non-structured languages allow only basic data types, such as numbers, strings 
and arrays (numbered sets of variables of the same type). 
11.First GOTO statement is also part of non structure programming where program 
zafar_ayub@hotmail.com 15 
may jump very frequently. 
12.Like early stage assembly language (in 1950’s)
• Structure Programming 
1. Structure programming is also called Procedural Programming. 
2. This approach provide aimed at improving the clarity, quality, and development 
time of a computer program by making extensive use of subroutines , block 
structures and for and while loops 
3. It’s against to using simple tests and jumps such as the GOTO statement which 
is difficult both to follow and to maintain. 
4. Procedures also known as routines, subroutines, methods, or functions (control 
programs), simply contain a series of computational steps to be carried out. 
5. Any given procedure might be called at any point during a program's execution, 
including by other procedures or itself. 
6. Procedural programming is a list or set of instructions telling a computer what to 
do step by step and how to perform from the first code to the second code. 
7. Procedural programming languages include C, ALGOL, Fortran, Pascal, 
zafar_ayub@hotmail.com 16 
and BASIC.
8. Structured programming techniques have been developed to ensure correct 
processing of control breaks in languages such as COBOL and to ensure 
that conditions such as empty input files and sequence errors are handled 
properly. 
9. Control Structure: 
a. "Sequence"; ordered statements or subroutines executed in sequence. 
b. "Selection"; one or a number of statements is executed depending on the 
state of the program. This is usually expressed with keywords such 
as if..then..else..end if. 
c. "Iteration"; a statement or block is executed until the program reaches a 
certain state, or operations have been applied to every element 
of a collection. This is usually expressed with keywords such 
as while, repeat, for or do..until. 
10. Often it is recommended that each loop should only have one entry point (and 
in the original structural programming, also only one exit point, and a few 
languages enforce this). 
zafar_ayub@hotmail.com 17
11. Subroutines : Callable units such as procedures, functions, methods, or 
subprograms are used to allow a sequence to be referred to by a single 
statement. 
12. Blocks: Blocks are used to enable groups of statements to be treated as if they 
were one statement. Block-structured languages have a syntax for enclosing 
structures in some formal way, such as an if-statement bracketed by if..fi as 
in ALGOL 68 
13. Early exit : The most common deviation from structured programming is early 
exit from a function or loop. At the level of functions, this is a return statement. 
At the level of loops, this is a break statement (terminate the loop) 
or continue statement (terminate the current iteration, proceed with next 
iteration). 
14. Multiple entry : More rarely, subprograms allow multiple entry. It is very rare for 
subprograms to allow entry to an arbitrary position in the subprogram, as in this 
case the program state (such as variable values) is uninitialized or ambiguous, 
and this is very similar to a GOTO. 
zafar_ayub@hotmail.com 18

More Related Content

What's hot

Software engineering tutorial
Software engineering tutorial Software engineering tutorial
Software engineering tutorial
Ahmed Elshal
 
DISE - Introduction to Software Engineering
DISE - Introduction to Software EngineeringDISE - Introduction to Software Engineering
DISE - Introduction to Software Engineering
Rasan Samarasinghe
 
Slides chapters 26-27
Slides chapters 26-27Slides chapters 26-27
Slides chapters 26-27
Priyanka Shetty
 
Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering AssignmentSohaib Latif
 
Intro to software development
Intro to software developmentIntro to software development
Intro to software development
Hawkman Academy
 
Software engineering
Software engineeringSoftware engineering
Software engineering
sweetysweety8
 
Software engineering Questions and Answers
Software engineering Questions and AnswersSoftware engineering Questions and Answers
Software engineering Questions and AnswersBala Ganesh
 
Pressman ch-1-software
Pressman ch-1-softwarePressman ch-1-software
Pressman ch-1-software
AlenaDion
 
Intro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle ModelsIntro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle ModelsRadu_Negulescu
 
software engineering
 software engineering software engineering
software engineering
Ahmed Elshahat Mohamed
 
Coding and testing in Software Engineering
Coding and testing in Software EngineeringCoding and testing in Software Engineering
Coding and testing in Software Engineering
Abhay Vijay
 
Introduction to Software Development
Introduction to Software DevelopmentIntroduction to Software Development
Introduction to Software Development
Zeeshan MIrza
 
Software engineering practices and software quality empirical research results
Software engineering practices and software quality empirical research resultsSoftware engineering practices and software quality empirical research results
Software engineering practices and software quality empirical research results
Nikolai Avteniev
 
Best Practices - Software Engineering
Best Practices - Software EngineeringBest Practices - Software Engineering
Best Practices - Software Engineering
3Quill Softwares
 
SE2018_Lec 17_ Coding
SE2018_Lec 17_ CodingSE2018_Lec 17_ Coding
SE2018_Lec 17_ Coding
Amr E. Mohamed
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
Carlos Gavidia-Calderon
 
SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1
Amr E. Mohamed
 
Soft Eng - Software Process
Soft  Eng - Software ProcessSoft  Eng - Software Process
Soft Eng - Software ProcessJomel Penalba
 

What's hot (20)

Software engineering tutorial
Software engineering tutorial Software engineering tutorial
Software engineering tutorial
 
DISE - Introduction to Software Engineering
DISE - Introduction to Software EngineeringDISE - Introduction to Software Engineering
DISE - Introduction to Software Engineering
 
Slides chapters 26-27
Slides chapters 26-27Slides chapters 26-27
Slides chapters 26-27
 
Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering Assignment
 
Intro to software development
Intro to software developmentIntro to software development
Intro to software development
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software engineering Questions and Answers
Software engineering Questions and AnswersSoftware engineering Questions and Answers
Software engineering Questions and Answers
 
Pressman ch-1-software
Pressman ch-1-softwarePressman ch-1-software
Pressman ch-1-software
 
Intro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle ModelsIntro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle Models
 
software engineering
 software engineering software engineering
software engineering
 
Coding and testing in Software Engineering
Coding and testing in Software EngineeringCoding and testing in Software Engineering
Coding and testing in Software Engineering
 
Introduction to Software Development
Introduction to Software DevelopmentIntroduction to Software Development
Introduction to Software Development
 
Software engineering practices and software quality empirical research results
Software engineering practices and software quality empirical research resultsSoftware engineering practices and software quality empirical research results
Software engineering practices and software quality empirical research results
 
Best Practices - Software Engineering
Best Practices - Software EngineeringBest Practices - Software Engineering
Best Practices - Software Engineering
 
SE2018_Lec 17_ Coding
SE2018_Lec 17_ CodingSE2018_Lec 17_ Coding
SE2018_Lec 17_ Coding
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
 
SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1
 
Soft Eng - Software Process
Soft  Eng - Software ProcessSoft  Eng - Software Process
Soft Eng - Software Process
 
Ch4
Ch4Ch4
Ch4
 

Viewers also liked

Overlay networks
Overlay networksOverlay networks
Overlay networks
Mayank Chaudhari
 
Customer App Flow
Customer App FlowCustomer App Flow
Customer App FlowZafar Ayub
 
Network protocol structure scope
Network protocol structure scopeNetwork protocol structure scope
Network protocol structure scope
Sanat Maharjan
 
SKYPE AS OVERLAY NETWORK
SKYPE AS OVERLAY NETWORKSKYPE AS OVERLAY NETWORK
SKYPE AS OVERLAY NETWORK
Prathamesh Sonawane
 
Overlay network
Overlay networkOverlay network
Overlay network
iQra Rafaqat
 
Overlay networks ppt
Overlay networks pptOverlay networks ppt
Overlay networks pptAkshay Hegde
 
DockerCon EU 2015: Docker Networking Deep Dive
DockerCon EU 2015: Docker Networking Deep DiveDockerCon EU 2015: Docker Networking Deep Dive
DockerCon EU 2015: Docker Networking Deep Dive
Docker, Inc.
 
Data communication and network Chapter -1
Data communication and network Chapter -1Data communication and network Chapter -1
Data communication and network Chapter -1
Zafar Ayub
 

Viewers also liked (9)

Overlay networks
Overlay networksOverlay networks
Overlay networks
 
Customer App Flow
Customer App FlowCustomer App Flow
Customer App Flow
 
Network protocol structure scope
Network protocol structure scopeNetwork protocol structure scope
Network protocol structure scope
 
SKYPE AS OVERLAY NETWORK
SKYPE AS OVERLAY NETWORKSKYPE AS OVERLAY NETWORK
SKYPE AS OVERLAY NETWORK
 
Overlay network
Overlay networkOverlay network
Overlay network
 
Overlay networks ppt
Overlay networks pptOverlay networks ppt
Overlay networks ppt
 
Use case
Use caseUse case
Use case
 
DockerCon EU 2015: Docker Networking Deep Dive
DockerCon EU 2015: Docker Networking Deep DiveDockerCon EU 2015: Docker Networking Deep Dive
DockerCon EU 2015: Docker Networking Deep Dive
 
Data communication and network Chapter -1
Data communication and network Chapter -1Data communication and network Chapter -1
Data communication and network Chapter -1
 

Similar to Introduction of Software Engineering

Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
rupeshchanchal
 
Quality Software Development
Quality Software DevelopmentQuality Software Development
Quality Software Development
Srinivasan Hariharan
 
2.-IT-266_APDET-Module-2-of-3.pptx
2.-IT-266_APDET-Module-2-of-3.pptx2.-IT-266_APDET-Module-2-of-3.pptx
2.-IT-266_APDET-Module-2-of-3.pptx
KENNEDYDONATO1
 
Unit iv
Unit ivUnit iv
Coding - SDLC Model
Coding - SDLC ModelCoding - SDLC Model
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
Nikhil Todkar
 
Coding
CodingCoding
Coding
Vishal Singh
 
General technical interview questions
General technical interview questionsGeneral technical interview questions
General technical interview questions
Kevalkumar Shah
 
Software coding and testing
Software coding and testingSoftware coding and testing
Software coding and testing
Sandeep Kumar Nayak
 
SE Lecture 2.ppt
SE Lecture 2.pptSE Lecture 2.ppt
SE Lecture 2.ppt
ssusere16bd9
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)
FarjanaAhmed3
 
Sample report
Sample reportSample report
Sample report
Niro Thakur
 
agile refactoring and integration techniques.pdf
agile refactoring and integration techniques.pdfagile refactoring and integration techniques.pdf
agile refactoring and integration techniques.pdf
shreyassoni7
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineeringMadhav Suratkar
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering MethodologiesNesrine Shokry
 
Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2
Raj vardhan
 
HOW TO PHYSICALLY DESIGN A COMPUTER BASED INFORMATION SYSTEM
HOW TO PHYSICALLY DESIGN A COMPUTER BASED INFORMATION SYSTEMHOW TO PHYSICALLY DESIGN A COMPUTER BASED INFORMATION SYSTEM
HOW TO PHYSICALLY DESIGN A COMPUTER BASED INFORMATION SYSTEM
RebekahSamuel2
 
Dev ops lpi-701
Dev ops lpi-701Dev ops lpi-701
Dev ops lpi-701
Radhouen Assakra
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
Sharbani Bhattacharya
 

Similar to Introduction of Software Engineering (20)

Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
 
Quality Software Development
Quality Software DevelopmentQuality Software Development
Quality Software Development
 
2.-IT-266_APDET-Module-2-of-3.pptx
2.-IT-266_APDET-Module-2-of-3.pptx2.-IT-266_APDET-Module-2-of-3.pptx
2.-IT-266_APDET-Module-2-of-3.pptx
 
Unit iv
Unit ivUnit iv
Unit iv
 
Coding - SDLC Model
Coding - SDLC ModelCoding - SDLC Model
Coding - SDLC Model
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
 
Coding
CodingCoding
Coding
 
General technical interview questions
General technical interview questionsGeneral technical interview questions
General technical interview questions
 
Software coding and testing
Software coding and testingSoftware coding and testing
Software coding and testing
 
SE Lecture 2.ppt
SE Lecture 2.pptSE Lecture 2.ppt
SE Lecture 2.ppt
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)
 
Sample report
Sample reportSample report
Sample report
 
agile refactoring and integration techniques.pdf
agile refactoring and integration techniques.pdfagile refactoring and integration techniques.pdf
agile refactoring and integration techniques.pdf
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineering
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
 
Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2
 
HOW TO PHYSICALLY DESIGN A COMPUTER BASED INFORMATION SYSTEM
HOW TO PHYSICALLY DESIGN A COMPUTER BASED INFORMATION SYSTEMHOW TO PHYSICALLY DESIGN A COMPUTER BASED INFORMATION SYSTEM
HOW TO PHYSICALLY DESIGN A COMPUTER BASED INFORMATION SYSTEM
 
Dev ops lpi-701
Dev ops lpi-701Dev ops lpi-701
Dev ops lpi-701
 
Process Models IN software Engineering
Process Models IN software EngineeringProcess Models IN software Engineering
Process Models IN software Engineering
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
 

More from Zafar Ayub

UML Review
UML ReviewUML Review
UML Review
Zafar Ayub
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototyping
Zafar Ayub
 
Binary Search Tree
Binary Search TreeBinary Search Tree
Binary Search Tree
Zafar Ayub
 
Software Engineering – Course Outline
Software Engineering – Course OutlineSoftware Engineering – Course Outline
Software Engineering – Course Outline
Zafar Ayub
 
MIS business approach
MIS business approachMIS business approach
MIS business approach
Zafar Ayub
 
MIS understanding
MIS understandingMIS understanding
MIS understanding
Zafar Ayub
 
Data communication and network Chapter - 2
Data communication and network Chapter - 2Data communication and network Chapter - 2
Data communication and network Chapter - 2
Zafar Ayub
 
Inside the computer
Inside the computerInside the computer
Inside the computer
Zafar Ayub
 
What is computer?
What is computer?What is computer?
What is computer?
Zafar Ayub
 
Generations of computers
Generations of computersGenerations of computers
Generations of computers
Zafar Ayub
 

More from Zafar Ayub (10)

UML Review
UML ReviewUML Review
UML Review
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototyping
 
Binary Search Tree
Binary Search TreeBinary Search Tree
Binary Search Tree
 
Software Engineering – Course Outline
Software Engineering – Course OutlineSoftware Engineering – Course Outline
Software Engineering – Course Outline
 
MIS business approach
MIS business approachMIS business approach
MIS business approach
 
MIS understanding
MIS understandingMIS understanding
MIS understanding
 
Data communication and network Chapter - 2
Data communication and network Chapter - 2Data communication and network Chapter - 2
Data communication and network Chapter - 2
 
Inside the computer
Inside the computerInside the computer
Inside the computer
 
What is computer?
What is computer?What is computer?
What is computer?
 
Generations of computers
Generations of computersGenerations of computers
Generations of computers
 

Recently uploaded

Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
thanhdowork
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
Tamralipta Mahavidyalaya
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
Multithreading_in_C++ - std::thread, race condition
Multithreading_in_C++ - std::thread, race conditionMultithreading_in_C++ - std::thread, race condition
Multithreading_in_C++ - std::thread, race condition
Mohammed Sikander
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
heathfieldcps1
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
deeptiverma2406
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
Vikramjit Singh
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
DhatriParmar
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
tarandeep35
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
timhan337
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
Jisc
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 

Recently uploaded (20)

Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
Multithreading_in_C++ - std::thread, race condition
Multithreading_in_C++ - std::thread, race conditionMultithreading_in_C++ - std::thread, race condition
Multithreading_in_C++ - std::thread, race condition
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 

Introduction of Software Engineering

  • 1. Chapter - 1 zafar_ayub@hotmail.com
  • 2. • What is the Software Engineering ? Software engineering is a field of Computer science, for designing and writing programs for computers or other electronic devices. A software engineer writes software (or changes existing software) using methods that make it better quality. • Another view In other words, software engineering is a discipline whose aim is the production of fault-free software, delivered on time and within budget, that satisfy the client’s needs. Furthermore, the software must be easy to modify when the user’s needs change. zafar_ayub@hotmail.com 2
  • 3. • What are Code of Ethics ? The appropriate set(s) of standards for professional practice of Software Engineering upon which industrial decisions, professional certification, and educational curricula (syllabuses) can be based and share their systems. •• Why is needed ?  Standardization  Easy to understandable  Easy to intergrade  Easy for administration  Expandable  To maintain System Development Life Cycle - SDLC zafar_ayub@hotmail.com 3
  • 4. • Who's define Code of Ethics ?  IEEE Board of Governors established steering committee (May, 1993)  ACM Council endorsed Commission on Software Engineering (Late 1993)  Joint steering committee established by both societies (January, 1994) • Goal of Ethics  Adopt standard definitions  Define required body of knowledge and recommended practices  Define ethical standards  Define educational curricula for undergraduate, graduate(MS) and continuing education (for retraining and migration) zafar_ayub@hotmail.com 4
  • 5. Code of Ethics 1. Product 2. Public 3. Judgment zafar_ayub@hotmail.com 5 4. Client and Employer 5. Management 6. Profession 7. Colleagues 8. Self
  • 6. 1. Product 1.01 Ensure adequate software specification 1.02 Understand specifications fully 1.03 Ensure you are suitably qualified 1.04 Ensure all goals are achievable 1.05 Ensure proper methodology use 1.06 Ensure good project management 1.07 Ensure all estimates are realistic 1.08 Ensure adequate documentation 1.09 Ensure adequate testing and debugging 1.10 Promote privacy of individuals 1.11 Use data legitimately 1.12 Delete outdated and flawed data 1.13 Identify and address contentious issues 1.14 Promote maximum quality and minimum cost 1.15 Follow appropriate industry standards zafar_ayub@hotmail.com 6
  • 7. 2. Public 2.01 Disclose any software-related dangers 2.02 Approve only safe, well tested software 2.03 Only sign documents in area of competence 2.04 Cooperate on matters of public concern 2.05 Produce software that respects diversity 2.06 Be fair and truthful in all matters 2.07 Always put the public’s interests first 2.08 Donate professional skills to good causes 2.10 Accept responsibility for your own work zafar_ayub@hotmail.com 7
  • 8. 3. Judgment 3.01 Maintain professional objectivity 3.02 Only sign documents within your responsibility 3.03 Reject bribery 3.04 Do not accept secret payments from the client 3.05 Accept payment from only one source for a job 3.06 Disclose conflicts of interest 3.07 Avoid conflicting financial interests 3.08 Temper technology judgments with ethics zafar_ayub@hotmail.com 8
  • 9. 4. Client and Employer 4.01 Provide services only where competent 4.02 Ensure resources are authentically approved 4.03 Only use property as authorized by the owner 4.04 Do not use illegally obtained software 4.05 Honor confidentiality of information 4.06 Raise matters of social concern 4.07 Inform when a project becomes problematic 4.08 Accept no detrimental outside work 4.09 Represent no interests adverse to your employer zafar_ayub@hotmail.com 9
  • 10. 5. Management 5.01 Assure standards are known by employees 5.02 Assure knowledge of confidentiality protocols 5.03 Assign work according to competence 5.04 Provide due process for code violations 5.05 Develop fair ownership agreements 5.06 Accurately describe conditions of employment 5.07 Offer only fair and just remuneration 5.08 Do not prevent a subordinate’s promotion 5.09 Do not ask a person to breach this code zafar_ayub@hotmail.com 10
  • 11. 6. Profession 6.01 Associate with reputable people 6.02 Promote commitment of this code 6.03 Support followers of this code 6.04 Help develop an ethical environment 6.05 Report suspected violations of this code 6.06 Take responsibility for errors 6.07 Only accept appropriate remuneration 6.08 Be accurate and honest regarding software 6.09 Place professional interests before personal 6.10 Obey all laws governing your work 6.11 Exercise professional responsibility 6.12 Promote public knowledge of the subject 6.13 Share software knowledge with the profession zafar_ayub@hotmail.com 11
  • 12. 7. Colleagues 7.01 Assist colleagues in professional development 7.02 Review other’s work only with their consent 7.03 Credit fully the work of others 7.04 Review others work candidly 7.05 Give fair hearing to colleagues 7.06 Assist colleagues’ awareness of work practices 7.08 Do not hinder a colleague’s career 7.09 Do not pursue a job offered to a colleague 7.10 Seek help with work outside your competence zafar_ayub@hotmail.com 12
  • 13. 8. Self 8.01 Further your own professional knowledge 8.02 Improve your ability to produce quality work 8.03 Improve your ability to document work 8.04 Improve your understanding of work details 8.05 Improve your knowledge of relevant legislation 8.06 Improve your knowledge of this code 8.07 Do not force anyone to violate this code 8.08 Consider code violations inconsistent with zafar_ayub@hotmail.com 13 software engineering
  • 14. • Non Structure Programming 1. Non structure programming is also called Exploratory Programming. 2. A program in a non-structured language usually consists of sequentially ordered commands, or statements, usually one in each line. 3. The lines are usually numbered or may have labels: this allows the flow of execution to jump to any line in the program. 4. Non-structured programming introduces basic control flow concepts such as zafar_ayub@hotmail.com 14 loops, branches and jumps. 5. Although there is no concept of procedures in the non-structured paradigm, subroutines are allowed. 6. Unlike a procedure, a subroutine may have several entry and exit points, and a direct jump into or out of subroutine is (theoretically) allowed. This flexibility allows realization of coroutines (multiple entry points).
  • 15. 7. There is no concept of local variables in non-structured programming (although for assembly programs), but labels and variables can have a limited area of effect (For example, a group of lines). 8. This means there is no (automatic) context refresh when calling a subroutine, so all variables might retain their values from the previous call. 9. Where no subroutine state values are needed after the recursive call--are possible if variables dedicated to the recursive subroutine are explicitly cleared (or re-initialized to their original value) on entry to the subroutine. The depth of nesting also may be limited to one or two levels. 10.Non-structured languages allow only basic data types, such as numbers, strings and arrays (numbered sets of variables of the same type). 11.First GOTO statement is also part of non structure programming where program zafar_ayub@hotmail.com 15 may jump very frequently. 12.Like early stage assembly language (in 1950’s)
  • 16. • Structure Programming 1. Structure programming is also called Procedural Programming. 2. This approach provide aimed at improving the clarity, quality, and development time of a computer program by making extensive use of subroutines , block structures and for and while loops 3. It’s against to using simple tests and jumps such as the GOTO statement which is difficult both to follow and to maintain. 4. Procedures also known as routines, subroutines, methods, or functions (control programs), simply contain a series of computational steps to be carried out. 5. Any given procedure might be called at any point during a program's execution, including by other procedures or itself. 6. Procedural programming is a list or set of instructions telling a computer what to do step by step and how to perform from the first code to the second code. 7. Procedural programming languages include C, ALGOL, Fortran, Pascal, zafar_ayub@hotmail.com 16 and BASIC.
  • 17. 8. Structured programming techniques have been developed to ensure correct processing of control breaks in languages such as COBOL and to ensure that conditions such as empty input files and sequence errors are handled properly. 9. Control Structure: a. "Sequence"; ordered statements or subroutines executed in sequence. b. "Selection"; one or a number of statements is executed depending on the state of the program. This is usually expressed with keywords such as if..then..else..end if. c. "Iteration"; a statement or block is executed until the program reaches a certain state, or operations have been applied to every element of a collection. This is usually expressed with keywords such as while, repeat, for or do..until. 10. Often it is recommended that each loop should only have one entry point (and in the original structural programming, also only one exit point, and a few languages enforce this). zafar_ayub@hotmail.com 17
  • 18. 11. Subroutines : Callable units such as procedures, functions, methods, or subprograms are used to allow a sequence to be referred to by a single statement. 12. Blocks: Blocks are used to enable groups of statements to be treated as if they were one statement. Block-structured languages have a syntax for enclosing structures in some formal way, such as an if-statement bracketed by if..fi as in ALGOL 68 13. Early exit : The most common deviation from structured programming is early exit from a function or loop. At the level of functions, this is a return statement. At the level of loops, this is a break statement (terminate the loop) or continue statement (terminate the current iteration, proceed with next iteration). 14. Multiple entry : More rarely, subprograms allow multiple entry. It is very rare for subprograms to allow entry to an arbitrary position in the subprogram, as in this case the program state (such as variable values) is uninitialized or ambiguous, and this is very similar to a GOTO. zafar_ayub@hotmail.com 18