The document discusses non-structured and structured programming. Non-structured programming uses sequential statements and line numbering to control flow with jumps. It lacks procedures, local variables, and complex data types. Structured programming uses procedures, control structures like loops and conditionals, and blocks to improve clarity, quality and development time over non-structured programming. Key aspects of structured programming include proper use of subroutines, selection and iteration control structures, and single entry/exit points in loops.
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Software engineering is an engineering branch associated with development of software product using well-defined scientific principles, methods and procedures. The outcome of software engineering is an efficient and reliable software product.
Esoft Metro Campus - Diploma in Software Engineering - (Module I) Introduction to Software Engineering
(Template - Virtusa Corporate)
Contents:
What is software?
Software classification
Generic Software vs Custom Software
Attributes of Software
What is Software Engineering?
Software Engineering Process Model
Waterfall Model
Waterfall Model Stages
Extended Waterfall Model
Prototype Model
Throw away prototype model
Evolutionary prototype model
Rapid application development model (RAD)
Stages in the RAD
Software engineering practices and software quality empirical research resultsNikolai Avteniev
This presentation summarizes empirical research findings in software engineering practices including test driven development, peer code reviews, and defect prediction.
Science and Engineering
Discover
Relationships that exist but are not found
Formulas; chemical composition, d=r*t; calories in fats, carbohydrates, proteins; experimentation;
Astrophysics – origins of the universe
Build
Apply principles of science and mathematics to real needs, commodities, structures, products, etc.
Software Engineering; Software Development
An introduction to software engineering, based on the first chapter of "A (Partial) Introduction to Software Engineering
Practices and Methods" By Laurie Williams
Software engineering is an engineering branch associated with development of software product using well-defined scientific principles, methods and procedures. The outcome of software engineering is an efficient and reliable software product.
Esoft Metro Campus - Diploma in Software Engineering - (Module I) Introduction to Software Engineering
(Template - Virtusa Corporate)
Contents:
What is software?
Software classification
Generic Software vs Custom Software
Attributes of Software
What is Software Engineering?
Software Engineering Process Model
Waterfall Model
Waterfall Model Stages
Extended Waterfall Model
Prototype Model
Throw away prototype model
Evolutionary prototype model
Rapid application development model (RAD)
Stages in the RAD
Software engineering practices and software quality empirical research resultsNikolai Avteniev
This presentation summarizes empirical research findings in software engineering practices including test driven development, peer code reviews, and defect prediction.
Science and Engineering
Discover
Relationships that exist but are not found
Formulas; chemical composition, d=r*t; calories in fats, carbohydrates, proteins; experimentation;
Astrophysics – origins of the universe
Build
Apply principles of science and mathematics to real needs, commodities, structures, products, etc.
Software Engineering; Software Development
An introduction to software engineering, based on the first chapter of "A (Partial) Introduction to Software Engineering
Practices and Methods" By Laurie Williams
DockerCon EU 2015: Docker Networking Deep DiveDocker, Inc.
with Jana Radhakrishnan, Lead Software Engineer at Docker, and David Tucker, Product Manager, Docker
Docker Networking is a feature of Docker Engine that allows you to create virtual networks and attach containers to them so you can create the network topology that is right for your application. The networked containers can even span multiple hosts, so you don’t have to worry about what host your container lands on. They can seamlessly communicate with each other wherever they are - thus enabling true distributed applications.
And Networking is pluggable, so you can use any third-party networking driver to power your networks without having to make any changes to your application.
Read more: https://blog.docker.com/2015/11/docker-multi-host-networking-ga/
--
Docker is an open platform for developers and system administrators to build, ship and run distributed applications. With Docker, IT organizations shrink application delivery from months to minutes, frictionlessly move workloads between data centers and the cloud and can achieve up to 20X greater efficiency in their use of computing resources. Inspired by an active community and by transparent, open source innovation, Docker containers have been downloaded more than 700 million times and Docker is used by millions of developers across thousands of the world’s most innovative organizations, including eBay, Baidu, the BBC, Goldman Sachs, Groupon, ING, Yelp, and Spotify. Docker’s rapid adoption has catalyzed an active ecosystem, resulting in more than 180,000 “Dockerized” applications, over 40 Docker-related startups and integration partnerships with AWS, Cloud Foundry, Google, IBM, Microsoft, OpenStack, Rackspace, Red Hat and VMware.
Learn more at www.docker.com
fundamentals of software engineering.this unit covers all the aspects of software engineering coding standards and naming them and code inspectionna an d various testing methods and
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
Biological screening of herbal drugs: Introduction and Need for
Phyto-Pharmacological Screening, New Strategies for evaluating
Natural Products, In vitro evaluation techniques for Antioxidants, Antimicrobial and Anticancer drugs. In vivo evaluation techniques
for Anti-inflammatory, Antiulcer, Anticancer, Wound healing, Antidiabetic, Hepatoprotective, Cardio protective, Diuretics and
Antifertility, Toxicity studies as per OECD guidelines
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
Safalta Digital marketing institute in Noida, provide complete applications that encompass a huge range of virtual advertising and marketing additives, which includes search engine optimization, virtual communication advertising, pay-per-click on marketing, content material advertising, internet analytics, and greater. These university courses are designed for students who possess a comprehensive understanding of virtual marketing strategies and attributes.Safalta Digital Marketing Institute in Noida is a first choice for young individuals or students who are looking to start their careers in the field of digital advertising. The institute gives specialized courses designed and certification.
for beginners, providing thorough training in areas such as SEO, digital communication marketing, and PPC training in Noida. After finishing the program, students receive the certifications recognised by top different universitie, setting a strong foundation for a successful career in digital marketing.
Honest Reviews of Tim Han LMA Course Program.pptxtimhan337
Personal development courses are widely available today, with each one promising life-changing outcomes. Tim Han’s Life Mastery Achievers (LMA) Course has drawn a lot of interest. In addition to offering my frank assessment of Success Insider’s LMA Course, this piece examines the course’s effects via a variety of Tim Han LMA course reviews and Success Insider comments.
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