Evaluation Criteria for Software Design

ClearCerium avatar
ClearCerium
·
·
Download

Start Quiz

Study Flashcards

18 Questions

What is a key characteristic that contributes to the readability of a program?

Orthogonality

What happens when a language lacks orthogonality?

Exceptions occur in the language

What is an example of a syntax consideration that affects readability?

Use of brackets vs. endif statements

What is the benefit of having adequate predefined data types in a language?

It makes the program more readable

What is an example of a language that lacks a Boolean type and uses a numeric type as an indicator flag?

A language with no Boolean type

What is the main characteristic of a readable program?

Simplicity

What is a potential issue with a language that has too much orthogonality?

Errors in programs can go undetected

What is an advantage of a language with simplicity and orthogonality?

It has a small number of primitives and a small set of rules for combining them

What is an example of abstraction in programming?

A subprogram for a sort algorithm

What is an example of expressivity in C?

Using the notation count++

What is an example of expressivity in Java?

Using the for statement

What can occur if special words of a language are used as names for program variables?

The resulting program is confusing

What is the primary goal of compile-time type checking?

To detect type errors at an earlier stage

What can be used to intercept and correct run-time errors?

Exception handling

What is the relationship between readability and reliability?

Easier readability leads to higher reliability

What is the primary effect of aliasing on reliability?

It reduces reliability

Why is it important to detect errors early in the programming process?

To reduce the cost of repairs

What is the relationship between writability and reliability?

Easier writability leads to higher reliability

Study Notes

Evaluation Criteria for Programming Languages

  • A program is said to be reliable if it performs to its specifications under all conditions.

Readability

  • Main characteristics that contribute to readability are:
    • Overall simplicity
    • A manageable set of features and constructs
    • Minimal feature multiplicity
    • Minimal operator overloading
    • Orthogonality
    • Adequate predefined data types
    • Syntax considerations (e.g., special words, methods of forming compound statements)

Readability (continued)

  • Orthogonality means that a relatively small set of primitive constructs can be combined in a relatively small number of ways, and every possible combination is legal.
  • Lack of orthogonality leads to exceptions in language.
  • Adequate orthogonality makes programs easier to read and understand.

Writability

  • Most of the language characteristics that affect readability also affect writability.
  • Main characteristics that contribute to writability are:
    • Simplicity and orthogonality
    • Support for abstraction
    • Expressivity (e.g., convenient ways of specifying operations, strength and number of operators and predefined functions)

Writability (continued)

  • Abstraction means the ability to define and use complex structures or operations in ways that allow details to be ignored.
  • Examples of expressivity include:
    • Using count++ instead of count = count + 1 in C
    • Using for statements in Java for counting loops

Reliability

  • Language features that have a significant effect on reliability include:
    • Type checking
    • Exception handling
    • Aliasing
    • Readability and writability

Reliability (continued)

  • Type checking involves testing for type errors at compile-time or run-time.
  • Compile-time type checking is more desirable than run-time type checking.
  • Exception handling involves intercepting run-time errors and taking corrective measures.
  • Aliasing means having two or more distinct names that can be used to access the same memory cell.
  • Readability and writability influence reliability.

This quiz covers the evaluation criteria for software design, including reliability, cost, readability, and more. It assesses understanding of the main characteristics that contribute to these criteria.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free

More Quizzes Like This

Evolution Quiz
10 questions

Evolution Quiz

ProdigiousWonder899 avatar
ProdigiousWonder899
Odoo Overview and Evolution Quiz
9 questions
Software Development Evaluation
32 questions
Use Quizgecko on...
Browser
Browser