Nothing Special   »   [go: up one dir, main page]

659cef8a14c23 PPT

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 8

Software implementation

techniques
Coding and refractoring
Structured Programming

• It encourages the developer to use subroutines and loops instead of


using simple jumps in the code, thereby bringing clarity in the code
and improving its efficiency Structured programming also helps
programmer to reduce coding time and organize code properly.
• Structured programming states how the program shall be coded.
Structured programming uses three main concepts:
• Top-down analysis - A software is always made to perform some
rational work. This rational work is known as problem in the software
parlance.
• Modular Programming - While programming, the code is broken
down into smaller group of instructions. These groups are known as
modules, subprograms or subroutines. Modular programming based
on the understanding of top-down analysis.
• Structured programming uses control structure, which controls the
flow of the program, whereas structured coding uses control
structure to organize its instructions in definable patterns.
Functional programming
• Functional programming is style of programming language, which
uses the concepts of mathematical functions. A function in
mathematics should always produce the same result on receiving the
same argument.
• Functional programming provides means of computation as
mathematical functions, which produces results irrespective of
program state. This makes it possible to predict the behavior of the
program
Functional programming uses the following concepts:

• First class and High-order functions - These functions have capability to


accept another function as argument or they return other functions as
results.
• Pure functions - These functions do not include destructive updates,
that is, they do not affect any I/O or memory and if they are not in use,
they can easily be removed without hampering the rest of the program.
• Recursion - Recursion is a programming technique where a function
calls itself and repeats the program code in it unless some pre-defined
condition matches. Recursion is the way of creating loops in functional
programming.
Programming style
• Programming style is set of coding rules followed by all the
programmers to write the code.
• When multiple programmers work on the same software project, they
frequently need to work with the program code written by some
other developer.
• Coding Guidelines
• Practice of coding style varies with organizations, operating systems
and language of coding itself.
• Naming conventions - This section defines how to name functions,
variables, constants and global variables.
• Indenting - This is the space left at the beginning of line, usually 2-8
whitespace or single tab.
• Whitespace - It is generally omitted at the end of line.
• Operators - Defines the rules of writing mathematical, assignment and
logical operators. For example, assignment operator ‘=’ should have
space before and after it, as in “x = 2”.
• Control Structures - The rules of writing if-then-else, case-switch, while-
until and for control flow statements solely and in nested fashion.
Software Implementation Challenges

There are some challenges faced by the development team while implementing the
software. Some of them are mentioned below:
• Code-reuse - Programming interfaces of present-day languages are very sophisticated
and are equipped huge library functions. Still, to bring the cost down of end product,
the organization management prefers to re-use the code, which was created earlier
for some other software. There are huge issues faced by programmers for
compatibility checks and deciding how much code to re-use.
• Version Management - Every time a new software is issued to the customer,
developers have to maintain version and configuration related documentation. This
documentation needs to be highly accurate and available on time.
• Target-Host - The software program, which is being developed in the organization,
needs to be designed for host machines at the customers end. But at times, it is
impossible to design a software that works on the target machines.

You might also like