Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Risk management is a series of steps that help a  market, its maintenance is done for the existing  changing. So, risk and uncertainty is high with this 


1. What you mean by software engineering?  software team to understand and manage   customer base.  process model. 
software engineering as an engineering branch  uncertainty.  7. What is prescriptive process model?  • It is difficult to measure progress within stages. 
associated with the development of   5. Explain about layered structure of SE?  A prescriptive process model is a model that  • Cannot accommodate changing requirements. 
software product using well‐defined scientific  • Tools: This layer contains automated or semi‐ describes "how to do" according to a certain   • Integration is done as a "big‐bang. at the very 
principles, methods and procedure.  automated tools that offer support for the   software process system.A prescriptive model  end, which doesn't allow identifying any 
2. Explain about the characteristics of a good  framework and the method each software  prescribes how a new software system should be   technological or business bottleneck or 
software?  engineering project will follow.  developed. Prescriptive models are used as  challenges early. 
A goodsoftware must satisfy on the following  • Method: This layer contains the methods, the  guidelines or frameworks to organize and  11. Explain about spiral model? 
grounds:   technical knowledge and “how‐tos” in order to  structure   Spiral model is one of the most important 
• Operational  develop software.  how software development activities should be  Software Development Life Cycle models,  
• Transitional  • Process: This layer consists of the framework  performed, and in what order.  which provides support for Risk Handling. In its 
• Maintenance  that must be established for the effective delivery  8. Give some examples of prescriptive process  diagrammatic representation, it looks like a  
Operational  of software.  model?  spiral with many loops. The exact number of 
This tells us how well software works in  • Quality Focus: This layer is the fundamental  • Waterfall model  loops of the spiral is unknown and can vary from  
operations. It can be measured on:   layer for software engineering. As stated above it  • V model  project to project. Each loop of the spiral is called 
• Budget  is   • Incremental model  a Phase of the software development  
• Usability  of great importance to test the end product to  • Evolutionary model  process. The exact number of phases needed to 
• Efficiency  see if it meets its specifications. Efficiency,  • Prototyping  develop the product can be varied by the project  
• Correctness  usability, maintenance and reusability are some  • Spiral model  manager depending upon the project risks. As the 
• Functionality  of the requirements that need to be met by new  • Win‐Win Spiral model  project manager dynamically determines the  
• Dependability  software.  • Concurrent development  number of phases, so the project manager has an 
• Security  9. Explain about waterfall model?  important role to develop a product using spiral  
• Safety  The Waterfall Model was the first Process Model  model. 
Transitional   to be introduced. It is also referred to as  
This aspect is important when the software is  a linear‐sequential life cycle model. It is very 
moved from one platform to another:   simple to understand and use. In a waterfall 
• Portability  model,  
• Interoperability  each phase must be completed before the next 
• Reusability  phase can begin and there is no overlapping in 
• Adaptability  the  
Maintenance   phases. 
This aspect briefs about how well a software has   
  • Objectives determination and identify 
the capabilities to maintain itself in the  
6. Explain about SDLC?  alternative solutions: Requirements are gathered 
everchanging environment:  
SDLC is the acronym of Software Development  from the  
• Modularity 
Life Cycle.It is also called as Software  customers and the objectives are identified, 
• Maintainability 
Development Process.SDLC is a framework  elaborated and analyzed at the start of every 
• Flexibility 
defining tasks performed at each step in the   phase.  
• Scalability 
software development process.  Then alternative solutions possible for the phase 
3. Explain about software process? 
A typical Software Development Life Cycle  are proposed in this quadrant. 
A software process is a collection of various 
consists of the following stages –    • Identify and resolve Risks: During the second 
activities.  Characteristics of waterfall model:‐  quadrant all the possible solutions are evaluated 
There are five generic process framework  • It also known as Linear sequential model,Classic  to  
activities:  life cycle model.  select the best possible solution. Then the risks 
• Communication:  • Simplest of all models  associated with that solution is identified and the  
The software development starts with the  • Systematic sequential approach  risks are resolved using the best  
communication between customer and  • Real project rarely follows  possible strategy. At the end of this  
developer.  • A working version is available only at the end  quadrant, Prototype is built for the best possible 
• Planning:  • Difficult for customer to state all requirements  solution. 
It consists of complete estimation, scheduling for  • Requirement Gathering and analysis − All 
  • Develop next version of the Product: During the 
