Lecture 2 (1) - Copy
Lecture 2 (1) - Copy
It can be complex, meaning it can have many interrelated parts and features.
It can be difficult to understand and modify, especially for large and complex systems.
Deals with the amount of effort or time required to learn how to use the software.
Understandability
Operability
5. Maintainability
It refers to the ease with which modifications can be made in a software system to extend
its functionality, improve its performance, or correct errors.
Adaptability
Instability
Replaceability
6. Portability
A set of attributes that gives the software the ability to be transferred from one
environment to another, without minimum changes.
Adaptability
Instability
Replaceability
What are Software Myths? Most, experienced experts have seen myths as
Software myths are opinions formed without misleading attitudes which create major
adequate evidence about Software and its creation problems for management and technical
that people hold to be true but are in fact untrue. people.
Professionals in Software Engineering have now
identified software myths that have persisted Types of software-related Myths
throughout the years. I. Management Myths
Managers are often under pressure for software development under a tight budget, improved quality,
and a packed schedule, often believing in some software myths. Following are some management
myths.
Myth 1
Manuals containing simple procedures, principles, and standards are enough for developers to
acquire all the information they need for software development.
Reality
Standards discussed in modules are often outdated, inadaptable, and incomplete. Not all the
standards in the manual are known to developers as not all means tend to decrease delivery time
and maintain high quality.
Myth 3
If a project is outsourced to a third party, we could just relax and wait for them to build it.
Reality
If an organization is not able to manage and control software projects internally, then the
organization will suffer invariably when they outsourced the project.
Customer Myths
Customer Myths are generally due to false expectations by customers, and these myths end
up leaving customers with dissatisfaction with the software developers.
Myth 1
A general statement of intent is enough to start software development and details of
objectives can be done over time.
Reality:
Detailed description of the database function, ethical performance, communication,
Reality
The longer the time for which software has proceeded for development, it
becomes more and more difficult to accommodate any changes.
Developers often work under management pressure to complete software within a timeframe,
with fewer resources often believing in these software myths. Following are some practitioners’
myths.
Myth 1
Once the software is developed or the code is delivered to the customer, the developer's work
ends.
Reality
A significant amount of developers' work, i.e., 50-60 % of all the efforts expended on software,
will be spent after the developer provides the software.
Major requirements get found missing, and new bugs may get discovered.
Myth 2
Software testing could only be possible when the software program starts running.
Reality
Quality of software could be measured at any phase of development by applying
some QA mechanism.
Myth 3
Unnecessary documentation slows down the process of software development.
Reality
Software engineering is about creating a quality product at every level and not
about adding unnecessary work.
Proper documentation of software helps developers to guide the user and
enhance the quality, which reduces the amount of rework.
Software Development Design Principles
Consider using an iterative life cycle process. Break down the project into smaller
Continuously revisit and refine these stages to accommodate changes and improve
the software.
Advantage
This method allows for the identification and elimination of risks in the early stages.
3. Component-based approach
Encourage a component-based approach.
Advantage
Ensures that the software remains adaptable to dynamic requirements
and minimizes disruptions caused by changes.
5. Round trip engineering
Integrate round trip engineering by using tools that facilitate automatic
updates between code and design artifacts.
This ensures consistency and accuracy between code artifacts and design
models throughout the development process.
Advantage
Automatic updates of artifacts enhance collaboration, reduce errors, and
contribute to the overall efficiency of the development process.
6. Model-based evolution
Develop the project considering use cases, architecture, and design details with each
iteration to adapt to changing requirements and ensure alignment with user needs.
This approach empowers developers to evolve the software’s design and functionality
based on real-time feedback, ensuring that the end product aligns with user needs.
7. Objective Quality Control:
Teams can adapt to changes and enhance the software’s flexibility and
responsiveness to user needs.
9. Establish a configurable process
This principle ensures that methodologies, tools, and practices can be tailored to align with specific project
goals and constraints, resulting in a more efficient and effective development process.