0% found this document useful (0 votes)
15 views18 pages

SW Engg Notes

The document outlines various software development methodologies, including the project control list, spiral model, incremental development, and reuse-oriented software engineering. It emphasizes the importance of project management processes such as initiating, planning, executing, monitoring and controlling, and closing to ensure successful software development. Additionally, it discusses the benefits and challenges of incremental development and the systematic reuse of software components in modern development practices.

Uploaded by

Mallikarjun Rao
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views18 pages

SW Engg Notes

The document outlines various software development methodologies, including the project control list, spiral model, incremental development, and reuse-oriented software engineering. It emphasizes the importance of project management processes such as initiating, planning, executing, monitoring and controlling, and closing to ensure successful software development. Additionally, it discusses the benefits and challenges of incremental development and the systematic reuse of software components in modern development practices.

Uploaded by

Mallikarjun Rao
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Project Control List

• The project control list guides the iteration steps and keeps track of all tasks
that must be done. The tasks in the list can include redesign of defective
components found during analysis. Each entry in the list is a task that
should be performed in one step of the iterative enhancement process, and
should be simple enough to be completely understood. Selecting tasks in
this manner will minimize the chances of error and reduce the redesign
work. The design and implementation phases of each step can be
performed in a top-down manner or by using some other technique
The Spiral Model
• The activities in this model can be organized like a spiral.
• The spiral has many cycles . The radial dimension represents the cumulative
cost incurred in accomplishing the steps done so far, and the angular
dimension represents the progress made in completing each cycle of the
spiral
• Each cycle in the spiral begins with the identification of objectives for that cycle,
the different alternatives that are possible for achieving the objectives, and the
imposed constraints. The next step in the cycle is to evaluate these different
alternatives based on the objectives and constraints. This willalso involve
identifying uncertainties and risks involved. The next step is to develop
strategies that resolve the uncertainties and risks. This step may involve
activities such as benchmarking , simulation, and prototyping. Next, the
software is developed, keeping in mind the risks. Finally the next stage is
planned.
• The next step is determined by the remaining risks. For example, if
performance or user-interface risks are considered more important than the
program development risks, the next step may be an evolutionary development
that involves developing a more detailed prototype for resolving the risks. On
the other hand, if the program development risks dominate and the previous
prototypes have resolved all the user-interface and performance risks , the next
step will follow the basic waterfall approach.
• The risk driven nature of the spiral model allows it to accommodate any
mixture of specification-oriented, prototype-oriented, simulationoriented, or
some other approach. An important feature of the model is that each cycle of
the spiral is completed by a review which covers all the products developed
during that cycle, including plans for the next cycle. The spiral model works for
development as well as enhancement projects.
Incremental development
• is based on the idea of developing an initial implementation, exposing this to user comment
and evolving it through several versions until an adequate system has been developed
• Specification, development, and validation activities are interleaved rather than separate,
with rapid feedback across activities.
• A fundamental part of agile approaches, is better than a waterfall approach for most
business, e-commerce, and personal systems
• By developing the software incrementally, it is cheaper and easier to make changes in the
software as it is being developed.
Incremental development benefits
• The cost of accommodating changing customer requirements is reduced.
• The amount of analysis and documentation that has to be redone is much less
than is required with the waterfall model.
• It is easier to get customer feedback on the development work that has been
done.
• Customers can comment on demonstrations of the software and see how
much has been implemented.
• More rapid delivery and deployment of useful software to the customer is
possible.
• Customers are able to use and gain value from the software earlier than is
possible with a waterfall process.
Incremental development problems
• The process is not visible.
• Managers need regular deliverables to measure progress. If systems are
developed quickly, it is not cost-effective to produce documents that reflect
every version of the system.
• System structure tends to degrade as new increments are added.
• Unless time and money is spent on refactoring to improve the software,
regular change tends to corrupt its structure. Incorporating further software
changes becomes increasingly difficult and costly.
Reuse-oriented software engineering
• in the 21st century, software development processes that focus on the reuse of existing
software have become widely used.
• Reuse-oriented approaches rely on a large base of reusable software components and an
integrating framework for the composition of these components.
• Based on systematic reuse where systems are integrated from existing components or COTS
(Commercial-off-the-shelf) systems.
• Popular in web software development
• Reuse is now the standard approach for building many types of business system
1. Component analysis
• Given the requirements specification, a search is made for components to implement that
specification.
• Usually , there is no exact match and the components that may be used only provide some of the
functionality required.
2. Requirements modification
• During this stage, the requirements are analyzed using information about the components that have
been discovered.
• They are then modified to reflect the available components. Where modifications are impossible,
the component analysis activity may be re-entered to search for alternative solutions.
3. System design with reuse
• During this phase, the framework of the system is designed or an existing framework is reused.
• The designers take into account the components that are reused and organize the framework to
cater for this. Some new software may have to be designed if reusable components are not
available.
4. Development and integration Software that cannot be externally procured is
developed, and the components and COTS systems are integrated to create the new
system.
Project Management Processes
• Proper management is an integral part of software development. A large software
development project involves many people working for a long period of time. For these
people to work efficiently, they have to be organized properly and work must be divided into
different parts so that people can work independently. Then progress of these parts must be
monitored, and corrective actions taken, if needed, to ensure that the overall project
progresses smoothly.
• the two basic issues for software engineering are software quality and cost. We have also
stated that following a properly selected development process model will lead to high quality
software at low cost. However, the process model does not specify how to allocate resources
for the different activities in the process. Nor does it specify any schedule for the activities.
These activities must be specified and performed by the project management. The major
issues to be addressed by the project management are: process management, resource
allocation, and development schedule
Project Management Processes
The five project management processes are typically defined as:
• Initiating: During this phase, the project is conceptualized, and feasibility is determined.
• The activities that should be performed during this process include
• defining the project goal;
• defining the project scope;
• identifying the project manager and the key stakeholders;
• identifying potential risks, and
• producing an estimated budget and timeline.

• Planning: The project manager will create a blueprint to guide the entire project from ideation through
completion.
• This blueprint will map out
• the project’s scope;
• resources required to create the deliverables;
• estimated time and financial commitments;
• communication strategy to ensure stakeholders are kept up to date and involved;
• execution plan; and
• proposal for ongoing maintenance.
• If the project has not yet been approved, this blueprint will serve as a critical part of the pitch.
• Monitoring and control: During this process group, project
managers will closely measure the project's progress to ensure
it is developing properly. Documentation such as data
collection and verbal and written status reports may be used.
• “Monitoring and controlling are closely related to project
planning. While planning determines what is to be done,
monitoring and controlling establish how well it has been
done,”.
• “Monitoring will detect any necessary corrective action or
change in the project to keep the project on track.”
• Closing: The closing process group occurs once the project
deliverables have been produced and the stakeholders
validate and approve them.
• During this phase, the project manager will close contracts
with suppliers, external vendors, consultants, and other third-
party providers.
• All documentation will be archived, and a final project report
will be produced.
• Further, the final part of the project plan — the plan for
troubleshooting and maintenance — will kick into place.
• Executing: During this phase, the project manager will conduct the
procurement required for the project and staff the team.
• Execution of the project objectives requires effective management of the team members
on the ground.
• PMs are responsible for delegating and overseeing the work on the project
while maintaining good relationships with all team members and keeping the
entire project on time and budget.
• The PM must, therefore, be highly organized and an exceptional leader. That’s
because they’ll need to address team concerns and issues that arise along the
way, requiring frequent and open communication with all team members and
stakeholders.

You might also like