project development and tracking.  Stage 1: Planning and Requirement  possible requirements of the system to be   third quadrant, the identified features are  
• Modeling:  Analysis/preliminary investigation  developed are captured in this phase and  developed and verified through testing. At the 
Modeling consists of complete requirement  Requirement analysis is the most important and  documented in a requirement specification   end of the third quadrant, the next version of the  
analysis and the design of the project like   fundamental stage in SDLC. It is performed   document.  software is available. 
algorithm, flowchart etc. The algorithm is the  by the senior members of the team with inputs  • System Design − The requirement specifica ons  • Review and plan for the next Phase: In the 
step‐by‐step solution of the problem and   from the customer, the sales department,   from first phase are studied in this phase   fourth quadrant, the Customers evaluate the so 
the flow chart shows a complete flow diagram of  market surveys and domain experts in the  and the system design is prepared. This system  far developed version of the software. In the end, 
a program.  industry.  design helps in specifying hardware and   planning for the next phase is started. 
• Construction:  Stage 2: Defining Requirements/software analysis  system requirements and helps in defining the  12. List the advantages and disadvantages of 
Construction consists of code generation and the  Once the requirement analysis is done the next  overall system architecture.  spiral model? 
testing part.Coding part implements the   step is to clearly define and document the   • Implementation − With inputs from the system  Advantages 
design details using an appropriate programming  product requirements and get them approved  design, the system is first developed in   • Risk Handling: The projects with many unknown 
language. Testing is to check whether   from the customer or the market analysts. This   small programs called units, which are integrated  risks that occur as the development  
the flow of coding is correct or not.Testing also  is done through an SRS (Software Requirement  in the next phase. Each unit is developed   proceeds, in that case, Spiral Model is the best 
check that the program provides desired   Specification) document which consists of   and tested for its functionality, which is referred  development model to follow due to the risk  
output.  all the product requirements to be designed and  to as Unit Testing.  analysis and risk handling at every phase. 
• Deployment:  developed during the project life cycle.  • Integration and Testing − All the units  • Good for large projects: It is recommended to 
Deployment step consists of   Stage 3: Designing the Product  developed in the implementation phase are   use the Spiral Model in large and complex  
delivering the product to the   Architecture/software design  integrated into a system after testing of each  projects. 
customer and take feedback   SRS is the reference for product architects to  unit. Post integration the entire system is   • Flexibility in Requirements: Change requests in 
from them.If the customer wants some  come out with the best architecture for the  tested for any faults and failures.  the Requirements at later phase can be  
corrections or demands for the additional  product to be developed. Based on the  • Deployment of system − Once the func onal  incorporated accurately by using this model. 
capabilities, then the change is required for  requirements specified in SRS,   and non‐functional testing is done; the   • Customer Satisfaction: Customer can see the 
improvement in the quality of the software.  usually more than one   product is deployed in the customer environment  development of the product at the early phase  
4. Explain umbrella activities?  design approach for the product architecture is  or released into the market.  of the software development and thus, they 
The generic view of software engineering are  proposed and documented in a DDS ‐ Design   • Maintenance − There are some issues which  habituated with the system by using it before  
complemented by a number of umbrella   Document Specification.Eg: DFD,ER diagram etc...  come up in the client environment. To fix   completion of the total product. 
activities.  Stage 4: Building or Developing the  those issues, patches are released. Also to  Disadvantages 
Typical activities in this category include:   Product/software coding  enhance the product some better versions are   • Complex: The Spiral Model is much more 
• Software project tracking and control :  In this stage of SDLC the actual development  released. Maintenance is done to deliver these  complex than other SDLC models. 
Tracking and Control is the dual process of  starts and the product is built. The   changes in the customer environment.  • Expensive: Spiral Model is not suitable for small 
detecting when a project is drifting off‐plan, and   programming code is generated as per DDS  10. List the advantages and disadvantages of  projects as it is expensive. 
taking corrective action to bring the project back  during this stage. If the design is performed in a  waterfall model?  • Too much dependable on Risk Analysis: The 
on track.   detailed and organized manner, code generation  Advantages  successful completion of the project is very  
• Formal technical reviews :  can be accomplished without much hassle.  • Simple and easy to understand and use  much dependent on Risk Analysis. Without very 
This includes reviewing the techniques that has  Stage 5: Testing the Product/software testing  • Easy to manage due to the rigidity   highly experienced expertise, it is going  
been used in the project.  This stage is usually a subset of all the stages as in  of the model. Each phase has specific   to be a failure to develop a project using this 
• Software quality assurance :  the modern SDLC models, the testing   deliverables and a review process.  model. 
This is very important to ensure the quality  activities are mostly involved in all the stages of  • Phases are processed and completed one at a  • Difficulty in time management: As the number 
measurement of each part to ensure them.  SDLC. However, this stage refers to the   time.  of phases is unknown at the start of the  
• Software configuration management :   testing only stage of the product where product  • Works well for smaller projects where  project, so time estimation is very difficult. 
In software engineering, software configuration  defects are reported, tracked, fixed and   requirements are very well understood.  13. Explain about incremental model? 
management (SCM or S/W CM) is the task of   retested, until the product reaches the quality  • Clearly defined stages.  Incremental Model is a process of software 
tracking and controlling changes in the software,  standards defined in the SRS.  • Well understood milestones.  development where requirements are broken 
part of the larger cross‐disciplinary field   Stage 6: Deployment in the Market and  • Easy to arrange tasks.  down  
of configuration management.   Maintenance/software maintanance  • Process and results are well documented.  into multiple standalone modules of software 
• Document preparation and production :  Once the product is tested and ready to be  Disadvantages  development cycle. Incremental development is 
All the project planning and other activities  deployed it is released formally in the  • No working software is produced until late  done  
should be hardly copied and the production get   appropriate   during the life cycle.  in steps from analysis design, implementation, 
started here.  market. Sometimes product deployment happens  • High amounts of risk and uncertainty.  testing/verification, maintenance.Each iteration  
• Reusability management :  in stages as per the business strategy of that   • Not a good model for complex and object‐ passes through the requirements, design, coding 
This includes the backing up of each part of the  organization. Then based on the feedback, the  oriented projects.  and testing phases. And each subsequent release 
s/w project for the future work(eg: updation)   product may be released as it is or with   • Poor model for long and ongoing projects.  of  
• Measurement :  suggested enhancements in the targeting market  • Not suitable for the projects where  the system adds function to the previous release 
This will include all the measurement of every  segment. After the product is released in the   requirements are at a moderate to high risk of  until all designed functionality has been  
aspects of the software project. 
implemented. 
• Risk management : 
The system is put into production when the first  • Prototype model need not know the detailed  Phases of ASD Life Cycle  (agile) software development project. This 
increment is delivered. The first increment is   input, output, processes, adaptability of   • Speculate  methodology is more flexible than traditional  
often a core product where the basic  operating system and full machine interaction.  • Collaborate  modeling methods, making it a better fit in a fast 
requirements are addressed, and supplementary  • In the development process of this model users  • Learn  changing environment.  
features are   are actively involved.  These three phases reflect the dynamic nature of  Agile Unified Process (AUP) is a simplified version 
added in the next increments. Once the core  • The development process is the best platform  Adaptive Software Development. The Adaptive   of the Rational Unified Process (RUP),  
product is analyzed by the client, there is plan   to understand the system by the user.  Development explicitly replaces Determinism  which is an iterative software development 
development for the next increment.  • Errors are detected much earlier.  with Emergence. It goes beyond a mere change in   process framework. 
• Analysis:Requirement and specification of the  • Gives quick user feedback for better solutions.  lifecycle to a deeper change in management  It describes a simple, easy to understand 
software are collected  • It identifies the missing functionality easily. It  style. Adaptive Software Development has a   approach to developing business application 
• Design:Some high‐end function are designed  also identifies the confusing or difficult   dynamic Speculate‐Collaborate‐Learn Lifecycle.  software  
during this stage  functions.  The Adaptive Software Development Lifecycle  using agile techniques and concepts 
• Code:Coding of software is done during this  Disadvantages  focuses on results, not tasks, and the results are   2 
stage  • The client involvement is more and it is not  identified as application features.  4. What are the different types of requirements 
• Test:Once the system is deployed, it goes  always considered by the developer.  ASD life cyle is shown below  ? Explain in detail. 
through the testing phase  • It is a slow process because it takes more time  Speculate  Ans:A software requirement can be of 3 types: 
14. Characteristics of incremental model?  for development.  • In Adaptive Software Development, the term  ● Func onal requirements 
Analysis:Requirement and specification of the  • Many changes can disturb the rhythm of the  plan is replaced by the term speculate. While   ● Non‐functional requirements 
software are collected  development team.  speculating, the team does not abandon  ● Domain requirements 
Design:Some high‐end function are designed  • It is a thrown away prototype when the users  planning, but it acknowledges the reality of   Functional Requirements: These are the 
during this stage  are confused with it.  uncertainty in complex problems. Speculate  requirements that the end user specifically  
Code:Coding of software is done during this stage  18. What you mean by specialized process  encourages exploration and experimentation.   demands as basic facilities that the system should 
Test:Once the system is deployed, it goes through  model?  Iterations with short cycles are encouraged.  offer. All these functionalities need to  
the testing phase  Special process models take on many of the  Collaborate  be necessarily incorporated into the system as a 
15. What are the advantages and disadvantages  characteristics of one or more of the   • Collaborate would require the ability to work  part of the contract. These are  
of incremental model?  conventional models. However, specialized  jointly to produce results, share knowledge or   represented or stated in the form of input to be 
Advantages  models tend to be applied when a narrowly  make decisions.  given to the system, the operation  
• The software will be generated quickly during  defined   Learn  performed and the output expected. They are 
the software life cycle  software engineering approach is chosen.  • Team has to enhance their knowledge  basically the requirements stated by the user  
• It is flexible and less expensive  • Component based development  constantly, using practices such as −  which one can see directly in the final product, 
• Throughout the development stages changes  • Formal methods model  • Technical Reviews  unlike the non‐functional requirements. 
can be done  19. What is Agile model in software  • Project Retrospectives  For example, in a hospital management system, a 
• This model is less costly compared to others  engineering?  • Customer Focus Groups  doctor should be able to retrieve the  
• A customer can respond to each building  The Agile model was primarily designed to help a  24. What is Scrum framework in agile model?  information of his patients. Each high‐level 
• Errors are easy to be identified  project to adapt to change requests   Scrum is a lightweight, iterative and incremental  functional requirement may involve several  
Disadvantages  quickly. So, the main aim of the Agile model is to  framework for managing complex work.  interactions or dialogues between the system and 
• It requires a good planning designing  facilitate quick project completion. To   Scrum framework activities:  the outside world. In order to accurately  
• Problems might cause due to system  accomplish this task agility is required. Agility is  • Requirements  describe the functional requirements, all 
architecture as such not all requirements  achieved by fitting the process to the project,  • Analysis  scenarios must be enumerated. 
collected up   removing activities that may not be essential for a  • Design  Non‐functional requirements: These are basically 
front for the entire software lifecycle  specific project. Also, anything that is wastage   • Evolution  the quality constraints that the system  
• Each iteration phase is rigid and does not  of time and effort is avoided. An agile process is  • Delivery  must satisfy according to the project contract. 
overlap each other  adaptable and it should adapt incrementally  Important concepts in scrum  The priority or extent to which these  
• Rectifying a problem in one unit requires  S/w increments must be delivered in short time  • Backlog: a prioritized list of requirements or  factors are implemented varies from one project 
correction in all the units and consumes a lot of   periods  features.Within each framework activity work   to other. They are also called non behavioral 
time.  Agile principles  task occurs within a process pattern called sprint.  requirements. 
16. Explain about evolutionary prototyping  a. satisfy customer  • Sprint: consists of work units required to  They basically deal with issues like: 
model?  b. welcome changing requirements  achieve a requirement defined in backlog that  ● Portability 
Evolutionary models are iterative type  c. deliver working software frequently  can   ● Security 
models.They allow to develop more complete   20. what are the priciples of Agile model  be done in a predefined time box(30days)  ● Maintainability 
versions of the software.It is software working  development in software engineering?  • Scrum meeting : short meeting(15 minutes)  ● Reliability 
model of limited functionality.Prototype   • Highest priority is to satisfy the customer  held daily by the scrum Team  ● Scalability 
methodology is defined as a Software  through early and continuous delivery of  • Demos: delivers the increment to the customer  ● Performance 
Development model in which a prototype is built,  valuable software.  25. Explain DSDM in Agile model?  ● Reusability 
test, and   • It welcomes changing requirements, even late  • The Dynamic Systems Development method  ● Flexibility 
then reworked when needed until an acceptable  in development.  (DSDM )is an agile software development   The process of specifying non‐functional 
prototype is achieved.First of all, we will   • Deliver working software frequently, from a  methodology. It is an iterative, incremental  requirements requires the knowledge of the  
develop the most visual aspect of the system. You  couple of weeks to a couple of months, with   approach that is largely based on the Rapid   functionality of the system, as well as the 
present a portion of the system to the customer   a preference to the shortest timescale.  Application Development (RAD) methodology.   knowledge of the context within which the  
and continue to develop prototypes based on the  • Build projects around motivated individuals.  • Principles  system will operate. 
feedback received. At some point, you and the   Give them the environment and the support   Focus on the business need  Domain requirements: Domain requirements are 
customer agree that the prototype is “good  they need, and trust them to get the job done.  Deliver on time  the requirements which are  
enough” and release the prototype as the final   • Working software is the primary measure of  Collaborate  characteristic of a particular category or domain 
product.   progress.  Never compromise quality  of projects. The basic functions that a  
Step 1: Requirements gathering and analysis  • Simplicity the art of maximizing the amount of  Build incrementally from firm foundations  system of a specific domain must necessarily 
• A prototyping model starts with requirement  work not done is essential.  Develop iteratively  exhibit come under this category. For  
analysis. In this phase, the requirements of the   • The most efficient and effective method of  Communicate continuously and clearly  instance, in an academic software that maintains 
system are defined in detail. During the process,  conveying information to and within a   Demonstrate control  records of a school or college, the  
the users of the system are interviewed to   development team is face‐to‐face conversation.  26. Explain FDD in Agile model?  functionality of being able to access the list of 
know what is their expectation from the system.  21. What are the different types of Agile  Feature Driven Development (FDD) is an agile  faculty and list of students of each grade is  
Step 2: Quick design  development models?  framework that, as its name suggests,   a domain requirement. These requirements are 
• The second phase is a preliminary design or a  • Extreme Programming(XP)  organizes software development around making  therefore identified from that domain  
quick design. In this stage, a simple design   • Adaptive Software Development  progress on features. Features in the FDD   model and are not user specific. 
of the system is created. However, it is not a  • Scrum  context, though, are not necessarily product  5. What is the first step of requirement 
complete design. It gives a brief idea of the   • Dynamic Systems Development Method  features in the commonly understood sense.  elicitation? 
system to the user. The quick design helps in  • Feature Driven Development  “complete the login process” might be  Ans:Identifying Stakeholder 
developing the prototype.  • Lean Software Development  considered a feature in the Feature Driven  6. What are the Objectives of Requirement 
Step 3: Build a Prototype  • Agile Modelling  Development   Analysis ? 
• In this phase, an actual prototype is designed  • Agile Unified Process  (FDD) methodology.  Ans: Requirement Analysis, also known as 
based on the information gathered from quick   22. Explain about Extreme programming(XP) in  FDD was designed to follow a five‐step  Requirement Engineering, is the process of  
design. It is a small working model of the required  Agile model?  development process, built largely around  defining user expectations for a new software 
system.  It is the most widely used approach of agile  discrete   being built or modified. In software  
Step 4: Initial user evaluation  development  “feature” projects. That project lifecycle looks like  engineering, it is sometimes referred to loosely 
• In this stage, the proposed system is presented  The XP Process includes  this:  by names such as requirements gathering or  
to the client for an initial evaluation. It helps   • Planning  • Develop an overall model  requirements capturing.  
to find out the strength and weakness of the  • Design  • Build a features list  Objectives of Requirement Analysis 
working model. Comment and suggestion are   • Coding   • Plan by feature  Identify customer's needs. 
collected from the customer and provided to the  • Testing  • Design by feature  • Evaluate system for feasibility. 
developer.  ► XP design follows KIS(Keep It Simple) principle  • Build by feature  • Perform economic and technical analysis. 
Step 5: Refining prototype  ► Encourages refactoring  27. What is lean software development(LSD)?  • Allocate functions to system elements. 
• If the user is not happy with the current  ► Pair programming concept is used in coding  Lean Software Development (LSD) is an agile  • Establish schedule and constraints. 
prototype, you need to refine the prototype   • Applications of Extreme Programming (XP):  framework based on optimizing   • Create system definitions. 
according to the user's feedback and  Some of the projects that are suitable to develop   development time and resources, eliminating  The various steps of requirement analysis are 
suggestions.This phase will not over until all the   using XP model are given below:  waste, and ultimately delivering only what the   (i) Draw the context diagram: The context 
requirements specified by the user are met. Once  • Small projects: XP model is very useful in small  product needs. The Lean approach is also often  diagram is a simple model that defines the  
the user is satisfied with the developed   projects consisting of small teams as face to   referred to as the Minimum Viable Product   boundaries and interfaces of the proposed 
prototype, a final system is developed based on  face meeting is easier to achieve.  (MVP) strategy, in which a team releases a bare‐ systems with the external world. It identifies the  
the approved final prototype.  • Projects involving new technology or Research  minimum version of its product to the market,   entities outside the proposed system that 
Step 6: Implement Product and Maintain  projects: This type of projects face changing of   learns from users what they like, don’t like and  interact with the system.  
• Once the final system is developed based on  requirements rapidly and technical problems. So  want to be added, and then iterates based on this   (ii) Development of a Prototype (optional): One 
the final prototype, it is thoroughly tested and   XP model is used to complete this type of   feedback.  effective way to find out what the  
deployed to production. The system undergoes  projects.  28. What is Agile modelling and AUP?  customer wants is to construct a prototype, 
routine maintenance for minimizing   23. Explain ASD in agile model development?  Agile modeling (AM) is a methodology for  something that looks and preferably acts as part  
downtime and prevent large‐scale failures.  Adaptive Software Development is cyclical like  modeling and documenting software systems   of the system they say they want. 
17. What are the advantages and disadvantages  the Evolutionary model, with the phase   based on best practices. It is a collection of values  We can use their feedback to modify the 
of evolutionary prototyping model?  names reflecting the unpredictability in the  and principles, that can be applied on an   prototype until the customer is satisfied  
Advantages  complex systems. 
continuously. Hence, the prototype helps the  ● To create rough guesses of development and  noted. The client feedback serves as an input for  constraints imposed on the system. The class 
client to visualize the proposed system and   access the impact of the requirement on the   requirement gathering.  diagrams are widely used in the  
increase the understanding of the requirements.  project cost and delivery time.  Observation  modeling of objectoriented systems. 
When developers and users are not sure   5. Specification  Team of experts visit the client’s organization or  Purpose of class diagram 
about some of the elements, a prototype may  ● In this task, the requirement engineer  workplace. They observe the actual   • Analysis and design of the static view of an 
help both the parties to take a final decision.  constructs a final work product.  working of the existing installed systems. They  application. 
Some projects are developed for the general  ● The work product is in the form of so ware  observe the workflow at client’s end and   • Describe responsibilities of a system. 
market. In such cases, the prototype should be   requirement specification.  how execution problems are dealt. The team  • Base for component and deployment diagrams. 
shown to some representative sample of the  ● In this task, formalize the requirement of the  itself draws some conclusions which aid to   • Forward and reverse engineering. 
population of potential purchasers. Even though   proposed software such as informative,   form requirements expected from the software.  A sample class diagram is shown below 
a person who tries out a prototype may not buy  functional and behavioral.  19. What is the importance of requirement 
the final system, but their feedback may   ● The requirements are formalize in both  analysis ? What are the problems in requirement 
allow us to make the product more attractive to  graphical and textual formats.  that the analyst needs to identify ? 
others.  6. Validation  Ans: Requirements analysis results in the 
The prototype should be built quickly and at a  ● The work product is built as an output of the  specification of software’s operational 
relatively low cost. Hence it will always have   requirement engineering and that is   characteristics,indicates  
limitations and would not be acceptable in the  accessed for the quality through a validation step.  software’s interface with other system elements, 
final system. This is an optional activity.  ● The formal technical reviews from the so ware  and establishes constraints that software must 
(iii) Model the requirements: This process usually  engineer, customer and other   meet.  
consists of various graphical   stakeholders helps for the primary requirements  Requirements analysis allows you (regardless of 
representations of the functions, data entities,  validation mechanism.  whether you’re called a software engineer, an   
external entities, and the relationships between   7. Requirement management  analyst,   5. Write note on UML interaction diagram? 
them. The graphical view may help to find  ● It is a set of ac vi es that help the project team  or a modeler) to elaborate on basic requirements  From the term Interaction, it is clear that the 
incorrect, inconsistent, missing, and superfluous   to identify, control and track the   established during the inception, elicitation, and   diagram is used to describe some type of  
requirements. Such models include the Data Flow  requirements and changes can be made to the  negotiation tasks that are part of requirements  interactions among the different elements in the 
diagram, Entity‐Relationship diagram,   requirements at any time of the ongoing   engineering.Requirements analysis can be a long  model. This interaction is a part of  
Data Dictionaries, State‐transition diagrams, etc.  project.  and   dynamic behavior of the system.This interactive 
(iv) Finalise the requirements: After modeling the  ● These tasks start with the identification and  tiring process during which many delicate  behavior is represented in UML by  
requirements, we will have a better   assign a unique identifier to each of the   psychological skills are involved. New systems  two diagrams known as Sequence diagram and 
understanding of the system behavior. The  requirement.  change the   Collaboration diagram. The basic  
inconsistencies and ambiguities have been   ● A er finalizing the requirement traceability  environment and relationships   purpose of both the diagrams are similar. 
identified and corrected. The flow of data  table is developed.  between people, so it is important to   Sequence diagram emphasizes on time  
amongst various modules has been analyzed.   ● The examples of traceability table are the  identify all the stakeholders, take   sequence of messages and collaboration diagram 
Elicitation and analyze activities have provided  features, sources, dependencies, subsystems   into account all their needs and ensure they  emphasizes on the structural  
better insight into the system. Now we   and interface of the requirement.  understand the implications of the new systems.  organization of the objects that send and receive 
finalize the analyzed requirements, and the next  12. How will you elicit the requirments. Discuss  Analysts   messages. 
step is to document these requirements in a   Ans: Requirements elicitation (also called  can employ several techniques to elicit the  6. What are the purpose of UML interaction 
prescribed format.  requirements gathering) combines elements of  requirements from the customer. These may  diagram? 
7. What kinds of errors are sought out during  problem solving, elaboration, negotiation, and  include the   • The purpose of interaction diagrams is to 
requirements validation? Explain.  specification. In order to encourage  development of scenarios (represented as user  visualize the interactive behavior of the  
Ans: • May be requirements are not consistent  a collaborative, team‐oriented approach to  stories in agile methods), the identification of use  system. 
with the overall objectives for the  requirements gathering, stakeholders  cases,   • To capture the dynamic behaviour of a system. 
System/product  work together to identify the problem, propose  the use of workplace observation or  • To describe the message flow in the system. 
• Requirements may not be specified at the  elements of the solution, negotiate  ethnography, holding interviews, or focus groups  • To describe the structural organization of the 
proper level of abstraction. That  different approaches and specify a preliminary  (more aptly   objects. 
is, do some requirements provide a level of  set of solution requirements.  named in this context as requirements  • To describe the interaction among objects. 
technical detail that is inappropriate  There are various ways to discover requirements  workshops, or requirements review sessions) and  9. Write note on state chart diagram? 
at this stage?  Interviews  creating   The name of the diagram itself clarifies the 
• Requirements that are unnecessary or does it  Interviews are strong medium to collect  requirements lists. Prototyping may be used to  purpose of the diagram and other details. It  
represent an add‐on feature  requirements. Organization may conduct several   develop an example system that can be  describes different states of a component in a 
that may not be essential to the objective of the  types of interviews such as:  demonstrated to   system.A Statechart diagram describes a  
system.  ● Structured (closed) interviews, where every  stakeholders. Where necessary, the analyst will  state machine. State machine can be defined as a 
• Unbounded and ambiguous requirements.  single information to gather is decided in   employ a combination of these methods to  machine which defines different states  
• Requirements may conflict with other  advance, they follow pattern and matter of  establish the   of an object and these states are controlled by 
requirements.  discussion firmly.  exact requirements of the stakeholders, so that a  external or internal events.  
• There may be unachievable requirements.  ● Non‐structured (open) interviews, where  system that meets the business needs is  10. What are the purpose of drawing state chart 
• Requirements that are not testable are  information to gather is not decided in advance,   produced.  diagram? Draw a sample state chart diagram  
considered as errors in validation.  more flexible and less biased.  Problem of scope: The customer give the  of order management system? 
8. Explain seven distinct requirements  ● Oral interviews  unnecessary technical detail rather than clarity   • To model the dynamic aspect of a system. 
engineering functions.  ● Wri en interviews  of the overall system objective.  • To model the life time of a reactive system. 
The broad spectrum of tasks and techniques that  ● One‐to‐one interviews which are held between  Problem of understanding: Poor understanding  • To describe different states of an object during 
lead to an understanding of   two persons across the table.  between the customer and the developer   its life time. 
requirements  ● Group interviews which are held between  regarding various aspect of the project like  • Define a state machine to model the states of 
is called requirements engineering. It  groups of participants. They help to uncover   capability, limitation of the computing   an object. 
encompasses seven distinct tasks: inception,   any missing requirement as numerous people are  environment.  Sample state chart diagram 
elicitation, elaboration, negotiation, specification,  involved.  Problem of volatility: In this problem, the 
validation, and management. It is   Surveys  requirements change from time to time and it  
important to note that  Organization may conduct surveys among various  is difficult while developing the project 
some of these tasks occur in parallel and all are  stakeholders by querying about their   3 
adapted to the needs of the project.  expectation and requirements from the  1. UML stands for .......................? 
1. Inception  upcoming system.  Unified Modeling Language 
● Incep on is a task where the requirement  Questionnaires  2. Write note on UML? 
engineering asks a set of questions to establish   A document with pre‐defined set of objective  UML is a pictorial language used to make 
a software process.  questions and respective options is handed   software blueprints.UML can be described  
● In this task, it understands the problem and  over to all stakeholders to answer, which are  as a general purpose visual modeling language to   
11. Write note on UML activity diagram? 
evaluates with the proper solution.  collected and compiled.  visualize, specify, construct, and  
• Activity diagram is another important diagram 
● It collaborates with the rela onship between  A shortcoming of this technique is, if   document software system.Although UML is 
in UML to describe the dynamic  
the customer and the developer.  an option for some issue is not   generally used to model software  
aspects of the system. 
● The developer and customer decide the overall  mentioned in the questionnaire, the   systems, it is not limited within this boundary. It 
• Activity diagram is basically a flowchart to 
scope and the nature of the question.  issue might be left unattended.  is also used to model non‐software  
represent the flow from one activity to  
2. Elicitation  Task analysis  systems as well. For example, the process flow in 
another activity. The activity can be described as 
Elicitation means to find the requirements from  Team of engineers and developers may analyze  a manufacturing unit, etc. 
an operation of the system. 
anybody.  the operation for which the new system is   3. What are the purpose of use‐case diagrams? 
• The control flow is drawn from one operation 
The requirements are difficult because the  required. If the client already has some software  Draw an example of use‐case diagram? 
to another. This flow can be  
following problems occur in elicitation.  to perform certain operation, it is studied   • It is Used to gather the requirements of a 
sequential, branched, or concurrent. Activity 
Problem of scope: The customer give the  and requirements of proposed system are  system. 
diagrams deal with all type of flow  
unnecessary technical detail rather than clarity   collected.  • Used to get an outside view of a system. 
control by using different elements such as fork, 
of the overall system objective.  Domain Analysis  • Identify the external and internal factors 
join, etc  
Problem of understanding: Poor understanding  Every software falls into some domain category.  influencing the system. 
12. What are the purpose of activity diagram 
between the customer and the developer   The expert people in the domain can be a   • Show the interaction among the requirements 
and draw a sample activity diagram of order  
regarding various aspect of the project like  great help to analyze general and specific  are actors. 
management system? 
capability, limitation of the computing   requirements.  Example of use‐case diagram 
Purpose 
environment.  Brainstorming 
• Draw the activity flow of a system. 
Problem of volatility: In this problem, the  An informal debate is held among various 
• Describe the sequence from one activity to 
requirements change from time to time and it   stakeholders and all their inputs are recorded for  
another. 
is difficult while developing the project.  further requirements analysis. 
• Describe the parallel, branched and concurrent 
3. Elaboration  Prototyping 
flow of the system. 
● In this task, the informa on taken from user  Prototyping is building user interface without 
Sample diagram 
during inception and elaboration and are   adding detail functionality for user to  
expanded and refined in elaboration.  interpret the features of intended software 
● Its main task is developing pure model of  product. It helps giving better idea of  
software using functions, feature and   requirements. If there is no software installed at 
constraints of a software.  client’s end for developer’s reference and    
4. Negotiation  the client is not aware of its own requirements,  4. What you mean by UML class diagram and its 
● In nego a on task, a so ware engineer decides  the developer creates a prototype based on   purpose? 
 
