Jun 10, 20223 min

(a)Requirements analysis and specification (b)Software Design: Software Engineering Class Notes

Updated: Oct 14, 2022

Mobiprep has created last-minute notes for all topics of Software Engineering to help you with the revision of concepts for your university examinations. So let’s get started with the lecture notes on Software Engineering.

1. Coding and Testing

2. Function-Oriented Software Design

3. (a)Requirements analysis and specification (b) Software Design

4. Software Development Life Cycle Models

5. Software Engineering

6. Software Project Management

7. UML

Our team has curated a list of the most important questions asked in universities such as DU, DTU, VIT, SRM, IP, Pune University, Manipal University, and many more. The questions are created from the previous year's question papers of colleges and universities.

  1. State Requirement Elicitation Process

  2. Compare relative advantages of the object-oriented and function-oriented approaches to software design.

  3. State Software Requirements Characteristics

  4. What do you mean by the terms cohesion and coupling in the context of software design?

  5. What is an ADT? What advantages accrue when a software design technique is based on ADTs?

  6. What is the difference between the functional and the non-functional requirements of a system?

  7. State Software Metrics and Measures

  8. What do you understand by the problems of overspecification, forward reference, and noise in an SRS document?

(a)Requirements analysis and specification (b)Software Design

Question 1) State Requirement Elicitation Process

Answer) It is stated as follows:


Question 2) Compare relative advantages of the object-oriented and function-oriented approaches to software design.

Answer)


Question 3) State Software Requirements Characteristics

Answer) A complete Software Requirement Specifications must be:

  • Clear

  • Correct

  • Consistent

  • Coherent

  • Comprehensible

  • Modifiable

  • Verifiable

  • Prioritized

  • Unambiguous

  • Traceable

  • Credible source


Question 4) What do you mean by the terms cohesion and coupling in the context of software design?

Answer) Cohesion is the indication of the relationship within a module. The concept of intra-module (or) Cohesion is defined as the degree to which all elements of a module, class, or component work together as a functional unit. Cohesion has many types but usually highly cohesion is good for software.

Coupling is also the indication of the relationships between modules (or) is defined as the degree of interdependence between two or more classes, modules, or components. It is the concept of Inter-module. Tight coupling is bad, and loose coupling is good.


Question 5) What is an ADT? What advantages accrue when a software design technique is based on ADTs?

Answer) Abstract data types are an instance of a general principle in software engineering, which goes by many names with slightly different shades of meaning. Here are some of the names that are used for this idea:

  • Abstraction: Omitting or hiding low-level details with a simpler, higher-level idea.

  • Modularity: Dividing a system into components or modules, each of which can be designed, implemented, tested, reasoned about, and reused separately from the rest of the system.

  • Encapsulation: Building walls around a module (a hard shell or capsule) so that the module is responsible for its own internal behavior, and bugs in other parts of the system can’t damage its integrity.

  • Information hiding: Hiding details of a module’s implementation from the rest of the system, so that those details can be changed later without changing the rest of the system.

  • Separation of concerns: Making a feature the responsibility of a single module, rather than spreading it across multiple modules.

Question 6) What is the difference between the functional and the non-functional requirements of a system?

Answer)


Question 7) State Software Metrics and Measures.

Answer) Software Metrics provide measures for various aspects of software processes and software products.

According to Tom DeMarco, a (Software Engineer), “You cannot control what you cannot measure.”

Let us see some software metrics:

  • Size Metrics -

  • LOC (Lines of Code)

  • Function Point Count

  • Complexity Metrics - McCabe’s Cyclomatic complexity

  • Quality Metrics - Defects, their types and causes, consequence, intensity of severity and their implications.

  • Process Metrics - The company standards and the performance of development are software process metrics.

  • Resource Metrics - Effort, time and various resources used, represents metrics for resource measurement.


Question 8) What do you understand by the problems of over specification, forward reference, and noise in an SRS document?

Answer

Over specification

It occurs when the analyst tries to address the "how to" aspects in the SRS document. It limits the imagination of the developers/designers to come up with a good solution.

Forward references

It happens when the analyst refers to the aspects which are discussed much later in the SRS, this causes readability issues in the document.

Noise

Noise refers to the presence of material not directly relevant to the software development process. It is hardly of any use to the software developers and would unnecessarily clutter the SRS document, diverting the attention from the crucial points.

    630
    2