Software Engineering

5 & 10 Marks (Important) Questions & Answers

2 Marks (IMP)

1. What is Software Engineering?

Software Engineering is a detailed or systematic study of engineering to the design, development & maintenance of software is called software engineering.

or

Software refers to a set of instructions or programs that are written to perform specific tasks on a computer or a computing device. It is a collection of code and data that is executed by the computer’s hardware to carry out desired functions.

2. Define Software.

Software is set of tested and integrated programs plus documentation or collections of programs is called software.

Ex: Windows or Computer applications.

3. Define Engineering.

Engineering is a applications of science, tools & methods and also designing,   testing & building of machines, structures & Process using maths & science.

Ex: Software Engineers, Civil Engineers, Mechanical Engineers & etc.

4. List the advantages of software engineering?

1. Structured Approach
2. Quality Assurance
3. Efficient Development
4. Improved Maintenance
5. Predictable Project Management
6. Risk Management
7. Requirements Analysis
8. User Involvement
9. Cost Savings
10. Scalability and Flexibility

5. List the disadvantages of software engineering?

1. Complexity
2. Cost and Time Overruns
3. Rapid Technological Changes
4. Security Concerns
5. Integration Issues
6. User Acceptance and Adoption
7. Documentation and Knowledge Transfer
8. Requirement Changes

6. Define System Software.

System software is collections of programs which are written to service other programs or applications is called system software.

Ex: Operating system.

7. Define Applications Software.

Applications Software is a program or group of programs to designed for end users.

Ex: Email, WhatsApp & etc.

8. What is Requirement engineering?

Requirements engineering is a crucial phase in the software development lifecycle that involves the systematic elicitation, analysis, specification, validation, and management of requirements.

9. What are the Requirement Engineering Process?
  • Feasibility Study
  • Requirement Elicitation and Analysis
  • Software Requirement Specification
  • Software Requirement Validation
  • Software Requirement Management
10. Define Functional Requirements.

Functional requirements define the specific functionalities or features that a software system must possess. These requirements describe what the system should do in terms of input, processes, and output.

11. Define Non-Functional Requirements.

Non-functional requirements specify the qualities or characteristics that describe how well the system performs its functions. Unlike functional requirements, non-functional requirements are not concerned with specific behaviors but rather with overall system attributes.

12. What is Process?

A series of steps or actions that are taken in order to achieve a particular result or goal. Or “A process is a series of steps involving activities, constraints and resources that produce an quality output” 

13. What is Software Process?
  • A structured set of activities required to develop a software system is known as software process.
  •  A software process is a collection of Activities, Actions & Task.
14. Define Software process model.

A software process model is an abstract representation of a different phases in software process. It presents a description of a process in different models.

15. Define Waterfall Model.
  • In waterfall model each phase must be completed before the next phase can begin.
  • Output of the previous phase will be the input of next phase.
16 Define Incremental Model.
  • Incremental Model is a process of software development where requirements are divided into multiple standalone modules of the software development cycle.
  • Each module goes through the requirements, design, implementation and testing phases
17. What are Advantages of Incremental Model?
  • Errors are easy to recognize.
  • Easier to test and debug
18. What are disadvantages of Incremental Model?
  • Need for good planning
  • Total Cost is high.
  • Well defined module interfaces are needed.
19. Mention the disadvantages of waterfall model.
  • No working software is produced until late during the life cycle.
  • High amounts of risk and uncertainty.
  • Not a good model for complex and object-oriented projects.
  • Poor model for long and ongoing projects.
or
  • Inflexibility
  • Design isn’t adaptive
  • Delays testing
  • Excludes the client
  • Makes changes difficult
20. What is prototyping?

Prototyping is a software development methodology that involves creating an initial, incomplete version of a system for demonstration and testing purposes. It allows stakeholders to interact with a working model early in the development process, providing valuable feedback to refine and improve the final system.

21. Mention the different perspectives of system modelling.

1. Structural Perspective
2. Behavioral Perspective
3. Functional Perspective
4. Conceptual Perspective
5. Control Perspective

22. What are any challenges faced by software engineers?