the how will the project be achieved   initially mentioned requirements. The prototype  Class diagram describes the attributes and 
with limited business resources.  is shown to the client and the feedback is   operations of a class and also the  
13. Write note on UML package diagram and  • DFD should be organized in a series of levels so  determine the following.  inheritance. This makes it easier to define a 
purpose of this diagram?  that each level provides more  • Whether the pattern can be reused  specific class and to create generalized  
• Package diagram, a kind of structural diagram,  detail than the previous level.   • Whether the pattern is applicable to the  classes from specific ones. 
shows the arrangement and   16. Explain about the different levels of DFD  current project  • Polymorphism: OOD languages provide a 
organization of model elements in middle to large  with an example?  • Whether the pattern can be used to develop a  mechanism where methods performing  
scale project. Package diagram can   • Level 0 DFD (also known as context diagram):  similar but functionally or   similar tasks but vary in arguments, can be 
show both structure and dependencies between  Shows an overall view of the   structurally different design pattern.  assigned the same name. This is known as  
sub‐systems or modules, showing   system.  • Modularity  polymorphism, which allows a single interface is 
different views of a system.  • Level 1 DFD: Elaborates level 0 DFD and splits  Modularity is achieved by dividing the software  performing functions for different  
• Package Diagram can be used to simplify  the process into a detailed form.  into uniquely named and addressable   types. Depending upon how the service is 
complex class diagrams, it can group   • Level 2 DFD: Elaborates level 1 DFD and displays  components, which are also known as modules. A  invoked, the respective portion of the code  
classes into packages.  the process(s) in a more   complex system (large program) is   gets executed. 
• A package is a collection of logically related  detailed form.  partitioned into a set of discrete modules in such  25. Explain about object oriented design 
UML elements.  • Level 3 DFD: Elaborates level 2 DFD and displays  a way that each module can be  models? 
• Packages are depicted as file folders and can be  the process(s) in a detailed form.  developed independent of other modules. After  There are 4 types of object oriented design 
used on any of the UML diagrams.  21. Explain about design patterns?  developing the modules, they are   models. 
The diagram below shows the classes are  A design pattern provides a general reusable  integrated together to meet the software  • Data model 
grouped into packages:  solution for the common problems   requirements. Note that larger the number of   • Architectural model 
• Packages appear as rectangles with small tabs  occurs in software design. The patterns typically  modules a system is divided into, greater will be  • Interface model 
at the top.  show relationships and interactions   the effort required to integrate the   • Component model 
• The package name is on the tab or inside the  between classes or objects. The idea is to speed  modules.  Data model 
rectangle.  up the development process by   • Information Hiding  Object oriented data model is based upon real 
• The dotted arrows are dependencies.  providing well tested, proven  Modules should be specified and designed in  world situations. These situations are  
• One package depends on another if changes in  development/design paradigm. Design patterns  such a way that the data structures and   represented as objects, with different attributes. 
the other could possibly force changes in the first.  are   processing details of one module are not  All these object have multiple  
programming language independent strategies  accessible to other modules. They pass only   relationships between them.  
for solving a common problem. That   that much information to each other, which is  Elements of Object oriented data model 
means a design pattern represents an idea, not a  required to accomplish the software   • Objects 
particular implementation. By using   functions. The way of hiding unnecessary details  The real world entities and situations are 
the design patterns you can make your code  is referred to as information hiding.   represented as objects in the Object oriented  
  more flexible, reusable and maintainable.  IEEE defines information hiding as ‘the technique  database model. 
