Software Engineering-Unit-1
Software Engineering-Unit-1
Software Engineering-Unit-1
ENGINEERING
MINOR DEGREE
The Evolving Role of Software
software takes on a dual role. One is a product and
other one is vehicle for delivering a product
Product- delivers the computing potential embodied by computer hardware
- network of computers that are accessible by local hardware.
software is an information transformer—producing, managing, acquiring,
modifying, displaying, or transmitting information
Vehicle - used to deliver the product,
-software acts as the basis for the control of the computer (operating systems),
-the communication of information (networks)
- the creation and control of other programs (software tools and environments).
-Software delivers the most important product of our time—information
Software transforms personal data
- Manages business information to enhance competitiveness
- provides the means for acquiring information in
all of its forms
- provides a gateway to worldwide information networks (e.g., Internet)
The software role has undergone significant change over a time span due to –
-Dramatic improvements in hardware performance
-profound changes in computing architectures
-vast increases in memory and storage capacity
-wide variety of exotic input and output options have all precipitated
more sophisticated and complex computer-based
systems.
The lone programmer are being asked when modern computer-based systems are built:
1)Why does it take so long to get software finished?
2)Why are development costs so high?
3)Why can't we find all the errors before we give the software to customers?
4)Why do we continue to have difficulty in measuring progress as software is being
developed
Software
Instructions or programs that when executed provide desired function and performance
Data structures that enable the programs to adequately manipulate information
Documents that describe the operation and use of the program
Software Characteristics:
Software is a logical rather than a physical system element.
Software is developed or engineered, it is not manufactured in the classical sense.
Manufacturing phase of a product introduces quality problems.
Software costs are concentrated in engineering, hence cannot be managed as if they are
manufacturing projects.
Software doesn’t “wear out”. It deteriorates (decline).
Hardware: Wear out hardware components can be replaced.
Software: Software maintenance requires changing the design and or code.
Although the industry is moving toward component-based construction, most software
continues to be custom built. (built or made to a particular customer's order)
Availability of Software
Paid software - Pay and use
Closed Source – Microsoft office, .NET, Android
Shareware - Trail on use then paid –
Mat lab, Mcfee Antivirus, Adobe Photoshop
(Mongolian horde)
Reality – No, adding new programmers need to be trained which effect on product
Myth - Outsource a software project to a 3rd party
Reality – Manage and control the projects less possible with outsourcing.
Software Myths(customer(client)’s)
Myth - Developing a system with a general statement of objectives.
Details can be filled in later.
Reality – Majority of software projects fail due to lack of up-front detailed details.
The product is the final result of a The process is a sequence or set of steps
1 Concept
development cycle. that should be followed to create a product.
The process focuses on each step to be
Product development focus is on final
2 Focus followed during software product
outcome.
development.
1. Communication- developer and customer meet and discuss the overall objectives of the software.
Inception Encompasses both customer communication and planning activities. development of use-cases,
Phase a rough architecture is proposed and a plan for iterative, incremental nature of the project is developed.
Elaboration preliminary use-cases developed in previous phase are refined and expanded. In addition the architecture and plans are
refined to ensure that the scope, risks, and delivery times remain reasonable.
Phase
Construction As these components are being developed, unit tests are designed and executed for each.
Phase The different components are also integrated and tested.
Transition software is given to users for testing with the intent of uncovering defects and deficiencies. software team assesses the
feedback. user manuals, trouble-shooting guides, and installation procedures are produced.
Phase
Production During this phase, the on-going use of the software is monitored, support is provided and defect reports and requests for
changes are submitted and evaluated.
Phase
The Unified Process