Software Engineering

When computer software succeeds- when it meets the needs of the people who use it,when it performs flawlessly over a long period of time,when it is easy to modify and even easier to use- it can change things for the better.But when software fails-when users are dissatisfied,when it is error prone,when it is difficult to change and even harder to use-bad things can and do happen.We all want to build software that makes things better,avoiding the bad things that lurk in the shadow of failed efforts.To succeed,we need discipline when software is designed and built.We need an engineering approach.

Questions Part 3

UNIT 3
41) Define the terms in Software Designing :
(a) Abstraction
(b) Modularity
(a) Abstraction :
1. Highest Level : Solution is stated in broad term using
language of problem environment
2. Lower Level : More detailed description of solution is
provided
(b) Modularity :
• Software is divided into separately named and
addressable components, called Modules that are
integrated to satisfy problem requirements
42) How the Architecture Design can be represented?
• Architectural Design can be represented by one or more
different models. They are,
1. Structural Models
2. Framework Models
3. Dynamic Models
4. Process Models
43) What is the Advantage of Information Hiding?
Advantage of Information Hiding :
• During testing and maintenance phase if changes
require that is done in particular module without
affecting other module
44) What types of Classes does the designer create?
• User interface Classes
• Business Domain Classes
• Process Classes
• Persistent Classes
• System Classes
45) What is Coupling?
Coupling :-
• Quantitative measure of degree to which classes are
connected to one another
• Keep coupling as low as possible
46) What is Cohesion?
Cohesion :
• Indication of relative functional strength of a module
• Natural extension of Information Hiding
• Performs a single task, requiring little integration
with other components
47) Define Refactoring.
Refactoring :
• Changing software system in the way that does not alter
external behavior of code
48) What are the Five Types of Design classes?
Five Types of Design classes :
• User Interface Classes
• Business domain Classes
• Process Classes
• Persistent Classes
• System Classes
49) What are the Different types of Design Model? Explain.
Different types of Design Model :
• Process Dimension :
Indicate evolution of Design model as design tasks
executed as part of software process
• Abstraction Dimension :
Represent level of detail as each element of analysis
model is transformed into design equivalent
50) List out the Different elements of Design Model?
Different Elements of Design Model :
• Data Design Elements
• Architectural Design Elements
• Interface Design Elements
• Component Level Design Elements
• Deployment Level Design Elements
51) What are the Types of Interface Design Elements?
Types of Interface Design Elements :
• User Interfaces
• External Interfaces
• Internal Interfaces
52) What Types of Design Patterns are available for the
software Engineer?
Types of Design Patterns :
• Architectural patterns
• Design Patterns
• Idioms
53) Define Framework.
Framework :
• Code Skeleton that can fleshed out with specific classes
or functionality
• Designed to address specifies problem at hand
54) What is the Objective of Architectural Design?
Objective of Architectural Design :
• Model overall software structure by representing
component interfaces, dependencies and relationships and
interactions
55) What are the important roles of Conventional component
within the Software Architecture?
• Control Component : that coordinates invocation of all
other problem domain
• Problem Domain Component : that implement Complete or
Partial function required by customer
• Infrastructure Component : that responsible for
functions that support processing required in problem
domain
56) What are the Basic Design principles of Class-Based
Components?
Basic Design principles of Class-Based Components :
• Open-Closed Principle[OCP]
• Liskov Substitution Principle[LSP]
• Dependency Inversion Principle[DIP]
• Interface Segregation Principle[ISP]
• Release Reuse Equivalency Principle[REP]
• Common Closure Principle[CCP]
• Common Reuse Principle[CRP]
57)What should we consider when we name components?
• Components
• Interface
• Dependencies and Inheritance
58) What are the Different Types of Cohesion?
Different Types of Cohesion :
• Functional
• Layer
• Communicational
• Sequential
• Procedural
• Temporal
• Utility
59) What are the Different Types of Coupling?
Different Types of Coupling :
• Content Coupling
• Common Coupling
• Control Coupling
• Stamp Coupling
• Data Coupling
• Routine Call Coupling
• Type Use Coupling
• Inclusion or Import Coupling
• External Coupling
60) What is Program Design Language [PDL]?
Program Design Language [PDL] :
• Also called Structured English or Pseudocode
• Pidgin Language in that it uses the vocabulary of one
language and overall syntax of another