14. Explain about UML component diagram? 
22. Explain about the different types of design  of encapsulating software design   • Attributes and Method 
Component diagrams are different in terms of 
patterns?  decisions in modules in such a way that the  Every object has certain characteristics. These are 
nature and behavior.Component  
There are mainly three types of design patterns:  module’s interfaces reveal as little as   represented using Attributes. The  
diagrams are used to model the physical aspects 
• Creational  possible about the module’s inner workings.   behaviour of the objects is represented using 
of a system. 
These design patterns are all about class  • Stepwise Refinement  Methods. 
The purpose of the component diagram can be 
instantiation or object creation. These   Stepwise refinement is a top‐down design  • Class 
summarized as − 
patterns can be further categorized into Class‐ strategy used for decomposing a system   Similar attributes and methods are grouped 
• Visualize the components of a system. 
creational patterns and object‐creational   from a high level of abstraction into a more  together using a class. An object can be  
• Construct executables by using forward and 
patterns. While class‐creation patterns use  detailed level (lower level) of abstraction.   called as an instance of the class. 
reverse engineering. 
inheritance effectively in the instantiation   At the highest level of abstraction, function or  • Inheritance 
• Describe the organization and relationships of 
process, object‐creation patterns use delegation  information is defined conceptually   A new class can be derived from the original 
the components. 
effectively to get the job   without providing any information about the  class. The derived class contains  
Component diagrams can be used to − 
done.Creational design patterns are the Factory  internal workings of the function or   attributes and methods of the original class as 
• Model the components of a system. 
Method, Abstract Factory, Builder,   internal structure of the data. As we proceed  well as its own. 
• Model the database schema. 
Singleton, Object Pool, and Prototype.  towards the lower levels of abstraction,   Architectural Design Model 
• Model the executables of an application. 
• Structural  more and more details are available.  The architectural design for software is the 
• Model the system's source code. 
These design patterns are about organizing  • Refactoring  equivalent to the floor plan of a house.The  
26. Explain about deployment level diagram? 
different classes and objects to form larger   Refactoring is an important design activity that  floor plan depicts the overall layout of the rooms; 
Deployment‐level design elements indicate how 
structures and provide new  reduces the complexity of module   their size, shape, and relationship to  
software functionality and  
functionality.Structural design patterns are  design keeping its behaviour or function  one another; and the doors and windows that 
subsystems will be allocated within the physical 
Adapter,   unchanged. Refactoring can be defined as a   allow movement into and out of the  
computing environment that will  
Bridge, Composite, Decorator, Facade, Flyweight,  process of modifying a software system to  rooms. The floor plan gives us an overall view of 
support the software. 
Private Class Data, and Proxy.  improve the internal structure of design   the house. Architectural design  
The deployment diagram shows the computing 
• Behavioral  without changing its external behavior. During  elements give us an overall view of the software.  
environment but does not explicitly  
Behavioral patterns are about identifying  the refactoring process, the existing   The architectural model is derived from three 
indicate configuration details 
common communication patterns between   design is checked for any type of flaws like  sources: 
15. Explain about Structured analysis model? 
objects and realize these patterns.Behavioral  redundancy, poorly constructed   (1) information about the application domain for 
Or 
patterns are Chain of responsibility,   algorithms and data structures, etc., in order to  the software to be built 
Explain about DFD? 
Command, Interpreter, Iterator, Mediator,  improve the design.  (2) specific requirements model elements such as 
Memento, Null Object, Observer, State,   24. Explain about object oriented design and its  data flow diagrams or analysis  
Strategy, Template method, Visitor.  concepts?  classes, their relationships and collaborations for 
23. Explain about the software design concepts?  In the object‐oriented design method, the system  the problem at hand 
Every software process is characterized by basic  is viewed as a collection of objects   (3) the availability of architectural styles and 
concepts along with certain practices   (i.e., entities). The state is distributed among the  patterns  
or methods. Methods represent the manner  objects, and each object handles its   Interface Design Model 
through which the concepts are applied.   state data. For example, in a Library Automation  The interface design for software is analogous to 
As new technology replaces older technology,  Software, each library representative   a set of detailed drawings (and  
  many changes occur in the methods   may be a separate object with its data and  specifications) for the doors, windows, and 
