Ch3 Flashcards
(85 cards)
is meeting the basic requirements enough to make a successful software? why
No it is not enough, there are other important non-functional requirements that should be met, like maintenance and reliability, reuse and training.
how to avoid performance issues in any software?
- having good documentation
- having clear and planned requirements
what do you need to have a really good software quality?
to have a good software quality you need your software to meet the specified quality requirements, so you need a requirement document that clearly specifies the requirements to have a good quality software.
can a software fail because of a poor quality requirement document?
yes, the software can be functional, but can do poor performance if the requirements document quality is poor. (see the first 2 examples in the chapter)
What are some common software quality factors that projects frequently lack?
usability
reusability
maintainability
reliability
scalability
portability (work on all platforms and enviorments)
is it natural to assume or have inequality between different quality requirements?
yes, because the need of them differs from a project to another.
can we consider quality factors as non-functional requirements?
yes, because software quality can’t be achieved when meeting the functional requirements alone
What is the primary focus of software engineering
Capturing, designing, implementing, and deploying with emphasis on functional requirements
What is the emphasis on non-functional requirements (quality factors) in software engineering
1-There is little emphasis (but not none), though more importance is now being placed on quality factors.
Why are quality factors (non-functional requirements) important?
They can be a critical factor in satisfying overall requirements. and make the SQ high and work with high performance.
Where are non-functional requirements typically documented
In the Software Requirements Specification (SRS) document
Where are functional requirements usually captured
In Use Case Stories
What are Software Quality Factors, and where are they documented
Software Quality Factors define the non-functional aspects of software (e.g., usability, reliability, maintainability). They are included in the requirements document (SRS)
What are software quality factors
They are attributes that determine the quality of software, such as reliability, maintainability, and usability. (non-functional requirements)
Are there different models for software quality?
Yes, there are various models used to define and measure software quality
What is the classic software quality factor model?
The McCall software quality model
How many quality factors does McCall’s model have, and how are they grouped?
McCall’s model has 11 quality factors, grouped into 3 categories
what are the 3 categories the the McCall model group it’s quality factors in?
Product Operation
Product Revision
Product Transition
What is the Product Operation category in McCall’s model?
It includes factors that directly affect the daily operation of software:
Correctness
Reliability
Efficiency
Integrity
Usability
What does Product Revision refer to in McCall’s model?
It covers factors that affect software maintenance activities:
Maintainability
Flexibility
Testability
What does Product Transition focus on in McCall’s model?
It deals with software adaptability to the environment and interaction with other systems:
Portability
Reusability
Interoperability
What is Correctness in McCall’s Product Operation category?
It refers to whether the software performs the tasks it was designed for without errors (does the task correctly).
How to know the that the software has the correctness quality factor?
we check if it meets the dimensions of the output specifications ( شروط النتيجة المتوقعة من البرنامج)
What are some dimensions of output specifications in software correctness
Output mission (e.g., documents, alarms, voice)
Required accuracy
Completeness
Up-to-date information
Availability (reaction time)
Standards for coding and documentation