Software engineers encounter various challenges in their work, including but not limited to the following:

1. Managing project complexity
2. Balancing cost and time constraints
3. Keeping pace with rapid technological advancements
4. Addressing security concerns effectively
5. Managing integration challenges
6. Ensuring user acceptance and adoption
7. Maintaining adequate documentation and knowledge transfer
8. Adapting to changing requirements

23. What is process activities?

Process activities refer to the specific tasks and actions that are performed during the software development process. These activities typically include requirements gathering, design, coding, testing, deployment, and maintenance.

24. List the fundamental activities for software process.

The fundamental activities for the software process include:

  1. Requirements gathering and analysis
  2. System and software design
  3. Implementation (coding)
  4. Testing
  5. Deployment
  6. Maintenance and support
25. Define software validation.

Software validation is the process of evaluating a software system or component to ensure that it complies with its intended requirements and specifications, and meets the needs of its users and stakeholders.

26. What is agile model?

The Agile model is a iterative and incremental approach to software development and project management that emphasizes flexibility, customer collaboration, and the ability to respond to change.

27. What are the two methodology of agile models?

1) Kanban 
2) Scrum
3) Extreme Programming (XP)
4) Crystal

28. List any 4 Software ethics.
  • Quality and Safety
  • Professional Competence 
  • Legal Compliance
  • Honesty and Integrity
  • Respect for Privacy
  • Environmental Impact
  • Open Communication
  • Transparency and Accountability
or
  • Privacy
  • Accuracy
  • Property
  • Accessibility
  • Software validation
  • Secure software development
  • Professional ethics
  • Colleagues
  • Legal consequences
29. Define Requirement. Mention the types of requirements?

Requirements are descriptions of the services that a software system must provide and the constraints under which it must operate. Requirements can range from high-level abstract statements of services or system constraints to detailed functional specifications.

Types:

  •  Functional Requirements.
  •  Non Functional Requirements.
  •  User Requirements.
  •  System Requirements
30. What is SRS?

A Software Requirements Specification (SRS) is a document that describes what the software will do and how it will be expected to perform. It also describes the functionality the product needs to fulfill all stakeholders (business, users) needs

31. List the components of SRS.
  • Functionality
  • Performance
  • Design constraints imposed on an implementation
  • External interfaces
32. Define Requirement validation?

Requirements validation is the process of checking that requirements defined for development, define the system that the customer really wants. To check issues related to requirements, we perform requirements validation.

33. Define Software Requirement Management.

Requirement management is the process of managing changing requirements during the requirements engineering process.

34. What are the four major tasks of risk management process?
  • Step 1: Risk Identification
  • Step 2: Risk Assessment
  • Step 3: Risk Treatment
  • Step 4: Risk Monitoring and Reporting
35. List the different categories of software.
  • System software
  • Application software
  • Engineering/scientific software
  • Embedded software
  • Product line software
  • Web applications
  • Artificial intelligence software
36. What is data dictionary?

In software engineering, a data dictionary is a set of information about the system and its components, such as databases, programs, file, and tables.

37. List different architectural views.
  • User-interface view
  • Security view
  • Data view
  • Model-View-Controller
  • Component view
38. What is design pattern.
  • In software engineering, a design pattern is a reusable solution to a common problem in software It’s a template or description for solving a problem that can be used in many situations.
  • They provide a framework for developing code that is flexible, maintainable, and scalable. Design patterns include creational, structural, behavioral, and procedural
39. List behavioral model.

In software engineering, behavioral models describe the overall behavior of a system. and interactions between the components of a software system.

  • State machine diagrams
  • Sequence diagrams
  • Activity diagrams
  • Use case diagrams
  • Collaboration diagrams
40. Name any four generic process activities.
  • Software design
  • Requirements engineering
  • Software development
  • Maintenance
  • Software testing
  • Deployment
  • Waterfall model
  • Requirements analysis
  • Testing
41. Define system model.

A system model is a high-level representation of a software system that defines its components, their interactions, and the system’s behavior. It provides a framework for analyzing, designing, and implementing software systems by specifying the system requirements, constraints, and stakeholders.

42. What is plan-driven development?