Structured Analysis  that are used to apply the concepts for the  functions to operate on these data.  external utilities of a house. These  
Structured analysis is a top‐down approach.  development of software.  Object oriented concepts  drawings depict the size and shape of doors and 
Generally, structured analysis is   • Abstraction  • Objects: All entities involved in the solution  windows, the manner in which they  
represented using data flow diagram (DFD)  IEEE defines abstraction as ‘a view of a problem  design are known as objects. For   operate, the way in which utility connections 
Data Flow Diagram (DFD): IEEE defines data flow  that extracts the   example, person, banks, company, and users are  (e.g., water, electrical, gas, telephone)  
diagram (also known as bubble   essential information relevant to a particular  considered as objects. Every entity   come into the house and are distributed among 
chart or work flow diagram) as “a diagram that  purpose and ignores the remainder of   has some attributes associated with it and has  the rooms depicted in the floor  
depicts data sources, data sinks, data   the information.’ The concept of abstraction can  some methods to perform on the   plan.They tell us where the doorbell is located, 
storage, and processes performed on data as  be used in two ways: as a process   attributes.  whether an intercom is to be used to  
nodes, and logical flow of data as links   and as an entity. As a process, it refers to a  • Classes: A class is a generalized description of  announce a visitor’s presence, and how a security 
between the nodes”.Represents system data in  mechanism of hiding irrelevant details and   an object. An object is an instance of a   system is to be installed. In  
hierarchical manner and with required   representing only the essential features of an  class. A class defines all the attributes, which an  essence,the detailed drawings (and 
level of detail.Depicts processes according to  item so that one can focus on important   object can have and methods, which   specifications) for the doors, windows, and  
defined user requirements and software   things at a time. As an entity, it refers to a model  represents the functionality of the object.  external utilities tell us how things and 
scope.   or view of an item.Each step in the   • Messages: Objects communicate by message  information flow into and out of the house and  
DFD notations  software process is accomplished through various  passing. Messages consist of the   within the rooms that are part of the floor plan. 
levels of abstraction. At the highest   integrity of the target object, the name of the  The interface design elements for  
level, an outline of the solution to the problem is  requested operation, and any other action   software depict information flows into and out of 
presented whereas at the lower   needed to perform the function. Messages are  the system and how it is  
levels, the solution to the problem is presented in  often implemented as procedure or   communicated among the components defined 
detail.  function calls.  as part of the architecture. 
• Architecture  • Abstraction In object‐oriented design,  There are three important elements of interface 
Software architecture refers to the structure of  complexity is handled using abstraction.   design: 
the system, which is composed of   Abstraction is the removal of the irrelevant and  (1) the user interface (UI); 
  various components of a program/ system, the  the amplification of the essentials.  (2) external interfaces to other systems, devices, 
