









Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
here the topics are software maintenanace, key aspects of software maintenanace,
Typology: Assignments
1 / 17
This page cannot be seen from the preview
Don't miss anything!
1. Corrective Maintenance - This includes modifications and updations done in order to correct or fix problems, which are either discovered by user or concluded by user error reports. 2. Adaptive Maintenance - This includes modifications and updations applied to keep the software product up-to date and tuned to the ever-changing world of technology and business environment. 3. Perfective Maintenance - This includes modifications and updates done in order to keep the software usable over long period of time. It includes new features, new user requirements for refining the software and improve its reliability and performance. 4. Preventive Maintenance - This includes modifications and updations to prevent future problems of the software. It aims to attend problems, which are not significant at this moment but may cause serious issues in future.
The maintenance process in software engineering involves a series of steps and activities aimed at ensuring that software remains functional, secure, and efficient over its lifecycle. This process encompasses identifying, prioritizing, planning, implementing, testing, deploying, and documenting changes and updates to the software.
1. Identification Phase: This is where we figure out what needs to be done. It's like identifying what kind of cake you want to bake. We gather requirements and understand what the software needs to do and who will use it. This phase helps us set clear goals for the project. 2. Analysis Phase: Once we know what we need to do, we dig deeper into the details. It's like figuring out what ingredients and tools you'll need to bake the cake. We analyze the requirements gathered in the Identification Phase to understand how the software will work and what it will look like. 3. Design Phase: With a clear understanding of what the software should do, we start planning how to build it. It's like creating a blueprint or recipe for the cake. We design the architecture, user interface, and other components of the software to ensure it meets the requirements identified earlier.
Software maintenance may require different approaches based on your business goals, the industry you function in, the expertise of your tech team, and the predictive trends of the market. To overcome internal as well as external problems of the software, Software maintenance models are proposed. These models use different approaches and techniques to simplify the process of maintenance as well as to make is cost effective. Software maintenance models that are of most importance are
Quick-Fix Model: Imagine you find a leak in your roof during a rainstorm. You quickly grab a bucket to catch the water and stop the leak temporarily. Similarly, in the Quick-Fix Model, when there's a problem or "bug" in the software, developers quickly apply a temporary solution or patch to fix it. This model prioritizes speedy fixes to address urgent issues and keep the software running smoothly. However, these quick fixes are usually temporary, and a more permanent solution may be needed later.
The Re-use Oriented Model: Think of building a house using pre-made building blocks or Lego pieces. Instead of starting from scratch every time, you use existing components to assemble the structure more efficiently. Similarly, in the Reuse-Oriented Model, software development focuses on reusing pre-existing components, modules, and frameworks to build new systems or enhance existing ones. This model promotes efficiency, consistency, and maintainability by leveraging proven solutions rather than reinventing the wheel for each project. By reusing components, developers can save time and effort while ensuring the reliability and quality of the software.
Taute Maintenance Model: Named after the person who proposed the model, Imagine regularly maintaining your car to keep it running smoothly and prevent breakdowns. You perform routine checks, repairs, and replacements to ensure optimal performance and longevity. Similarly, in the Taute Maintenance Model, software maintenance is approached systematically and proactively, with a focus on preventing issues before they occur. This model emphasizes preventive maintenance strategies such as regular inspections, updates, and optimizations to keep the software in good condition and minimize the risk of failures or disruptions.