Jun 10, 20223 min
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.
2. Function-Oriented Software Design
3. (a)Requirements analysis and specification (b) Software Design
4. Software Development Life Cycle Models
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.
State Requirement Elicitation Process
Compare relative advantages of the object-oriented and function-oriented approaches to software design.
State Software Requirements Characteristics
What do you mean by the terms cohesion and coupling in the context of software design?
What is an ADT? What advantages accrue when a software design technique is based on ADTs?
What is the difference between the functional and the non-functional requirements of a system?
State Software Metrics and Measures
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
Answer) It is stated as follows:
Answer)
Answer) A complete Software Requirement Specifications must be:
Clear
Correct
Consistent
Coherent
Comprehensible
Modifiable
Verifiable
Prioritized
Unambiguous
Traceable
Credible source
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.
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.
Answer)
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.
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.