• DFD notations should be given meaningful  attributes (properties) of those   • Encapsulation: Encapsulation is also called an  networks, or other producers or  
names.  components and the relationship amongst them.  information hiding concept. The data   consumers of information; and  
• Abbreviations should be avoided in DFD  The software architecture enables the   and operations are linked to a single unit.  (3) internal interfaces between various design 
notations.  software engineers to analyze the software  Encapsulation not only bundles essential   components. These interface design  
• Each process should be numbered uniquely but  design efficiently. In addition, it also helps   information of an object together but also  elements allow the software to communicate 
the numbering should be   them in decision‐making and handling risks.  restricts access to the data and methods   externally and enable internal  
consistent.  • Patterns  from the outside world.  communication and collaboration among the 
• DFD should be created in an organized manner  A pattern provides a description of the solution to  • Inheritance: OOD allows similar classes to stack  components that populate the software  
so that it is easily understandable.  a recurring design problem of some   up in a hierarchical manner where   architecture.  
• Unnecessary notations should be avoided in  specific domain in such a way that the solution  the lower or sub‐classes can import, implement,  Component‐Level Design Model 
DFD in order to avoid complexity.  can be used again and again.  and re‐use allowed variables and   The component‐level design for software is the 
• There should be no loops in DFD.  The objective of each pattern is to provide an  functions from their immediate superclasses.This  equivalent to a set of detailed  
insight to a designer who can   property of OOD is called an  
drawings (and specifications) for each room in a  element, i.e., data flow between the parts. It  typedef one can also aid in self‐documenting  8. It is independent of machine on which it is 
house. These drawings depict wiring   occurs naturally in functional programming   code by allowing descriptive names for the   used i.e. programs developed in high level  
and plumbing within each room, the location of  languages.  standard data types.  languages can be run on any computer. 
electrical receptacles and wall   ● Communica onal Cohesion: Two elements  Syntax:  5 
switches,faucets, sinks, showers, tubs, drains,  operate on the same input data or contribute   Typedef type name;  8. What are the some of the common ways to 
cabinets, and closets. The component level  towards the same output data. Example‐ update  wheretype is any C++ data type and name is the  achieve software quality ? Explain in detail. 
design for software fully describes the internal  record int the database and send it to the   new name for this data type.  Ans: Management and practice are applied within 
detail of each software   printer.  This defines another name for the standard type  the context of four broad activities that help a 
component. To accomplish this, the component‐ ● Procedural Cohesion: Elements of procedural  of C++.  software team achieve high software 
level design defines data structures   cohesion ensure the order of execution.   12. What are the standards and guidelines for  quality: software engineering methods, project 
for all local data objects and algorithmic detail for  Actions are still weakly connected and unlikely to  coding styles ?  management techniques, quality 
all processing that occurs within a   be reusable. Ex‐ calculate student   Ans: Indentation: Proper and consistent  control actions, and software quality assurance. 
component and an interface that allows access to  GPA, print student record, calculate cumulative  indentation is essential in producing easy to read   Software Engineering Methods 
all component operations   GPA, print cumulative GPA.  and maintainable programs.  If you expect to build high‐quality software, you 
(behaviors).  ● Temporal Cohesion: The elements are related  Indentation should be used to:  must understand the problem to be 
4  by their timing involved. A module   ○ Emphasize the body of a control structure such  solved. You must also be capable of creating a 
1. The worst type of cohesion is   connected with temporal cohesion all the tasks  as a loop or a select statement.  design that conforms to the problem 
Ans: Coincidental Cohesion  must be executed in the same time‐span.   ○ Emphasize the body of a condi onal statement  while at the same time exhibiting characteristics 
2. Explain coupling and cohesion  This cohesion contains the code for initializing all  ○ Emphasize a new scope block  that lead to software that exhibits 
Coupling:   the parts of the system. Lots of   Inline comments: Inline comments analyze the  the quality dimensions and factors(Correctness, 
Coupling is the measure of the degree of  different activities occur, all at init time.  functioning of the subroutine, or key   Reliability, Efficiency, Integrity, 
interdependence between the   ● Logical Cohesion: The elements are logically  aspects of the algorithm shall be frequently used.  Usability) 
modules. A good software will have low coupling.  related and not functionally. Ex‐ A   Rules for limiting the use of global: These rules  Project Management Techniques 
component reads inputs from tape, disk, and  file what types of data can be declared   The impact of poor management will destroy 
network. All the code for these functions is   global and what cannot.  software quality .The implications are clear:  
in the same component. Operations are related,  Structured Programming:Structured (or Modular)  if (1) a project manager uses estimation to 
but the functions are significantly   Programming methods shall be used.   verify that delivery dates are achievable, (2) 
different.  "GOTO" statements shall not be used as they lead  schedule dependencies are understood 
●  Coincidental Cohesion: The elements are not  to "spaghetti" code, which is hard to   and the team resists the temptation to use short 
related(unrelated). The elements have no   read and maintain, except as outlined line in the  cuts, (3) risk planning is conducted so 
conceptual relationship other than location in  FORTRAN Standards and Guidelines.  problems do not breed chaos, software quality 
source code. It is accidental and the worst   Naming conventions for global variables, local  will be affected in a positive way. 
form of cohesion. Ex‐ print next line and reverse  variables, and constant identifiers: A   Quality Control 
the characters of a string in a single   possible naming convention can be that global  Quality control encompasses a set of software 
component.  variable names always begin with a capital   engineering actions that help to 
  4. Define Coupling Coupling.  letter, local variable names are made of small  ensure that each work product meets its quality 
