SAQ What Is The Evolving Nature of Software?: Verification Validation
SAQ What Is The Evolving Nature of Software?: Verification Validation
The role of computer software has undergone significant change over a span of little
more than 50 years
The purpose of a feasibility study is not to solve the problem, but to determine whether
the problem is worth solving.A feasibility study decides whether or not the proposed
system is worthwhile.
Verification Validation
It includes checking
It includes testing and validating
documents, design, codes and
the actual product.
programs.
It can find the bugs in the It can only find the bugs that
· System software
· Application software
· Engineering/scientific software
· Embedded software
· Product-line software
· Web-applications
Legacy software refers to software systems that are outdated or obsolete, yet continue
to be used because they still perform critical functions within an organization. These
systems often pose a challenge to maintain, upgrade, or integrate with newer
technologies. The term "legacy" does not inherently mean that the software is
problematic—simply that it is old and based on outdated technologies or architectures.
1. Correctness
2. Completeness
3. Consistency.
4. Feasibility
5. Testability
6. Relevance
7. Traceability
In software and web design, these principles translate into creating user interfaces and
experiences that are not only visually appealing but also intuitive and user-friendly. For
instance:
● Usability
● User Experience
● Aesthetic Appeal
What do you mean by Design Evaluation?
LAQ
Software:
Software is a generic term used to refer to applications, scripts and programs that run
Beliefs about software and the process used to build it- can be traced to the earliest
days of computing myths have a number of attributes that have made them insidious.
Management myths: Manages with software responsibility, like managers in most
disciplines,
are often under pressure to maintain budgets, keep schedules from slipping, and
improve quality.
Myth: We already have a book that‘s full of standards and procedures for building
software -Wont that provide my people with everything they need to know?
Reality: The book of standards may very well exist but, is it used? Are software
practitioners
aware of its existence? Does it reflect modern software engineering practice?
Myth: If we get behind schedule, we can add more programmers and catch up.
Reality: Software development is not a mechanistic process like manufacturing. As new
people are added, people who were working must spend time educating the new
comers, thereby reducing the amount of time spend on productive development effort.
People can be added but only in a planned and well coordinated manner.
Myth: If I decide to outsource the software project to a third party, I can just relax and let
that firm built it.
Reality: If an organization does not understand how to manage and control software
projects internally, it will invariably struggle when it outsources software projects.
PROCESS FRAMEWORK:
technology.
identifying a small number of framework activities that are applicable to all software
The process framework encompasses a set of umbrella activities that are applicable
each a collection of software engineering work tasks, related work products, quality
"A process defines who is doing what, when, and how to reach a certain goal."A Process
Framework
with the customer and encompasses requirements gathering and other related
activities.
2. Planning: This activity establishes a plan for the software engineering work that
follows. It describes the technical tasks to be conducted, the risks that are likely, the
resources that will be required, the work products to be produced, and a work schedule.
3. Modeling: This activity encompasses the creation of models that allow the developer
and customer to better understand software requirements and the design that will
achieve those requirements. The modeling activity is composed of 2 software
engineering actions- analysis and design. Analysis encompasses a set of work tasks.
4. Construction: This activity combines core generation and the testing that is required
to uncover the errors in the code.
5. Deployment: The software is delivered to the customer who evaluates the delivered
product and provides feedback based on the evolution.
• Work products include user scenarios, functions and feature lists, analysis
models
System modeling is the process of developing abstract models of a system, with each
model presenting a different view or perspective of that system. It is about representing
a system using some kind of graphical notation, which is now almost always based on
notations in the Unified Modeling Language (UML). Models help the analyst to
understand the functionality of the system; they are used to communicate with
customers.
Explain the golden rules of user interface design.
Ans) Perscriptive process models define a set of activities, actions, tasks, milestones,
and work products that are required to engineer high-quality software. These process
models are not perfect, but they do provide a useful roadmap for software engineering
work. A prescriptive process model populates a process framework with explicit task
sets for software engineering actions.
Let's explore a few common software process models from different perspectives:
The incremental model combines elements of the waterfall model applied in an iterative
fashion. The incremental model delivers a series of releases called increments that
provide progressively more functionality for the customer as each increment is
delivered. When an incremental model is used, the first increment is often a core
product. That is, basic requirements are addressed. The core product is used by the
customer. As a result, a plan is developed for the next increment. The plan addresses
the modification of the core product to better meet the needs of the customer and the
delivery of additional features and functionality. This process is repeated following the
delivery of each increment, until the complete product is produced. For example,
word-processing software developed using the incremental paradigm might deliver
basic file management editing, and document production functions in the first
increment; more sophisticated editing, and document production capabilities in the
second increment; spelling and grammar checking in the third increment; and advanced
page layout capability in the fourth increment.
3) What are the various tasks of requirement engineering? List and
explain?
ans) 1. Abstraction:
● Abstraction hides implementation details, allowing programmers to focus on
high-level concepts.
● Data abstraction describes data objects (e.g., "door"), while procedural
abstraction defines sequences of instructions (e.g., "open").
● Example: Data abstraction for a "door" includes attributes like type and swing
direction, while procedural abstraction for "open" involves a sequence of steps to
open a door.
2. Architecture:
3. Patterns:
4. Separation of Concerns:
5. Modularity:
6. Information Hiding:
8. Refinement:
9. Refactoring:
● Design classes refine analysis classes and provide design details for
implementation.
● They support the development of software infrastructure.
● Example: Defining classes for user authentication, product management, and
order processing in an e-commerce system.
5)Explain about the Interface Analysis, Design steps and Evolution.
1. User Model:
● A human engineer establishes a user model to understand the profile of
end users, including factors like age, gender, skills, and goals.
● Users are categorized into novices, knowledgeable intermittent users, and
knowledgeable frequent users based on their familiarity with the system
and usage patterns.
● The user's mental model refers to the image of the system that end users
carry in their heads, influencing their interaction with the interface.
2. Implementation Model:
● The implementation model combines the outward manifestation of the
computer-based system with supporting information like manuals and
help files.
● When the implementation model aligns with the user's mental model,
users generally feel comfortable and use the software effectively.
3. Interface Analysis and Design Process:
● The process begins with interface analysis and modeling, focusing on
user profiles, requirements elicitation, and task analysis.
● Interface design involves defining interface objects and actions to enable
users to perform tasks effectively while meeting usability goals.
● Interface construction starts with creating prototypes for evaluation and
may involve using interface toolkits for implementation.
● Interface validation assesses the interface's ability to implement tasks
correctly, its ease of use and learnability, and user acceptance.
4. Design Issues:
● Design issues arise in various areas such as interaction modes,
accessibility, internationalization, and localization.
● Examples include providing self-explanatory menu labels, accommodating
physically challenged users, and designing globalized software.
5. Design Evaluation:
● Evaluation of the interface can range from informal user feedback to
formal studies using statistical methods.
● The evaluation cycle involves creating prototypes, collecting user
feedback, making design modifications, and iterating until the interface
meets user needs.
● Evaluation criteria include factors like the complexity of requirements, the
number of user tasks, interface style, help facilities, and error handling.
Overall, interface analysis, design, and evaluation are iterative processes aimed at
creating user-friendly interfaces that meet the needs of diverse user groups and achieve
usability goals.