Evaluation Criteria for Software Design
18 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

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

  • Feature multiplicity
  • Orthogonality (correct)
  • Operator overloading
  • Complexity

What happens when a language lacks orthogonality?

  • The program becomes more efficient
  • The program becomes more readable
  • Exceptions occur in the language (correct)
  • The program becomes more reliable

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

  • Use of tabs vs. spaces
  • Use of brackets vs. endif statements (correct)
  • Use of semicolons vs. commas
  • Use of uppercase vs. lowercase letters

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

<p>It makes the program more readable (B)</p> Signup and view all the answers

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

<p>A language with no Boolean type (B)</p> Signup and view all the answers

What is the main characteristic of a readable program?

<p>Simplicity (B)</p> Signup and view all the answers

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

<p>Errors in programs can go undetected (C)</p> Signup and view all the answers

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

<p>It has a small number of primitives and a small set of rules for combining them (D)</p> Signup and view all the answers

What is an example of abstraction in programming?

<p>A subprogram for a sort algorithm (D)</p> Signup and view all the answers

What is an example of expressivity in C?

<p>Using the notation count++ (D)</p> Signup and view all the answers

What is an example of expressivity in Java?

<p>Using the for statement (B)</p> Signup and view all the answers

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

<p>The resulting program is confusing (B)</p> Signup and view all the answers

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

<p>To detect type errors at an earlier stage (A)</p> Signup and view all the answers

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

<p>Exception handling (D)</p> Signup and view all the answers

What is the relationship between readability and reliability?

<p>Easier readability leads to higher reliability (B)</p> Signup and view all the answers

What is the primary effect of aliasing on reliability?

<p>It reduces reliability (B)</p> Signup and view all the answers

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

<p>To reduce the cost of repairs (C)</p> Signup and view all the answers

What is the relationship between writability and reliability?

<p>Easier writability leads to higher reliability (D)</p> Signup and view all the answers

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.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Description

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.

More Like This

Evolution Quiz
10 questions

Evolution Quiz

ProdigiousWonder899 avatar
ProdigiousWonder899
Software Development Evaluation
32 questions
Design Patterns Evolution
22 questions

Design Patterns Evolution

SelfSufficientRadon avatar
SelfSufficientRadon
Use Quizgecko on...
Browser
Browser