Types of Coupling: 
Ans: . Coupling is the measure of the degree of  letters, and constant names are always   goals. Models are reviewed to ensure 
● Data Coupling: If the dependency between the 
interdependence between the modules. A   capital letters.  that they are complete and consistent. Code may 
modules is based on the fact that they  
good software will have low coupling.  Error return conventions and exception handling  be inspected in order to uncover 
communicate by passing only data, then the 
11. What are user defined data types  system: Different functions in a program   and correct errors before testing commences. A 
modules are said to be data coupled. In data  
Ans: User‐Defined DataTypes:  report the way error conditions are handled  series of testing steps is applied to 
coupling, the components are independent to 
The data types that are defined by the user are  should be standard within an organization.   uncover errors in processing logic, data 
each other and communicating through  
called the derived datatype or user‐defined   For example, different tasks while encountering  manipulation, and interface communication. 
data. Module communications don’t contain 
derived data type.  an error condition should either return a   A combination of measurement and feedback 
tramp data. Example‐customer billing  
These types include:  0 or 1 consistently.  allows a software team to tune the 
system. 
● Class  Coding Guidelines  process when any of these work products fail to 
● Stamp Coupling :In stamp coupling, the 
● Structure  General coding guidelines provide the  meet quality goals. 
complete data structure is passed from one  
● Union  programmer with a set of the best methods  Quality Assurance 
module to another module. Therefore, it involves 
● Enumera on  which   Quality assurance establishes the infrastructure 
tramp data. It may be necessary due to  
● Typedef defined DataType  can be used to make programs more comfortable  that supports solid software engineering 
efficiency factors‐ this choice made by the 
Below is the detailed description of the following  to read and maintain. Most of the   methods, rational project management, and 
insightful designer, not a lazy programmer. 
types:  examples use the C language syntax, but the  quality control actions—all 
● Control Coupling: If the modules communicate 
Class: The building block that leads to Object‐ guidelines can be tested to all languages.  pivotal if you intend to build high‐quality 
by passing control information, then  
Oriented programming is a Class. It is a   Line Length: It is considered a good practice to  software. In addition, quality assurance 
they are said to be control coupled. It can be bad 
user‐defined data type, which holds its own data  keep the length of source code lines at or   consists of a set of auditing and reporting 
if parameters indicate completely  
members and member functions, which   below 80 characters. Lines longer than this may  functions that assess the effectiveness and 
different behavior and good if parameters allow 
can be accessed and used by creating an instance  not be visible properly on some   completeness of quality control actions. The goal 
factoring and reuse of functionality.  
of that class. A class is like a blueprint   terminals and tools. Some printers will truncate  of quality assurance is to provide 
Example‐ sort function that takes comparison 
for an object.  lines longer than 80 columns.  management and technical staff with the data 
function as an argument. 
Syntax:  Spacing: The appropriate use of spaces within a  necessary to be informed about product 
● External Coupling: In external coupling, the 
line of code can improve readability.  quality, thereby gaining insight and confidence 
modules depend on other modules, external  
Example:  that actions to achieve product quality are 
to the software being developed or to a particular 
Bad: cost=price+(price*sales_tax)  working. 
type of hardware. Ex‐ protocol, external  
fprintf(stdout ,"The total cost is %5.2f\n",cost);  14. Explain the testing strategies for object 
file, device format, etc. 
Better: cost = price + ( price * sales_tax )  oriented software? 
● Common Coupling: The modules have shared 
fprintf (stdout,"The total cost is %5.2f\n",cost);  Ans: The objective of testing , stated simply, is to 
data such as global data structures.The  
The code should be well‐documented: As a rule  find the greatest possible number of  
changes in global data mean tracing back to all 
of thumb, there must be at least one   errors with a manageable amount of effort 
modules which access that data to  
  comment line on the average for every three‐ applied over a realistic time span. 
