This post consists more than 50 questions from SOFTWARE ENGINEERING from previous years UGC NET papers. this will help you to understand the pattern of questions comes under this section. Generally 5 out 50 questions comes from SOFTWARE ENGINEERING. New syllabus issued by the NTA is given in this post. This post also highlight the questions from each years. try to solve the questions.
Best of luck for your NTA UGC NET preparation.
SOFTWARE ENGINEERING NOTES , UGC NET PAPER2 SYLLABUS AND ITS QUESTIONS FROM PREVIOUS/OLD PAPERS
Software Engineering syllabus :
- System Development Life Cycle ( SDLC ) : Steps, Water fall model, Prototypes, Spiral model.
- re Metrics : Software Project Management.
- Software Design : System design, detailed design, function oriented design, object oriented design, user interface design. Design level metrics.
Coding and Testing: Testing level metrics. Software quality and reliability. Clean room approach, software re-engineering.
SOFTWARE ENGINEERING NOTES
- System Development Life Cycle ( SDLC )
SDLC is an short form for Synchronous Data Link Control and it is a conceptual model used in process of project management that describes the stages that are involved in an information system development project. Beginning from an initial feasibility study till the maintenance of the completed application the process is termed as SDCLC. It is a series of six main phases to create a system in order to meet customer’s expectations. A system is a set of interacting or interdependent components that are used to form an integrated whole it’s a term that can be used in different industries, therefore Software Development Life Cycle is a term that explains the phases of creating a software component that integrates with other software components to create the whole system.
The Planning is the most important step for creating a successful system, during this phase developer decides exactly what you want to do and the problems you’re trying to solve, by:
- Problem definition
- Finding alternative solutions
- Better competence
After analyzing this data you will have three choices: develop a new system, improve the current system or leave the system as it is.
The end-user’s expectations form the system bout how it will perform should be determined and documented. A feasibility study will be taking place for the project to determining whether it is economically, socially, technologically feasible. It very important part of a developer or a project manager to maintain strong communication with the clients to make sure that they have a clear vision of the finished product and its function which will avoid bigger changes after the completion.
The design phase comes after understanding of the requirements. it is a step that is used to define the various elements, components, security level, modules, architecture and the different interfaces and type of data that goes through the system.
Initially a rough design can be made with a pen and a piece of paper to see how the system will look like and how it will function. Afterwards a detailed and expanded design is produced using various designing tools, that will meet all functional and technical requirements, logically and physically.
Implementation and Deployment
After a complete understanding of system requirements and specifications, implementation and deployment is the actual construction process that begins after getting a complete and illustrated design of the desired system.
During Software Development Life Cycle, the actual code for the system is written here, and if the system contains hardware, then the implementation phase will contain configuration and fine-tuning for the hardware to meet certain requirements and functions.
In this phase, the system deployed which means that is running, live and productive, training may be required for end users to make sure they know how to use the system and to get familiar with it. Depending upon the complexity of the system the time required for the implantation phase varies.
System Testing and Integration
System is an integration of various different components and subsystems, therefore it is must to Introduce the system to different inputs to obtain outputs and the way it functions. Testing is becoming more and more important to ensure correctness of system .testing doesn’t require any knowledge the code, hardware configuration or design.
Testing can be performed by single user, or by a team of system testers. testing can be systematic and automated to ensure that the actual outcomes are compared and equal to the predicted and desired outcomes.
In this phase, time to time maintenance for the system is carried out to make sure that the system doesn’t become obsolete. it will include replacing the old hardware , continuously evaluating system’s performance & providing latest updates for certain components to make sure it meets the right standards and the latest technologies to face current security threats.
Water fall model
Waterfall Model was the first ever Process Model to be introduced. It is also known as a linear-sequential life cycle model. Water fall model is very simple to understand and use. In this model, each phase must be complete before the begging of the next phase. Water fall model is basically used for the project that is small in size and there are no uncertain requirements. At the end of each phase, a review analysis takes place to check if the project is on the right path and whether or not to continue or discard the project. In this model the testing starts only after the development is complete. In waterfall model phases do not overlap.
This model allows the users to interact and experiment with a working model of the system known as prototype. The prototype gives the user an actual feel of the system. The prototyping model is used when the detailed information regarding the input and output requirements of the system is not known to the developer. In this model, it is assumed that all the requirements may not be known at the start time of the development of the system. It is usually used when a system does not exist in real or in case if a large and complex system is to be considered where there is no manual process for determining the requirements.
Spiral Model is a combination of the iterative nature of the prototyping model and the linear nature of the waterfall model. This approach is best suitable for developing software’s that are revealed in various versions. In each iteration of the spiral approach, software development process follows the phase-wise linear approach. At the end of first iteration, the customer will evaluate the software and provides the feedback. Based on the feedback, software development process enters into the next iteration and subsequently follows the linear approach to implement the feedback suggested by the customer. The process of iteration continues throughout the life of the software.
Ø SOFTWARE METRICS
Software metrics is used to determine quality of the current product or process. They are Tools used by anyone involved in software engineering to understand the varying aspects of the code base, and the project progress. Metrics are different from just testing for errors because they can provide a variety of information about the following aspects of software systems:
- Quality of the software
- Schedule of the software project on the whole.
- Cost of the software project.
- Size/Complexity of the software system.
Software Project Management.
A Software Project is the complete procedure of software development starting from requirement gathering to testing and maintenance each phase is carried out according to the execution methodologies, in a specified period of time to achieve desired software product. The term Software project management comprises of a number of activities that consists of planning of project, deciding scope of software product, estimation of cost in various terms, scheduling of tasks and events, and resource management. Project management activities may include:
- Project Planning
- Scope Management
- Project Estimation
- SOFTWARE DESIGN
Software design is the process by which a developer creates a specification of a software that is aimed towards accomplishing the goals. it is done with the use of set of primitive components and subject to constraints. Software design may refer to either “all the activities that are involved in conceptualizing, framing, implementing, commissioning, and ultimately modifying complex systems” or “the activity such as requirements specification and before programming, in a stylized software engineering process.
It is usually observed that problem solving and planning of a software solution are considered during Software design .
Systems design is the process that is used to define the architecture, components, modules, interfaces, and data for a system according to the specified requirements. Systems design can be seen as the application of systems theory to product development. There is a little overlapping with the disciplines of systems analysis, systems architecture and systems engineering.
After completion of a high-level design, a designer’s focus now shifts to low-level design.
In detail design
- responsibilities of Each module should be specified as precisely as possible
- Constraints on the use of its interface should be specified such that the pre and post conditions can be identified
- module-wide invariants can be specified
- internal data structure and algorithms can be suggested
Function oriented design
It is used to Design with the help of functional units which transform inputs to outputs this design mechanism divides the complete system into smaller functions, which provides ways of abstraction by concealing the information and their operation. These functional modules can share information among themselves by information passing and using information available globally. In function oriented design when a program calls a function, the function changes the state of the program, which sometimes is not accepted by other modules. Function oriented design works well where the system state does not matter and program/functions work on input rather than on a state.
Object oriented design
Object oriented design works with the use of entities and their characteristics instead of functions involved in the software system. This design strategies in object oriented design focuses on entities and its characteristics. The whole concept of software solution revolves around the engaged entities.
Object Oriented Design includes:
User interface design
User interface is view through which the user interacts in order to use the software. User can manipulate and control the software as well as hardware through interface. User interface is an essential part of software and it is designed in such a manner that it is expected to provide the user idea of the software. UI provides basic platform for human to interact with the computer.
UI can be graphical, text-based, audio-video based, depending upon the underlying hardware and software combination. UI can be hardware or software or a combination of both.
Design level metrics
The application of design metrics to software development is considered as An empirical investigation A design level metrics is based upon information that flows between modules is proposed and empirically validated by analyzing 13 software systems. A highly significant correlation is found between this metric and development effort measured as computer connect time. By contrast, size-based design metrics are found to exhibit little association with effort
- CODING AND TESTING
Testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include the process of executing a program or application with the intent of finding software bugs (errors or other defects).
Software testing involves the execution of a software component or system component to evaluate one or more properties of interest. In general, these properties indicate the extent to which the component or system under test:
- meets the requirements that guided its design and development,
- responds correctly to all kinds of inputs,
- performs its functions within an acceptable time,
- is sufficiently usable,
- can be installed and run in its intended environments, and
- achieves the general result its stakeholders desire.
Testing level metrics
A testing level metrics is used
To determine the quality and progress of testing.
- To calculate how much more time is required for the release
- To estimate the time needed to fix defects.
- Metrics help in deciding the scope of the product that can be released by considering the defect density across modules, their importance to customers and impact analysis of those defects
Software quality and reliability
Software reliability is defined as the probability of failure-free operation of a computer program for a specified time in a specified environment. For example, a program might have a reliability of 0.82 for 8 hours of execution. A failure is a departure of program operation from requirements. Failure intensity, an alternate way of expressing software reliability, is defined as failures occurring with respect to sometime unit. An expression equivalent to the reliability figure given above is that a program has a failure intensity of 0.025 failures per hour of execution. A fault is a defect in a program that causes a failure. In the context of software engineering, software quality measures how well software is designed (quality of design), and how well the software conforms to that design (quality of conformance).
The term “measures” in this definition is slightly misleading in my opinion, since many if not all of the aspects of software quality are entirely subjective. Some of the factors that go into determining software quality are:
- installation? Have machine-dependent statements been flagged and commented?
Clean room approach
The clean room technique is a process in which a new product is developed by using the concept of reverse engineering i.e. using an existing product, and then the new product is designed in such a way that patent or copyright infringement is avoided. The clean room technique is also known as clean room design. This process is known as the Chinese wall method, because the aim of this approach is to place a demonstrable intellectual barrier between the reverse engineering process and the development of the new product.
Software re engineering
Re-engineering is referred to the adjustment, alteration, or partial replacement of a product in order to change its function, adapting it to meet a new need. Re-engineering is often used to adapt generic products for a specific environment it is used to examine the finished product and build it again, but better. Re-engineering is simply a new re-implementation of a product with better engineering. Reverse-engineering is taking apart a finished product for the purposes of learning how it works. Re-engineering may be useful for the modification of the legacy code or software.
SOFTWARE ENGINEERING QUESTIONS FROM UGC NET OLD PAPERS
Q1. In software testing, how the error, fault and failure are related to each other ?
(1) Error leads to failure but fault is not related to error and failure.
(2) Fault leads to failure but error is not related to fault and failure.
(3) Error leads to fault and fault leads to failure.
(4) Fault leads to error and error leads to failure.
Q2. Which of the following is not a software process model ?
(1) Prototyping (2) Iterative (3) Timeboxing (4) Glassboxing
Q3. Match the following :
(a) Size-oriented metrics (i) uses number of external interfaces as one of the measurement parameter.
(b) Function-oriented (ii) originally designed to be applied to business information metrics systems.
(c) Extended Function (iii) derived by normalizing quality and/or productivity Point metrics measures by considering the size of the software.
(d) Function point (iv) uses algorithm characteristics as one of the measurement parameter.
(a) (b) (c) (d)
(1) (iii) (iv) (i) (ii)
(2) (ii) (i) (iv) (iii)
(3) (iv) (ii) (iii) (i)
(4) (iii) (i) (iv) (ii)
Q4. In which testing strategy requirements established during requirements analysis are validated against developed software ?
(1) Validation testing (2) Integration testing
(3) Regression testing (4) System testing
Q5. Which process model is also called as classic life cycle model ?
(1) Waterfall model (2) RAD model
(3) Prototyping model (4) Incremental model
Q6. Cohesion is an extension of:
(1) Abstraction concept (2) Refinment concept
(3) Information hiding concept (4) Modularity
Q7. Which one from the following is highly associated activity of project planning ?
(1) Keep track of the project progress.
(2) Compare actual and planned progress and costs.
(3) Identify the activities, milestones and deliverables produced by a project.
(4) Both (2) and (3).
Q8. ________ are applied throughout the software process.
(A) Framework activities (B) Umbrella activities
(C) Planning activities (D) Construction activities
Q9. Requirement Development, Organizational Process Focus, Organizational Training, Risk Management and Integrated Supplier Management are process areas required to achieve maturity level
Q10. The software _________ of a program or a computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships among them.
Q11. Which one of the following set of attributes should not be encompassed by effective software metrics ?
(A) Simple and computable
(B) Consistent and objective
(C) Consistent in the use of units and dimensions
(D) Programming language dependent
Q12. KPA in CMM stands for
(A) Key Process Area
(B) Key Product Area
(C) Key Principal Area
(D) Key Performance Area
Q13. Which one of the following is not a risk management technique for managing the risk due to unrealistic schedules and budgets ?
(A) Detailed multi source cost and schedule estimation.
(B) Design cost
(C) Incremental development
(D) Information hiding
Q14. ________of a system is the structure or structures of the system which comprise software elements, the externally visible properties of these elements and the relationship amongst them.
(A) Software construction
(B) Software evolution
(C) Software architecture
(D) Software reuse
Q15. In function point analysis, the number of complexity adjustment factors is
(A) 10 (B) 12 (C) 14 (D) 20
Q16. Regression testing is primarily related to
(A) Functional testing
(B) Development testing
(C) Data flow testing
(D) Maintenance testing
Q17. The relationship of data elements in a module is called
Q18. Software Configuration Management is the discipline for systematically controlling
(A) the changes due to the evolution of work products as the project proceeds.
(B) the changes due to defects (bugs) being found and then fixed.
(C) the changes due to requirement changes
(D) all of the above
Q19. Which one of the following is not a step of requirement engineering ?
(A) Requirement elicitation
(B) Requirement analysts
(C) Requirement design
(D) Requirement documentation
Q20. Testing of software with actual data and in actual environment is called
(A) Alpha testing
(B) Beta testing
(C) Regression testing
(D) None of the above
Q21. COCOMO stands for
(A) COmposite COst MOdel
(B) COnstructive COst MOdel
(C) COnstructive Composite MOdel
(D) COmprehensive Construction Model
Q22. Match the following:
a. Good quality i. Program does not fail for a specified time in a given environment
b. Correctness ii. Meets the functional requirements
c. Predictable iii. Meets both functional and non-functional requirements
d. Reliable iv. Process is under statistical control
a b c d
(A) iii ii iv i
(B) ii iii iv i
(C) i ii iv iii
(D) i ii iii iv
Q23. While estimating the cost of software, Lines of Code (LOC) and Function Points (FP) are used to measure which one of the following?
(A) Length of code
(B) Size of software
(C) Functionality of software
(D) None of the above
Q24. A good software design must have
(A) High module coupling, High module cohesion
(B) High module coupling, Low module cohesion
(C) Low module coupling, High module cohesion
(D) Low module coupling, Low module cohesion
Q25.______is an “umbrella” activity that is applied throughout the software engineering process.
(D) Software quality assurance
Q26. Basis path testing falls under
(A) system testing
(B) white box testing
(C) black box testing
(D) unit testing
Q27. RAD stands for______.
(A) Rapid and Design
(B) Rapid Aided Development
(C) Rapid Application Development
(D) Rapid Application Design
Q28. Main aim of software engineering is to produce
(C) within budget
(D) software within budget in the given schedule
Q29. Key process areas of CMM level 4 are also classified by a process which is
(A) CMM level 2
(B) CMM level 3
(C) CMM level 5
(D) All of the above
Q30. Validation means
(A) are we building the product right
(B) are we building the right product
(C) verification of fields
(D) None of the above
Q31. If a process is under statistical control, then it is
Q32. In a function oriented design, we
(A) minimize cohesion and maximize coupling
(B) maximize cohesion and minimize coupling
(C) maximize cohesion and maximize coupling
(D) minimize cohesion and minimize coupling
Q33. Which of the following metric does not depend on the programming language used ?
(A) Line of code
(B) Function count
(C) Member of token
(D) All of the above
Q34. For a data entry project for office staff who have never used computers before (user interface and user friendliness are extremely important), one will use
(A) Spiral model
(B) Component based model
(D) Waterfall model
Q35. An SRS
(A) establishes the basis for agreement between client and the supplier.
(B) provides a reference for validation of the final product.
(C) is a prerequisite to high quality software.
(D) all of the above.
Q36. Emergency fixes known as patches are result of
(A) adaptive maintenance
(B) perfective maintenance
(C) corrective maintenance
(D) none of the above
Q37. Design recovery from source code is done during
(A) reverse engineering
(D) all of the above
Q38. Following is used to demonstrate that the new release of software still performs the old one did by rerunning the old tests :
(A) Functional testing
(B) Path testing
(C) Stress testing
(D) Regression testing
Q39. Which one of the items listed below is not one of the software engineering layers ?
Q40. What is the first stage in program development ?
(A) Specification and design
(B) System Analysis
(D) None of the above
Q41. By means of a data flow diagram, the analyst can detect
(A) Task duplication
(B) Unnecessary delays
(C) Task overlapping
(D) All of the above
Q42. Which of these are the 5 generic software engineering framework activities ?
(A) Communication, planning, modelling, construction, deployment
(B) Communication, risk management, measurement, production, reviewing
(C) Analysis, designing, programming, Debugging, maintenance
(D) Analysis, planning, designing, programming, testing
Q43. Many causes of the software crisis can be traced to mythology based on
(A) Management Myths
(B) Customer Myths
(C) Practitioner Myths
(D) All of the above
Q44. Prototyping is used to
(A) test the software as an end product
(B) expand design details
(C) refine and establish requirements gathering
(D) None of the above
Q45. Which one of these are not software maintenance activity ?
(A) Error correction
(C) Implementation of Enhancement
(D) Establishing scope
Q46. The system specification is the first deliverable in the computer system engineering process which does not include
(A) Functional Description
(D) Technical Analysis
Q47. The COCOMO model was introduced in the book title “Software Engineering Economics” authored by
(A) Abraham Silberschatz
(B) Barry Boehm
(C) C.J. Date
(D) D.E. Knuth
Q48. The Warnier diagram enables analyst
(A) to represent information hierarchy in a compact manner
(B) to further identify requirement
(C) to estimate the total cost involved
(D) None of the above
Q49. Software engineering primarily aims on
(A) reliable software
(B) cost effective software
(C) reliable and cost effective software
(D) none of the above
Q50. Top-down design does not require
(A) step-wise refinement
(B) loop invariants
(C) flow charting
Q51. Which model is simplest model in Software Development ?
(A) Waterfall model
(D) None of these
Q52. Design phase will usually be
(D) centre fringing
(A) is used to control the operating system
(B) includes programs designed to help programmers
(C) performs a specific task for computer users
(D) all of the above
give your feedback or suggestion.