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 (20)

PPTX
Software engineering tutorial
Ahmed Elshal
 
PPSX
DISE - Introduction to Software Engineering
Rasan Samarasinghe
 
PPT
Slides chapters 26-27
Priyanka Shetty
 
DOCX
Software Engineering Assignment
Sohaib Latif
 
PPTX
Intro to software development
Hawkman Academy
 
PPT
Slides chapter 1
Priyanka Shetty
 
PPTX
Software engineering
sweetysweety8
 
DOCX
Software engineering Questions and Answers
Bala Ganesh
 
PPT
Pressman ch-1-software
AlenaDion
 
PDF
Intro to Software Engineering - Life Cycle Models
Radu_Negulescu
 
PDF
software engineering
Ahmed Elshahat Mohamed
 
PPTX
Coding and testing in Software Engineering
Abhay Vijay
 
PPT
Introduction to Software Development
Zeeshan MIrza
 
PPTX
Software engineering practices and software quality empirical research results
Nikolai Avteniev
 
PPT
Best Practices - Software Engineering
3Quill Softwares
 
PDF
SE2018_Lec 17_ Coding
Amr E. Mohamed
 
PDF
An introduction to software engineering
Carlos Gavidia-Calderon
 
PDF
SE_Lec 00_ Software Engineering 1
Amr E. Mohamed
 
PPT
Soft Eng - Software Process
Jomel Penalba
 
PPT
Ch4
phanleson
 
Software engineering tutorial
Ahmed Elshal
 
DISE - Introduction to Software Engineering
Rasan Samarasinghe
 
Slides chapters 26-27
Priyanka Shetty
 
Software Engineering Assignment
Sohaib Latif
 
Intro to software development
Hawkman Academy
 
Slides chapter 1
Priyanka Shetty
 
Software engineering
sweetysweety8
 
Software engineering Questions and Answers
Bala Ganesh
 
Pressman ch-1-software
AlenaDion
 
Intro to Software Engineering - Life Cycle Models
Radu_Negulescu
 
software engineering
Ahmed Elshahat Mohamed
 
Coding and testing in Software Engineering
Abhay Vijay
 
Introduction to Software Development
Zeeshan MIrza
 
Software engineering practices and software quality empirical research results
Nikolai Avteniev
 
Best Practices - Software Engineering
3Quill Softwares
 
SE2018_Lec 17_ Coding
Amr E. Mohamed
 
An introduction to software engineering
Carlos Gavidia-Calderon
 
SE_Lec 00_ Software Engineering 1
Amr E. Mohamed
 
Soft Eng - Software Process
Jomel Penalba
 

Viewers also liked (9)

PPTX
Overlay networks
Mayank Chaudhari
 
PDF
Customer App Flow
Zafar Ayub
 
PPTX
Network protocol structure scope
Sanat Maharjan
 
PPTX
SKYPE AS OVERLAY NETWORK
Prathamesh Sonawane
 
PPTX
Overlay network
iQra Rafaqat
 
PPTX
Overlay networks ppt
Akshay Hegde
 
PDF
Use case
Zafar Ayub
 
PDF
DockerCon EU 2015: Docker Networking Deep Dive
Docker, Inc.
 
PPTX
Data communication and network Chapter -1
Zafar Ayub
 
Overlay networks
Mayank Chaudhari
 
Customer App Flow
Zafar Ayub
 
Network protocol structure scope
Sanat Maharjan
 
SKYPE AS OVERLAY NETWORK
Prathamesh Sonawane
 
Overlay network
iQra Rafaqat
 
Overlay networks ppt
Akshay Hegde
 
Use case
Zafar Ayub
 
DockerCon EU 2015: Docker Networking Deep Dive
Docker, Inc.
 
Data communication and network Chapter -1
Zafar Ayub
 
Ad

Similar to Introduction of Software Engineering (20)

PPT
software engineering ethics
university of education,Lahore
 
PPTX
Overview of Software Engineering Principles - SCPS311.pptx
BypassFrp
 
PDF
SE18_Lec 11_ Software Code of Ethics
Amr E. Mohamed
 
PPTX
Software development lifecycle
nicky_walters
 
PDF
SE_Lec 01_ Introduction to Software Enginerring
Amr E. Mohamed
 
PPT
The Software Engineering Code and the ACM Code
Ahmed Elshal
 
PPTX
Lecture 1 SE.pptx
MaryamMahjabeenYouni
 
PDF
SE_Lec 10_ Software Code of Ethics
Amr E. Mohamed
 
PPTX
Introduction to software engineering templates slides
AbdullahHabib43
 
PPTX
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
SherinRappai1
 
PPTX
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
SherinRappai
 
PPTX
13. PP -II IEEE CS ACM Code of Ethics-1.pptx
muhammad562811
 
PDF
software-engineering-code-of-ethics-and-professional-practice_compress.pdf
JenniferPido
 
PPTX
1 se-introduction
Ahmed Alageed
 
PPTX
aswjkdwelhjdfshlfjkhewljhfljawerhwjarhwjkahrjar
muhammadalikhanalikh1
 
PPTX
Principles of programming
Rob Paok
 
PDF
SE18_Lec 01_Introduction to Software Engineering
Amr E. Mohamed
 
PPT
Coding
Vishal Singh
 
PDF
C, C++, Java, Python, PHP, JavaScript and Linux For Beginners
Manjunath.R -
 
software engineering ethics
university of education,Lahore
 
Overview of Software Engineering Principles - SCPS311.pptx
BypassFrp
 
SE18_Lec 11_ Software Code of Ethics
Amr E. Mohamed
 
Software development lifecycle
nicky_walters
 