evaluate the effect of the change. So it has got 
Structure: A structure is a user defined data type  source line.  Unit Testing 
disadvantages like difficulty in reusing  
in C/C++. A structure creates a data type   The length of any function should not exceed 10  When object‐oriented software is considered, the 
modules, reduced ability to control data accesses 
that can be used to group items of possibly  source lines: A very lengthy function is   concept of the unit changes. 
and reduced maintainability. 
different types into a single type.  generally very difficult to understand as it  Encapsulation drives the definition of classes and 
● Content Coupling: In a content coupling, one 
Syntax:  possibly carries out many various functions.   objects. This means that each class 
module can modify the data of another  
struct address {  For the same reason, lengthy functions are  and each instance of a class packages attributes 
module or control flow is passed from one 
char name[50];  possible to have a disproportionately larger   (data) and the operations that 
module to the other module. This is the worst  
char street[100];  number of bugs.  manipulate these data. An encapsulated class is 
form of coupling and should be avoided. 
char city[50];  Do not use goto statements: Use of goto  usually the focus of unit testing.  
Cohesion: 
char state[20];  statements makes a program unstructured and   However, 
Cohesion is a measure of the degree to which the 
int pin;  very tough to understand.  operations (methods) within the class are the 
elements of the module are functionally related. 
};  Inline Comments: Inline comments promote  smallest testable units. Because a 
It is the degree to which all elements directed 
Union: Like Structures, union is a user defined  readability.  class can contain a number of different 
towards performing a  
data type. In union, all members share the   Error Messages: Error handling is an essential  operations, and a particular operation may 
single task are contained in the component. 
same memory location. For example in the  aspect of computer programming. This   exist as part of a number of different classes, the 
Basically, cohesion is the internal glue that keeps 
following C program, both x and y share the   does not only include adding the necessary logic  tactics applied to unit testing must 
the module together. A good software design will 
same location. If we change x, we can see the  to test for and handle errors but also   change.Class testing for OO software is driven by 
have high cohesion. 
changes being reflected in y.  involves making error messages meaningful.  the operations encapsulated by the  
Enumeration: Enumeration (or enum) is a user  13. Software mistakes found during coding are  class 
defined data type in C. It is mainly used to assign  known as  and the state behavior of the class. 
names to integral   Ans: Bugs  Integration Testing 
constants, the names make a program easy to  14. State three important advantages of  There are two different strategies for integration 
read and maintain.  structured programming.  testing of OO systems [Bin94b]. 
Syntax:  Ans: The following are the different advantages  The first, thread‐based testing, integrates the set 
enum State {Working = 1, Failed = 0};  of structured programming  of classes required to respond to one 
Typedef: C++ allows you to define explicitly new  1. It is user friendly and easy to understand.  input or event for the system. Each thread is 
data type names by using the keyword   2. Similar to English vocabulary of words and  integrated and tested individually. 
typedef. Using typedef does not actually create a  symbols.  Regression testing is applied to ensure that no 
new data class, rather it defines a name for   3. It is easier to learn.  side effects occur. The second integration 
  an existing type. This can increase the  4. They require less time to write.  approach, use‐based testing, begins the 
Types of Cohesion:  portability(the ability of a program to be used  5. They are easier to maintain.  construction of the system by testing 
● Func onal Cohesion: Every essen al element  across   6. These are mainly problem oriented rather than  those classes (called independent classes) that 
for a single computation is contained in   different types of machines; i.e., mini,  machine based.  use very few (if any) server classes. 
the component. A functional cohesion performs  mainframe, micro, etc; without much changes  7. Program written in a higher level language can  After the independent classes are tested, the 
the task and functions. It is an ideal   into   be translated into many machine   next layer of classes, called dependent 
situation.  the code)of a program as only the typedef  languages and therefore can run on any  classes, that use the independent classes are 
● Sequen al Cohesion: An element outputs some  statements would have to be changed. Using   computer for which there exists an   tested. This sequence of testing layers 
data that becomes the input for other   appropriate translator. 
of dependent classes continues until the entire  Program Restructuring: Designers then do 
system is constructed.  reverse engineering by looking at the code and  
30. What is software maintenance? And what  try to get the design. With design in hand, they 
are the reasons of mainenance?  try to conclude the specifications. Thus, going  
Ans: Software maintenance is widely accepted  in reverse from code to system specification. 
part of SDLC now a days. It stands for all   35. Explain about forward engineering? 
the modifications and updations done after the  Ans: Forward engineering is a process of 
delivery of software product.There are   obtaining desired software from the  
number of reasons, why modifications are  specifications in hand which were brought down 
required, some of them are briefly mentioned   by means of reverse engineering. It  
below:  assumes that there was some software 
• Market Conditions  engineering already done in the past.Forward  
• Client Requirements  engineering is same as software engineering 
• Host Modifications  process with only one difference – it is  
• Organization Changes  carried out always after reverse engineering 
31. What are the different types of 
maintenance? 
Ans: In a software lifetime, type of maintenance 
may vary based on its nature. 
• Corrective Maintenance: to correct problems 
• Adaptive Maintenance:to keep the software 
product up‐to date 
• Perfective Maintenance: to keep the software 
usable over long period of time. 
• Preventive Maintenance:to prevent future 
 
problems of the software.   
32. What are the factors affecting maintenance 
cost? 
Ans: The standard age of any software is 
considered up to 10 to 15 years.Older softwares,  
which were meant to work on slow machines 
with less memory and storage capacity cannot  
keep themselves challenging against newly 
coming enhanced softwares on modern 
hardware. 
As technology advances, it becomes costly to 
maintain old software.Most maintenance  
engineers are newbie and use trial and error 
method to rectify problem.Often, changes made  
can easily hurt the original structure of the 
software, making it hard for any subsequent  
changes.Changes are often left undocumented 
which may cause more conflicts in future.  
These are all the real‐world factors affecting 
maintenance cost. 
Software end‐factors affecting maintenance cost 
are  
• Structure of Software Program 
• Programming Language 
• Dependence on external environment 
• Staff reliability and availability 
33. Explain about software re‐engineering 
process? 
When we need to update the software to keep it 
to the current market, without impacting its  
functionality, it is called software re‐engineering. 
It is a thorough process where the design of  
software is changed and programs are re‐
written.Other than this, sometimes programmers  
notice that few parts of software need more 
maintenance than others and they also need 
re engineering. 

 
• Decide what to re‐engineer. Is it whole software 
or a part of it? 
• Perform Reverse Engineering, in order to obtain 
specifications of existing software. 
• Restructure Program if required. For example, 
changing function‐oriented programs  
into object‐oriented programs. 
• Re‐structure data as required. 
• Apply Forward engineering concepts in order to 
get re‐engineered software. 
34. Explain about reverse engineering and 
program restructuring? 
Ans:Reverse engineering: It is a process to 
achieve system specification by thoroughly  
analyzing, understanding the existing system. This 
process can be seen as reverse SDLC  
model. 

You might also like