Leave your Comments

Contributors

I.SOFTWARE- set of instructions or programs instructing a computer to do
specific tasks. It enables the user to interact with the computer, its hardware or
perform tasks.
Software is often divided into three categories:
• System software serves as a base for application software. System
software includes device drivers, operating systems (OSs), compilers,
disk formatters, text editors and utilities helping the computer to operate
more efficiently. It is also responsible for managing hardware
components and providing basic non-task-specific functions. The system
software is usually written in C programming language.
• Application software is intended to perform certain tasks. Examples of
application software include office suites, gaming applications, database
systems and educational software. Application software can be a single
program or a collection of small programs.
II.DIFFERENCE BETWEEN SOFTWARE AND PROGRAM
S. Software
Program
No.
1
The software is a broad term which is A program is set of instructions which
designed to perform some specific set perform only a specific type of task.
of operations.
2
A software consists of bundles of
A program consists of a set of
programs and data files. Programs in a instructions which are coded in a
specific software use these data files to programming language like C, C++,
perform a dedicated type of tasks.
PHP, Java etc.
3
A software can be classified into two
A program cannot be classified into
categories: application software and
various categories.
system software.
4
Examples of application software:
Program showing whether a given
Microsoft Word, Microsoft Excel,
number is even or odd, program to find
VLC media player
factorial of a number, program to find
Examples of system software:
greatest of all given numbers.
Windows, Linux, Unix, Mac etc.
5
A software is developed by either a
A program is developed and also used by
single programmer or a group of
either a single programmer or a group of
programmers but it is developed for a programmers.
naïve user.
6
Every software has a dedicated user
Programs don’t have a user interface.
interface. The user interface of a
software may be in the form of
command prompt or in a graphical
format.

8
9
Software development life
SDLC is not used to make programs.
cycle (SDLC) is used to develop every
software.
A software is not compiled when we
A program is compiled every time when
give it commands to perform specific we need to generate some output from it.
operations. However, a whole
software is compiled, tested and
debugged in the development process.
III.CHARACTERISTICS OF SOFTWARE:
1. Maintainability is "the ease with which changes can be made to satisfy new
requirements or to correct deficiencies" Well designed software should be flexible
enough to accommodate future changes that will be needed as new requirements
come to light. Maintenance accounts for nearly 70% of the cost of the software life
cycle.
2. Correctness is "the degree with which software adheres to its specified
requirements". Well designed software should meet all the requirements stated in
the requirements specification document. This characteristic is one of the hardest
to assess because of the tremendous complexity of software products. Also,some
products of the software life cycle such as the design specification cannot be
"executed" for testing. Instead, these products must be tested with various other
techniques such as formal proofs, inspections, and walkthroughs.
3. Reusability is "the ease with which software can be reused in developing other
software". By reusing existing software, developers can create more complex
software in a shorter amount of time. Software can be designed to accommodate
reuse in many situations. A simple example of software reuse could be the
development of an efficient sorting routine that can be incorporated in many future
applications.
4. Reliability is "the frequency and criticality of software failure, where failure is an
unacceptable effect or behavior occurring under permissible operating conditions".
The frequency of software failure is measured by the average time between
failures. The criticality of software failure is measured by the average time
required for repair. Ideally, software engineers want their products to fail as little
as possible (i.e., demonstrate high correctness) and be as easy as possible to fix
(i.e., demonstrate good maintainability).
5. Portability is "the ease with which software can be used on computer
configurations other than its current one”. Porting software to other computer
configurations is important for several reasons. First, "good software products can
have a life of 15 years or more, whereas hardware is frequently changed at least
every 4 or 5 years. Thus good software can be implemented, over its lifetime, on
three or more different hardware configurations". Second, porting software to a

new computer configuration may be less expensive than developing analogous
software from scratch.
6. Efficiency is "the degree with which software fulfills its purpose without waste of
resources". Some measures of efficiency are: the speed of a program's execution.,
the amount of storage space the program requires for execution. Often these two
measures are inversely related, that is, increasing the execution efficiency causes a
decrease in the space efficiency.
IV.PROJECT: is a sequence of tasks planned from beginning to end, bounded by time,
resources and required results. Tasks need to be completed in order to reach a specific
outcome. A project can also be defined as a set of inputs and outputs required to achieve
a particular goal.
SOFTWARE PROJECT: Software Project is the complete procedure of software
development from requirement gathering to testing and maintenance, carried out
according to the execution methodologies, in a specified period of time to achieve
intended software product.A Project can be characterized as:
• Every project may has a unique and distinct goal.
• Project is not routine activity or day-to-day operations.
• Project comes with a start time and end time.
• Project ends when its goal is achieved hence it is a temporary phase in the lifetime
of an organization.
• Project needs adequate resources in terms of time, manpower, finance, material
and knowledge-bank.
V.WHY SPM?
Software is said to be an intangible product. Most software products are tailor made to
fit client’s requirements. The most important is that the underlying technology changes
and advances so frequently and rapidly that experience of one product
may not be applied to the other one. All such business and
environmental constraints bring risk in software development
hence it is essential to manage software projects efficiently.
The image above shows triple constraints for software
projects. It is an essential part of software organization to
deliver quality product, keeping the cost within client’s
budget constrain and deliver the project as per scheduled. There are
several factors, both internal and external, which may impact this triple constrain
triangle. Any of three factor can severely impact the other two.
Therefore, software project management is essential to incorporate user requirements
along with budget and time constraints.

1. Defines a plan and organises chaos – projects are naturally chaotic. The primary
business function of project management is organizing and planning projects to
tame this chaos. A clear path mapped out from start to finish ensures the outcome
meets the goals of your project.
2. Establishes a schedule and plan – Without a schedule, a project has a higher
probability of delays and cost overruns. A sound schedule is key to a successful
project.
3. Enforces and encourages teamwork – A project brings people together to share
ideas and provide inspiration. Collaboration is the cornerstone to effective project
planning and management.
4. Maximises resources – Resources, whether financial or human, are expensive. By
enforcing project management disciplines such as project tracking and risk
management, all resources are used efficiently and economically.
5. Manages Integration – Projects don’t happen in a vacuum. They need to be
integrated with business processes, systems and organizations.
You can’t build a sales system that doesn’t integrate with your sales process and
sales organization. It wouldn’t add much value. Integration is often key to project
value.
Project management identifies and manages integration.
6. Controls cost – some projects can cost a significant amount of money so on budget
performance is essential. Using project management strategies greatly reduces the
risk of budget overruns.
7. Manages change – projects always happen in an environment in which nothing is
constant except change. Managing change is a complex and daunting task. It is not
optional. Project management manages change.
8. Managing quality – Quality is the value of what you produce. Project management
identifies, manages and controls quality. This results in a high quality product or
service and a happy client.
9. Retain and use knowledge – projects generate knowledge or at least they should.
Knowledge represents a significant asset for most businesses. Left unmanaged
knowledge tends to quickly fade. Project management ensures that knowledge is
captured and managed.
10. Learning from failure – projects do fail. When they do, it is important to learn from
the process. Project management ensures that lessons are learned from project
success and failure.
VI. ACTIVITIES COVERED BY SOFTWARE PROJECT MANAGER
A software project manager is a person who undertakes the responsibility of executing
the software project. Software project manager is thoroughly aware of all the phases of
SDLC that the software would go through. Project manager may never directly involve
in producing the end product but he controls and manages the activities involved in