SE_Lec 01_ Introduction to Software Enginerring
Amr E. Mohamed
 
The Software Engineering Code and the ACM Code
Ahmed Elshal
 
Lecture 1 SE.pptx
MaryamMahjabeenYouni
 
SE_Lec 10_ Software Code of Ethics
Amr E. Mohamed
 
Introduction to software engineering templates slides
AbdullahHabib43
 
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
SherinRappai1
 
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
SherinRappai
 
13. PP -II IEEE CS ACM Code of Ethics-1.pptx
muhammad562811
 
software-engineering-code-of-ethics-and-professional-practice_compress.pdf
JenniferPido
 
1 se-introduction
Ahmed Alageed
 
aswjkdwelhjdfshlfjkhewljhfljawerhwjarhwjkahrjar
muhammadalikhanalikh1
 
Principles of programming
Rob Paok
 
SE18_Lec 01_Introduction to Software Engineering
Amr E. Mohamed
 
Coding
Vishal Singh
 
C, C++, Java, Python, PHP, JavaScript and Linux For Beginners
Manjunath.R -
 
Ad

More from Zafar Ayub (10)

PDF
UML Review
Zafar Ayub
 
PPT
Software Prototyping
Zafar Ayub
 
PPT
Binary Search Tree
Zafar Ayub
 
PDF
Software Engineering – Course Outline
Zafar Ayub
 
PDF
MIS business approach
Zafar Ayub
 
PDF
MIS understanding
Zafar Ayub
 
PDF
Data communication and network Chapter - 2
Zafar Ayub
 
PDF
Inside the computer
Zafar Ayub
 
PDF
What is computer?
Zafar Ayub
 
PDF
Generations of computers
Zafar Ayub
 
UML Review
Zafar Ayub
 
Software Prototyping
Zafar Ayub
 
Binary Search Tree
Zafar Ayub
 
Software Engineering – Course Outline
Zafar Ayub
 
MIS business approach
Zafar Ayub
 
MIS understanding
Zafar Ayub
 
Data communication and network Chapter - 2
Zafar Ayub
 
Inside the computer
Zafar Ayub
 
What is computer?
Zafar Ayub
 
Generations of computers
Zafar Ayub
 

Recently uploaded (20)

PDF
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
PDF
Generative AI: it's STILL not a robot (CIJ Summer 2025)
Paul Bradshaw
 
PPTX
Stereochemistry-Optical Isomerism in organic compoundsptx
Tarannum Nadaf-Mansuri
 
PPSX
HEALTH ASSESSMENT (Community Health Nursing) - GNM 1st Year
Priyanshu Anand
 
PPTX
How to Manage Large Scrollbar in Odoo 18 POS
Celine George
 
PPTX
Universal immunization Programme (UIP).pptx
Vishal Chanalia
 
PPTX
Soil and agriculture microbiology .pptx
Keerthana Ramesh
 
PDF
The-Ever-Evolving-World-of-Science (1).pdf/7TH CLASS CURIOSITY /1ST CHAPTER/B...
Sandeep Swamy
 
PDF
community health nursing question paper 2.pdf
Prince kumar
 
PPTX
SPINA BIFIDA: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
PPTX
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
PDF
People & Earth's Ecosystem -Lesson 2: People & Population
marvinnbustamante1
 
PDF
The Different Types of Non-Experimental Research
Thelma Villaflores
 
PDF
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 
PDF
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
PDF
LAW OF CONTRACT ( 5 YEAR LLB & UNITARY LLB)- MODULE-3 - LEARN THROUGH PICTURE
APARNA T SHAIL KUMAR
 
PPT
Talk on Critical Theory, Part One, Philosophy of Social Sciences
Soraj Hongladarom
 
PDF
ARAL-Orientation_Morning-Session_Day-11.pdf
JoelVilloso1
 
PPTX
HYDROCEPHALUS: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
PDF
The dynastic history of the Chahmana.pdf
PrachiSontakke5
 
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
Generative AI: it's STILL not a robot (CIJ Summer 2025)
Paul Bradshaw
 
Stereochemistry-Optical Isomerism in organic compoundsptx
Tarannum Nadaf-Mansuri
 
HEALTH ASSESSMENT (Community Health Nursing) - GNM 1st Year
Priyanshu Anand
 
How to Manage Large Scrollbar in Odoo 18 POS
Celine George
 
Universal immunization Programme (UIP).pptx
Vishal Chanalia
 
Soil and agriculture microbiology .pptx
Keerthana Ramesh
 
The-Ever-Evolving-World-of-Science (1).pdf/7TH CLASS CURIOSITY /1ST CHAPTER/B...
Sandeep Swamy
 
community health nursing question paper 2.pdf
Prince kumar
 
SPINA BIFIDA: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
People & Earth's Ecosystem -Lesson 2: People & Population
marvinnbustamante1
 
The Different Types of Non-Experimental Research
Thelma Villaflores
 
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
LAW OF CONTRACT ( 5 YEAR LLB & UNITARY LLB)- MODULE-3 - LEARN THROUGH PICTURE
APARNA T SHAIL KUMAR
 
Talk on Critical Theory, Part One, Philosophy of Social Sciences
Soraj Hongladarom
 
ARAL-Orientation_Morning-Session_Day-11.pdf
JoelVilloso1
 
HYDROCEPHALUS: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
The dynastic history of the Chahmana.pdf
PrachiSontakke5
 

Introduction of Software Engineering

  • 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. [email protected] 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 [email protected] 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) [email protected] 4
  • 5. Code of Ethics 1. Product 2. Public 3. Judgment [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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, [email protected] 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). [email protected] 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. [email protected] 18