Plan-driven development is a process where all activities are planned in advance. This approach helps to manage dependencies, allocation of resources, risk management, and schedule by having a clear, comprehensive plan.

43. Define object model.

In software engineering, an object model is a logical interface, system, or software that uses object-oriented techniques to model it. It’s a visual representation of a system’s objects, actions, and attributes.

44. What are the three implementation issues in design?
  • Efficiency and Performance
  • Maintainability and Readability
  • Scalability and Extensibility
45. Mention uses of use-case diagrams.
  • Represent the goals of systems and
  • Specify the context a system should be viewed
  • Specify system
  • Provide a model for the flow of events when it comes to user
  • Provide an outside view of a
  • Show’s external and internal influences on a
46. Define UML.

Unified Modeling Language (UML) is a visual modeling language used to analyze, design, and implement software systems. It’s a set of rules for drawing diagrams, not a programming language.

47. What is a component and what role it plays in design?

In software engineering, a component is a reusable object that provides additional functionality and accelerates the development and deployment of an application. Components are building blocks that are flexible, modular, and reused across multiple projects.

48. Define Software quality.

In software engineering, software quality is a measure of how well a software product is designed and conforms to that design. It’s often referred to as the “fitness for purpose” of a software product.

49. List out the software quality attributes.
  • Reliability
  • Maintainability
  • Usability
  • Portability
  • Correctness
  • Security
  • Testability
  • Efficiency
50. Define Unit testing.

Unit testing is a software development practice that involves testing the smallest functional units of code. The goal is to confirm that the unit of code will behave as intended and produce the same result each time it’s tested.

51. What is validation testing.

Validation testing in software engineering is the process of assessing a new product to ensure it meets the needs of its users and consumer needs. It can also help product development teams understand the integrity of the product and how it performs in different environments.

52. Unit testing v/s system testing.

Unit Testing

System Testing

In unit testing, independent software module are tested separately.

System testing is done to check whether the software or product meets the specified requirements or not.

Unit testing is performed by the

developers.

System testing is generally done by

developers and testers.

Unit testing is also called white box testing.

System testing is also called black box

testing.

Unit testing generally focuses on functional

verification.

System testing generally focuses on system

validation.

Unit testing comprise of independent

modules.

System Testing comprise of System and

integration testing.

Unit testing follows the specification of

modules.

System testing follows the requirements

specification.

It gives high performance because of single

module testing at a time.

It gives relatively low performance than

unit testing.

Error finding is easy.

Error finding is difficult as compared to unit

testing.

Resource requirement is less.

It needs more resources.

Maintenance is relatively less expensive.

Maintenance is expensive.

It is cost effective as there is requirement

of less number of resources.

It is expensive.

Code details are visible in this type of testing.

Code details are not visible in this type of testing.

53. What is the purpose of problem analysis.

In software engineering, an object model is a logical interface, system, or software that uses object-oriented techniques to model it. It’s a visual representation of a system’s objects, actions, and attributes.

54. Define module and modularity.
  • In software engineering, a module is a piece of code that can be created and maintained independently to be used in different The process of creating software modules is called modularity in software engineering.
  • In software design, modularity is the logical partitioning of the software This allows complex software to be managed for implementation and maintenance.
55. Mention the advantages of texting
  • Cost-effectiveness
  • Faster testing
  • High-quality products
  • Improved software quality
  • Continuous integration and delivery
  • Better smoke testing
56. Mention any two desired characteristics of a software process
  • Correctness
  • Integrity
  • Understandability
  • Supportability
  • Collaboration and coordination
57. What is inheritance? How is it depicted in a class diagram?

Inheritance is a mechanism in object-oriented programming that allows one class to inherit the properties and behaviors of another class. In a class diagram, inheritance is shown by a solid line with a closed, unfilled arrowhead (or triangle) pointing to the super class.

58. Define RMMM in software engineering.

In software engineering, RMMM stands for Risk Mitigation, Monitoring, and Management. It’s a systematic approach that helps identify, assess, and address potential risks throughout the software development lifecycle.

Leave a Reply

Your email address will not be published. Required fields are marked *

error: Content is protected !!