Vous êtes sur la page 1sur 2

Visit this site to learn how Service Virtualization can improve the quality of

your software development, accelerate delivery and reduce testing bottlenecks


within your organization.

Click Here
Blogs

Blogs

Software Quality
Insights
Powered By
ITKnowledgeExchange.com

Search this site

Home
Topics
Software Development Models and Methodologies
Software Development Fundamentals
structured programming (modular programming)

Definition

structured programming (modular programming)


E-Mail
Print
A
AA
AAA
LinkedIn
Facebook
Twitter
Share This
RSS
Reprints

Software Development Fundamentals


Programming

Structured programming (sometimes known as modular programming) is a subset of procedural programming that enforces a
logical structure on the program being written to make it more efficient and easier to understand and modify. Certain languages
such as Ada, Pascal, and dBASE are designed with features that encourage or enforce a logical program structure.

Structured programming frequently employs a top-down design model, in which developers map out the overall program
structure into separate subsections. A defined function or set of similar functions is coded in a separate module or submodule,
which means that code can be loaded into memory more efficiently and that modules can be reused in other programs. After a
module has been tested individually, it is then integrated with other modules into the overall program structure.

Program flow follows a simple hierarchical model that employs looping constructs such as "for," "repeat," and "while." Use of the
"Go To" statement is discouraged.
Structured programming was first suggested by Corrado Bohm and Guiseppe Jacopini. The two mathematicians demonstrated
that any computer program can be written with just three structures: decisions, sequences, and loops. Edsger Dijkstra's
subsequent article, Go To Statement Considered Harmful was instrumental in the trend towards structured programming. The
most common methodology employed was developed by Dijkstra. In this model (which is often considered to be synonymous
with structured programming, although other models exist) the developer separates programs into subsections that each have only
one point of access and one point of exit.

Almost any language can use structured programming techniques to avoid common pitfalls of unstructured languages.
Unstructured programming must rely upon the discipline of the developer to avoid structural problems, and as a consequence
may result in poorly organized programs. Most modern procedural languages include features that encourage structured
programming. Object-oriented programming (OOP) can be thought of as a type of structured programming, uses structured
programming techniques for program flow, and adds more structure for data to the model.

Related glossary terms: integrated development environment (IDE), ad hoc test, layer, Standard Performance Evaluation
Corporation (SPEC) , Jenkins, peer review, hybrid application (hybrid app), skeuomorphism, heuristics, program
This was last updated in August 2005
Posted by: Margaret Rouse

Email Alerts

Register now to receive SearchSoftwareQuality.com-related news, tips and more, delivered to your inbox.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent
to having your personal data transferred to and processed in the United States. Privacy

More News and Tutorials

Software developers: Dealing with untrusted Wi-Fi connections

Expert Dan Cornell explains how to ensure mobile apps behave securely -- even when they encounter untrusted Wi-Fi or
Bluetooth connections.

A guide to platform-specific security for the mobile developer

It's essential for the mobile developer to understand the security features of the different mobile operating systems. Dan
Cornell explains the basics.

Software product success: Maintain customer focus

SearchSoftwareQuality expert Scott Sehlhorst explains why maintaining customer focus is crucial to delivering high quality
software products.