How to evaluate the knowledge and skill level of software engineering?

一、Software Engineering Basics

a、This set of Software Engineering Interview Questions and Answers focuses on “Software Engineering Ethics ”.

1. Choose the correct option in terms of Issues related to professional responsibility
a) Confidentiality
b) Intellectual property rights
c) Both Confidentiality & Intellectual property rights
d) Managing Client Relationships

View Answer:Answer: c

2. “Software engineers should not use their technical skills to misuse other people’s computers.”Here the term misuse refers to:
a) Unauthorized access to computer material
b) Unauthorized modification of computer material
c) Dissemination of viruses or other malware
d) All of the mentioned
View Answer:Answer: d

3. Explain what is meant by PRODUCT with reference to one of the eight principles as per the ACM/IEEE Code of Ethics ?
a) The product should be easy to use
b) Software engineers shall ensure that their products and related modifications meet the highest professional standards possible
c) Software engineers shall ensure that their products and related modifications satisfy the client
d) It means that the product designed /created should be easily available
View Answer:Answer: b

Explanation: None.

4. Identify an ethical dilemma from the situations mentioned below:
a) Your employer releases a safety-critical system without finishing the testing of the system
b) Refusing to undertake a project
c) Agreement in principle with the policies of senior management
d) All of the mentioned
View Answer:Answer: a

Explanation: None.

5. Identify the correct statement: “Software engineers shall
a) act in a manner that is in the best interests of his expertise and favour.”
b) act consistently with the public interest.”
c) ensure that their products only meet the SRS.”
d) all of the mentioned
View Answer

Answer: b
Explanation: Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest and shall ensure that their products and related modifications meet the highest professional standards possible.Thus options a & c are ruled out.

6. Select the incorrect statement: “Software engineers should
a) not knowingly accept work that is outside your competence.”
b) not use your technical skills to misuse other people’s computers.”
c) be dependent on their colleagues.”
d) maintain integrity and independence in their professional judgment.”
View Answer

Answer: c
Explanation:None.

7. Efficiency in a software product does not include ________
a) responsiveness
b) licensing
c) memory utilization
d) processing time
View Answer

Answer: b
Explanation: Licensing of a software product comes under corporate part of the software company.

8. As per an IBM report, “31%of the project get cancelled before they are completed, 53% overrun their cost estimates by an average of 189% and for every 100 projects, there are 94 restarts”.What is the reason for these statistics ?
a) Lack of adequate training in software engineering
b) Lack of software ethics and understanding
c) Management issues in the company
d) All of the mentioned
View Answer

Answer: a
Explanation: Option b & c are a part of Software Engineering as a subject,hence option a covers them both.

9. The reason for software bugs and failures is due to
a) Software companies
b) Software Developers
c) Both Software companies and Developers
d) All of the mentioned
View Answer

Answer: c
Explanation: Software companies are responsible for making policies and providing working atmosphere for the software development, so in turn these companies become a part of software development process.Bugs from developers side is no new thing. Thus option c answers the question.

10. Company has latest computers and state-of the- art software tools, so we shouldn’t worry about the quality of the product.
a) True
b) False
View Answer

Answer: b
Explanation: The infrastructure is only one of the several factors that determine the quality of the product.

1. Which of these are not among the eight principles followed by Software Engineering Code of Ethics and Professional Practice ?
a) PUBLIC
b) PROFESSION
c) PRODUCT
d) ENVIRONMENT
View Answer

Answer: d
Explanation: Rest all are clauses for software ethics, environment does not focus on specific clause nor its of importace related to question.

2. What is a Software ?
a) Software is set of programs
b) Software is documentation and configuration of data
c) Software is set of programs, documentation & configuration of data
d) None of the mentioned
View Answer

Answer: c
Explanation: Software is not just set of program but it is also associated documentation and configuration of data to make program run.

3. Which of these does not account for software failure ?
a) Increasing Demand
b) Low expectation
c) Increasing Supply
d) Less reliable and expensive
View Answer

Answer: c
Explanation: Increasing supply will lead to more production and not failure.

4. What are attributes of good software ?
a) Software maintainability
b) Software functionality
c) Software development
d) Software maintainability & functionality
View Answer

Answer: d
Explanation: Good software should deliver the required functinality, maintainability. Software development is not an attribute but a fundamental.

5. Which of these software engineering activities are not a part of software processes ?
a) Software dependence
b) Software development
c) Software validation
d) Software specification
View Answer

Answer: a
Explanation: Software dependence is an attribute and not an engineering activity for process.

6. Which of these is incorrect ?
a) Software engineering belongs to Computer science
b) Software engineering is a part of more general form of System Engineering
c) Computer science belongs to Software engineering
d) Software engineering is concerned with the practicalities of developing and delivering useful software
View Answer

Answer: c
Explanation: Software engineering is a vast sub domain which comes under computer science which is main domain.

7. Which of these is true ?
a) Generic products and customized products are types of software products
b) Generic products are produced by organization and sold to open market
c) Customized products are commissioned by particular customer
d) All of the mentioned
View Answer

Answer: d
Explanation: All of them are true.

8. Which of these does not affect different types of software as a whole?
a) Heterogeneity
b) Flexibility
c) Business and social change
d) Security
View Answer

Answer: b
Explanation: Option b & c are a part of Software Engineering as a subject,hence option a covers them both.

9. The fundamental notions of software engineering does not account for ?
a) Software processes
b) Software Security
c) Software reuse
d) Software Validation
View Answer

Answer: d
Explanation: Software validation is an activity for software process and not the fundamental for engineering.

10. Which of these is not true ?
a) Web has led to availability of software services and possibility of developing highly distributed service based systems
b) Web based systems have led to degradation of programming languages
c) Web brings concept of software as service
d) Web based system should be developed and delivered incrementally
View Answer

Answer: b
Explanation: Web based systems has led to important advances in programming languages.
 

b、This set of Software Engineering Multiple Choice Questions & Answers (MCQs) focuses on “Software Life Cycle Models”.

1. Build & Fix Model is suitable for programming exercises of ___________ LOC (Line of Code).
a) 100-200
b) 200-400
c) 400-1000
d) above 1000
View Answer

Answer: a
Explanation: Build & Fix Model is suitable for small projects & programming exercises of 100 or 200 lines.

2. RAD stands for
a) Relative Application Development
b) Rapid Application Development
c) Rapid Application Document
d) None of the mentioned
View Answer

Answer: b
Explanation: None.

3. Which one of the following models is not suitable for accommodating any change?
a) Build & Fix Model
b) Prototyping Model
c) RAD Model
d) Waterfall Model
View Answer

Answer: d
Explanation: Real projects rarely follow the sequential flow that the Waterfall Model proposes.

4. Which is not one of the types of prototype of Prototyping Model?
a) Horizontal Prototype
b) Vertical Prototype
c) Diagonal Prototype
d) Domain Prototype
View Answer

Answer: c
Explanation: Their is no such thing as Diagonal Prototype whereas other options have their respective definitions.

5. Which one of the following is not a phase of Prototyping Model?
a) Quick Design
b) Coding
c) Prototype Refinement
d) Engineer Product
View Answer

Answer: b
Explanation: A prototyping model generates only a working model of a system.

6. Which of the following statements regarding Build & Fix Model is wrong?
a) No room for structured design
b) Code soon becomes unfixable & unchangeable
c) Maintenance is practically not possible
d) It scales up well to large projects
View Answer

Answer: d
Explanation: Build & Fix Model is suitable for 100-200 LOC

7. RAD Model has
a) 2 phases
b) 3 phase
c) 5 phases
d) 6 phases
View Answer

Answer: c
Explanation: RAD Model consists of five phases namely:Business modeling,Data modeling,Process modeling,Application generation and Testing & Turnover.

8. What is the major drawback of using RAD Model?
a) Highly specialized & skilled developers/designers are required
b) Increases reusability of components
c) Encourages customer/client feedback
d) Increases reusability of components, Highly specialized & skilled developers/designers are required
View Answer

Answer: d
Explanation: The client may create an unrealistic product vision leading a team to over or under-develop functionality.Also, the specialized & skilled developers are not easily available.

9. SDLC stands for
a) Software Development Life Cycle
b) System Development Life cycle
c) Software Design Life Cycle
d) System Design Life Cycle
View Answer

Answer: a
Explanation: None.

10. Which model can be selected if user is involved in all the phases of SDLC?
a) Waterfall Model
b) Prototyping Model
c) RAD Model
d) both Prototyping Model & RAD Model
View Answer

Answer: c
Explanation: None.
 
二、Software Processes, Models and Agile Software Development

a、This set of Software Engineering Multiple Choice Questions & Answers (MCQs) focuses on “Software Process and Product ”.

1. Which one of the following is not a software process quality?
a) Productivity
b) Portability
c) Timeliness
d) Visibility
View Answer

Answer: b
Explanation: Portability is a software product quality which means software can run on different hardware platforms or software environments.

2. _____________&_____________ are two kinds of software products.
a) CAD, CAM
b) Firmware, Embedded
c) Generic, Customised
d) None of the mentioned
View Answer

Answer: c
Explanation: rest all are sub categories/applications of option c.

3. Software costs more to maintain than it does to develop.
a) True
b) False
View Answer

Answer: a
Explanation: For systems with a long life, maintenance costs may be several times development costs.

4. Which one of the following is not an application of embedded software product?
a) keypad control of a security system
b) pattern recognition game playing
c) digital function of dashboard display in a car
d) none of the mentioned
View Answer

Answer: b
Explanation: Pattern recognition uses Artificial Intelligence (AI) software.

5. Purpose of process is to deliver software
a) in time
b) with acceptable quality
c) that is cost efficient
d) both in time & with acceptable quality
View Answer

Answer: d
Explanation: Cost of a software is a management issue & is not related to process activities.

6. The work associated with software engineering can be categorized into three generic phases,regardless of application area, project size, or complexity namely the__________ phase which focuses on what, the_________ phase which focuses on how and the_________ phase which focuses on change.
i. support
ii. development
iii. definition
a) 1, 2, 3
b) 2, 1, 3
c) 3, 2, 1
d) 3, 1, 2
View Answer

Answer: c
Explanation: None.

7. Which of the following activities of a Generic Process framework provides a feedback report?
a) Communication
b) Planning
c) Modeling & Construction
d) Deployment
View Answer

Answer: d
Explanation: In Deployment the product is delivered to the customer who evaluates the product and provides feedback based on the evaluation.

8. Process adopted for one project is same as the process adopted from another project.
a) True
b) False
View Answer

Answer: b
Explanation: the overall flow of activities, actions,tasks,the level of autonomy given to the software team and the inter dependencies among two process can never be the same.

9. Which one of the following is not an Umbrella Activity that complements the five process framework activities and help team manage and control progress, quality, change, and risk.
a) Reusability management
b) Risk management
c) Measurement
d) User Reviews
View Answer

Answer: d
Explanation: None.

10. Four types of change are encountered during the support phase.Which one of the following is not one that falls into such category?
a) Translation
b) Correction
c) Adaptation
d) Prevention
View Answer

Answer: a
Explanation: Translation is done in the development phase.

1. If a software production gets behind schedule, one can add more programmers and catch up.
a) True
b) False
View Answer

Answer: b
Explanation: As new people are added, people who were working must spend time educating the newcomers, thereby reducing the amount of time spent on productive development effort.

2. Choose an internal software quality from given below:
a) scalability
b) usability
c) reusability
d) reliability
View Answer

Answer: c
Explanation: rest all are external qualities which are visible to the user.

3. RUP stands for____________ created by a division of ____________
a) Rational Unified Program, IBM
b) Rational Unified Process, Infosys
c) Rational Unified Process, Microsoft
d) Rational Unified Process, IBM
View Answer

Answer: d
Explanation: None.

4. The RUP is normally described from three perspectives-dynamic, static & practice.What does static perspective do ?
a) It shows the process activities that are enacted
b) It suggests good practices to be used during the process
c) It shows the phases of the model over time
d) All of the mentioned
View Answer

Answer: a
Explanation: None.

5. The only deliverable work product for a successful project is the working program.
a) True
b) False
View Answer

Answer: b
Explanation: A working program is only one part of a software configuration that includes many elements. Documentation provides a foundation for successful engineering and, more important, guidance for software support.

6. Which phase of the RUP is used to establish a business case for the system ?
a) Transition
b) Elaboration
c) Construction
d) Inception
View Answer

Answer: d
Explanation: None.

7. Which one of the following is not a fundamental activity for software processes in software engineering ?
a) Software Verification
b) Software Validation
c) Software design and implementation
d) Software evolution
View Answer

Answer: a
Explanation: Software Verification is accounted for in implementation & testing activity.

8. A general statement of objectives is the major cause of failed software efforts.
a) True
b) False
View Answer

Answer: a
Explanation: A formal and detailed description of the information domain, function, behavior, performance, interfaces, design constraints and validation criteria is essential which can be determined only after thorough communication between customer and developer.

9. The longer a fault exists in software
a) the more tedious its removal becomes
b) the more costly it is to detect and correct
c) the less likely it is to be properly corrected
d) All of the mentioned
View Answer

Answer: d
Explanation: None.

10. Component-based Software Engineering allows faster delivery.
a) True
b) False
View Answer

Answer: a
Explanation: Due to using previously tested components they produce more reliable system at a faster rate.

b、This set of Software Engineering Multiple Choice Questions & Answers (MCQs) focuses on “Agile Software Development”.

1. Select the option that suits the Manifesto for Agile Software Development
a) Individuals and interactions
b) Working software
c) Customer collaboration
d) All of the mentioned
View Answer

Answer:d
Explanation: None.

2. Agile Software Development is based on
a) Incremental Development
b) Iterative Development
c) Linear Development
d) Both Incremental and Iterative Development
View Answer

Answer:d
Explanation: The software is developed in increments with the customer specifying the requirements to be included in each increment and the highest priority is to satisfy the customer through early and continuous delivery of valuable software. They are iterative because they work on one iteration followed by improvements in next iteration

3. Which on of the following is not an agile method?
a) XP
b) 4GT
c) AUP
d) All of the mentioned
View Answer

Answer:b
Explanation: The 4GT approach does not incorporate iteration and the continuous feedback,which is the fundamental aspect of an agile method.

4. Agility is defined as the ability of a project team to respond rapidly to a change.
a) True
b) False
View Answer

Answer:b
Explanation: The aim of agile methods is to reduce overheads in the software process and to be able to respond quickly to changing requirements without excessive rework.

5. How is plan driven development different from agile development ?
a) Outputs are decided through a process of negotiation during the software development process
b) Specification, design, implementation and testing are interleaved
c) Iteration occurs within activities
d) All of the mentioned
View Answer

Answer:c
Explanation: A plan-driven approach to software engineering is based around separate development stages with the outputs to be produced at each of these stages planned in advance.

6. How many phases are there in Scrum ?
a) Two
b) Three
c) Four
d) Scrum is an agile method which means it does not have phases
View Answer

Answer:b
Explanation: There are three phases in Scrum.The initial phase is an outline planning phase followed by a series of sprint cycles and project closure phase.

7. Agile methods seem to work best when team members have a relatively high skill level.
a) True
b) False
View Answer

Answer:a
Explanation: None.

8. Which of the following does not apply to agility to a software process?
a) Uses incremental product delivery strategy
b) Only essential work products are produced
c) Eliminate the use of project planning and testing
d) All of the mentioned
View Answer

Answer:c
Explanation: Testing is a major part of each software development process which can’t be avoided.

9. Which three framework activities are present in Adaptive Software Development(ASD) ?
a) analysis, design, coding
b) requirements gathering, adaptive cycle planning, iterative development
c) speculation, collaboration, learning
d) all of the mentioned
View Answer

Answer:c
Explanation: None.

10. In agile development it is more important to build software that meets the customers’ needs today than worry about features that might be needed in the future.
a) True
b) False
View Answer

Answer:a
Explanation: None.
 
三、Requirement Engineering

a、This set of Software Engineering Multiple Choice Questions & Answers (MCQs) focuses on “Requirement Engineering”.

1. What are the types of requirements ?
a) Availability
b) Reliability
c) Usability
d) All of the mentioned
View Answer

Answer: d
Explanation: All the mentioned traits are beneficial for an effective product to be developed.

2. Select the developer-specific requirement ?
a) Portability
b) Maintainability
c) Availability
d) Both Portability and Maintainability
View Answer

Answer: d
Explanation: Availability is user specific requirement.

3. Which one of the following is not a step of requirement engineering?
a) elicitation
b) design
c) analysis
d) documentation
View Answer

Answer: b
Explanation: Requirement Elicitation, Requirement Analysis, Requirement Documentation and Requirement Review are the four crucial process steps of requirement engineering.Design is in itself a different phase of Software Engineering.

4. FAST stands for
a) Functional Application Specification Technique
b) Fast Application Specification Technique
c) Facilitated Application Specification Technique
d) None of the mentioned
View Answer

Answer: c
Explanation: None.

5. QFD stands for
a) quality function design
b) quality function development
c) quality function deployment
d) none of the mentioned
View Answer

Answer: c
Explanation: None.

6. A Use-case actor is always a person having a role that different people may play.
a) True
b) False
View Answer

Answer: b
Explanation: Use-case Actor is anything that needs to interact with the system, be it a person or another (external) system.

7. The user system requirements are the parts of which document ?
a) SDD
b) SRS
c) DDD
d) SRD
View Answer

Answer: b
Explanation: Software requirements specification (SRS), is a complete description of the behaviour of a system to be developed and may include a set of use cases that describe interactions the users will have with the software.

8. A stakeholder is anyone who will purchase the completed software system under development.
a) True
b) False
View Answer

Answer: b
Explanation: Stakeholders are anyone who has an interest in the project. Project stakeholders are individuals and organizations that are actively involved in the project, or whose interests may be affected as a result of project execution or project completion.

9. Conflicting requirements are common in Requirement Engineering, with each client proposing his or her version is the right one.
a) True
b) False
View Answer

Answer: a
Explanation: This situation is seen in every field of work as each professional has his/her way of looking onto things & would argue to get his/her point approved.

10. Which is one of the most important stakeholder from the following ?
a) Entry level personnel
b) Middle level stakeholder
c) Managers
d) Users of the software
View Answer

Answer: d
Explanation: Users are always the most important stakeholders.After all, without users or customers, what’s the point of being in business.
 

b、This set of Software Engineering Multiple Choice Questions & Answers (MCQs) focuses on “Requirement Elicitation”.

1. What is the first step of requirement elicitation ?
a) Identifying Stakeholder
b) Listing out Requirements
c) Requirements Gathering
d) All of the mentioned
View Answer

Answer: a
Explanation: Stakeholders are the one who will invest in and use the product, so its essential to chalk out stakeholders first.

2. Starting from least to most important, choose the order of stakeholder.
i. Managers
ii. Entry level Personnel
iii. Users
iv. Middle level stakeholder
a) i, ii, iv, iii
b) i, ii, iii, iv
c) ii, iv, i, iii
d) All of the mentioned
View Answer

Answer: c
Explanation: Users are your customers, they will be using your product, thus making them most important of all.

3. Arrange the tasks involved in requirements elicitation in an appropriate manner.
i. Consolidation
ii. Prioritization
iii. Requirements Gathering
iv. Evaluation
a) iii, i, ii, iv
b) iii, iv, ii, i
c) iii, ii, iv, i
d) ii, iii, iv, i
View Answer

Answer: b
Explanation: Requirements gathering captures viewpoint from different users followed by evaluation of those view points.Now comes the task of checking the relative importance of the requirements and finally to consolidate or bind together the information collected.

4. What are the types of requirement in Quality Function Deployment(QFD) ?
a) Known, Unknown, Undreamed
b) User, Developer
c) Functional, Non-Functional
d) Normal, Expected, Exciting
View Answer

Answer: d
Explanation: According to QFD, Normal, Expected and Exciting requirements maximizes customer satisfaction from the Software Engineering Process.

5. What kind of approach was introduced for elicitation and modelling to give a functional view of the system ?
a) Object Oriented Design (by Booch)
b) Use Cases (by Jacobson)
c) Fusion (by Coleman)
d) Object Modeling Technique (by Rumbaugh)
View Answer

Answer: b
Explanation: Use Case captures who does what with the system, for what purpose, without dealing with system internals.

6. What are the kinds of actors used in OOSE ?
a) Primary
b) Secondary
c) Ternary
d) Both Primary and Secondary
View Answer

Answer: d
Explanation: A primary actor is one having a goal requiring the assistance of the system whereas, a secondary actor is one from which system needs assistance.There is no such thing as ternary actor in Software Engineering.

7. Why is Requirements Elicitation a difficult task ?
a) Problem of scope
b) Problem of understanding
c) Problem of volatility
d) All of the mentioned
View Answer

Answer: d
Explanation: Users specify unnecessary technical detail that may confuse, rather than clarify overall system objectives.Also, the customers/users are not completely sure of what is needed, have a poor understanding of the capabilities and limitations of their computing environment and they do not understand that the requirements change over time.

8. What requirement gathering method developed at IBM in 1970s is used for managing requirement elicitation ?
a) JAD
b) Traceability
c) FAST
d) Both JAD and Traceability
View Answer

Answer: d
Explanation: Joint application design (JAD) is a process used to collect business requirements while developing new information systems for a company. Requirements traceability is concerned with documenting the life of a requirement and providing bi-directional traceability between various associated requirements.

9. Requirements elicitation is a cyclic process
a) True
b) False
View Answer

Answer: a
Explanation: Requirements traceability provides bi-directional traceability between various associated requirements.

10. How many Scenarios are there in elicitation activities ?
a) One
b) Two
c) Three
d) Four
View Answer

Answer: d
Explanation: As-is Scenario, Visionary Scenario, Evaluation Scenario and Training Scenario are the four scenarios in requirement elicitation activities.
 

c、This set of Software Engineering Multiple Choice Questions & Answers (MCQs) focuses on “Requirement Analysis”.

1. Which of the following is not a diagram studied in Requirement Analysis ?
a) Use Cases
b) Entity Relationship Diagram
c) State Transition Diagram
d) Activity Diagram
View Answer

Answer: d
Explanation: Activity Diagram comes under the design phase of SDLC.

2. How many feasibility studies is conducted in Requirement Analysis ?
a) Two
b) Three
c) Four
d) None of the mentioned
View Answer

Answer: b
Explanation: Economic feasibility (cost/benefit analysis), Technical feasibility (hardware/software/people, etc.) and Legal feasibility studies are done in Requirement Analysis.

3. How many phases are there in Requirement Analysis ?
a) Three
b) Four
c) Five
d) Six
View Answer

Answer: c
Explanation: Problem Recognition, Evaluation and Synthesis (focus is on what not how), Modeling, Specification and Review are the five phases.

4. Traceability is not considered in Requirement Analysis.
a) True
b) False
View Answer

Answer: b
Explanation: Requirements traceability is concerned with documenting the life of a requirement and providing bi-directional traceability between various associated requirements, hence requirements must be traceable.

5. Requirements analysis is critical to the success of a development project.
a) True
b) False
c) Depends upon the size of project
d) None of the mentioned
View Answer

Answer: a
Explanation: Requirements must be actionable, measurable, testable, related to identified business needs or opportunities, and defined to a level of detail sufficient for system design.

6. _________ and _________ are the two issues of Requirement Analysis.
a) Performance, Design
b) Stakeholder, Developer
c) Functional, Non-Functional
d) None of the mentioned
View Answer

Answer: b
Explanation: Option a and c are the types of requirements and not the issues of requirement analysis..

7. The requirements that result from requirements analysis are typically expressed from one of three perspectives or views.WhaT is that perspective or view ?
a) Developer
b) User
c) Non-Functional
d) Physical
View Answer

Answer: d
Explanation: The perspectives or views have been described as the Operational, Functional, and Physical views.All three are necessary and must be coordinated to fully understand the customers’ needs and objectives.

8. Requirements Analysis is an Iterative Process.
a) True
b) False
View Answer

Answer: a
Explanation: Requirements analysis is conducted iteratively with functional analysis to optimize performance requirements for identified functions, and to verify that synthesized solutions can satisfy customer requirements.

9. Coad and Yourdon suggested _______ selection characteristics that should be used as an analyst considers each potential object for inclusion in the requirement analysis model.
a) Three
b) Four
c) Five
d) Six
View Answer

Answer: d
Explanation: Retained information, Needed services, Multiple attributes, Common attributes, Common operations and Essential requirements are the six criterion mentioned by Coad and Yourdon.

10. Requirements should specify ‘what’ but not ‘how’.
a) True
b) False
View Answer

Answer: a
Explanation: ‘What’ refers to a system’s purpose, while ‘How’ refers to a system’s structure and behavior.
 

d、This set of Software Engineering Multiple Choice Questions & Answers (MCQs) focuses on “Requirement Management”.

1. Which two requirements are given priority during Requirement Management of a product ?
a) User and Developer
b) Functional and Non-functional
c) Enduring and Volatile
d) All of the mentioned
View Answer

Answer: c
Explanation: Enduring requirements are core requirements & are related to main activity of the organization while volatile requirements are likely to change during software development life cycle or after delivery of the product.

2. Considering the example of issue/return of a book, cataloging etc. in a library management.What type of management requirement is being depicted here?
a) Enduring
b) Volatile
c) Both Enduring & Volatile
d) All of the mentioned
View Answer

Answer: a
Explanation: For library management system issue/return of a book, cataloging etc. are core activities and are stable for any system.

3. Why is Requirements Management Important ? It is due to the changes
a) to the environment
b) in technology
c) in customer’s expectations
d) in all of the mentioned.
View Answer

Answer: d
Explanation: Systems continue to be built as the advancement of new products being launched in the market and so does the market changes, the technology and in turn customer’s expectation.

4. Requirements Management is a prerequisite for Quality-Oriented Development.
a) True
b) False
View Answer

Answer: a
Explanation: Quality makes no sense without reference to requirements, which means quality-oriented development is requirements-driven development, thus requirements management is a prerequisite for quality-oriented development.

5. Requirements traceability is one of the most important part requirement management. It may also be referred to as the heart of requirement management.
a) True
b) False
View Answer

Answer: a
Explanation: Requirements traceability refers to the ability to describe and follow the life of a requirement in both forwards and backwards direction. Requirements can be traced from its origins, through its development and specification, to its subsequent deployment and use, and through periods of ongoing refinement and iteration in any of these phases.

6. Requirements Management has a high initial start-up cost but does not need ongoing funding throughout a project.
a) True
b) False
View Answer

Answer: b
Explanation: Requirements Management needs continued funding throughout a project.Project funding is often limited at the onset of a project, restricted to those aspects of the project which are tangible and visible, and subsequently allocated in a phase-by-phase manner.

7. Which of the following is not a Requirement Management workbench tool ?
a) RTM
b) DOORS
c) Rational Suite
d) RDD 100
View Answer

Answer: c
Explanation: Rational Suite is an environment tool for requirement management.

8. Which of the following is a requirement management activity ?
a) Investigation
b) Design
c) Construction and Test
d) All of the mentioned
View Answer

Answer: d
Explanation: All the options are the activities of requirement management.

9. What functionality of Requirement Management Tool (RMT) is depicted by the statement: “the tool should be able to automatically detect relations between artifacts. For example information retrieval techniques, monitoring of change history, naming schemas or model transformations.”
a) Automatic Link Detection
b) Documentation Support
c) Graphical Representation
d) Automatic Link Creation and Change
View Answer

Answer: a
Explanation: DOORS is one such tool that supports Automatic Link Detection.

10. According to a statistical report: “over 30% of all software projects are cancelled before completion and over 70% of the remainder fail to deliver expected features”. What must be the reason for such a situation ?
a) Poor change management
b) Poor requirements management
c) Poor quality control
d) All of the mentioned
View Answer

Answer: b
Explanation: Fundamental to the problem mentioned in the statistical report is poor requirements management. Option a and c are its sub parts.
 
四、Software Modelling
This set of Software Engineering Multiple Choice Questions & Answers (MCQs) focuses on “System Modelling”.

1. The Unified Modeling Language (UML) has become an effective standard for software modelling.How many different notations does it have ?
a) Three
b) Four
c) Six
d) Nine
View Answer

Answer: d
Explanation: The different notations of UML includes the nine UML diagrams namely class, object, sequence, collaboration, activity, state-chart, component, deployment and use case diagrams.

2. Which model in system modelling depicts the dynamic behaviour of the system ?
a) Context Model
b) Behavioral Model
c) Data Model
d) Object Model
View Answer

Answer: b
Explanation: Behavioral models are used to describe the dynamic behavior of an executing system. This can be modeled from the perspective of the data processed by the system or by the events that stimulate responses from a system.

3. Which model in system modelling depicts the static nature of the system ?
a) Behavioral Model
b) Context Model
c) Data Model
d) Structural Model
View Answer

Answer: d
Explanation: Structural models show the organization and architecture of a system. These are used to define the static structure of classes in a system and their associations.

4. Which perspective in system modelling shows the system or data architecture.
a) Structural perspective
b) Behavioral perspective
c) External perspective
d) All of the mentioned
View Answer

Answer: a
Explanation: Structural perspective is used to define the static structure of classes in a system and their associations.

5. Which system model is being depicted by the ATM operations shown below:
software-engg-mcqs-system-modelling-1-q5
a) Structural model
b) Context model
c) Behavioral model
d) Interaction model
View Answer

Answer: b
Explanation: Context models are used to illustrate the operational context of a system.They show what lies outside the system boundaries.

6. Activity diagrams are used to model the processing of data.
a) True
b) False
View Answer

Answer: a
Explanation: The statement mentioned is true and each activity represents one process step.

7. Model-driven engineering is just a theoretical concept. It cannot be converted into a working/executable code.
a) True
b) False
View Answer

Answer: b
Explanation: Model-driven engineering is an approach to software development in which a system is represented as a set of models that can be automatically transformed to executable code.
 

1. Which of the following diagram is not supported by UML considering Data-driven modeling ?
a) Activity
b) Data Flow Diagram (DFD)
c) State Chart
d) Component
View Answer

Answer: b
Explanation: DFDs focus on system functions and do not recognize system objects.

2. _________________ allows us to infer that different members of classes have some common characteristics.
a) Realization
b) Aggregation
c) Generalization
d) dependency
View Answer

Answer: c
Explanation: Generalization is an everyday technique that we use to manage complexity.This means that common information will be maintained in one place only.

3. One creates Behavioral models of a system when you are discussing and designing the system architecture.
a) True
b) False
View Answer

Answer: b
Explanation: Structural models of software display the organization of a system in terms of the components that make up that system and their relationships.

4. ______________ & ______________ diagrams of UML represent Interaction modeling.
a) Use Case, Sequence
b) Class, Object
c) Activity, State Chart
d) All of the mentioned
View Answer

Answer: a
Explanation: Use case modeling is mostly used to model interactions between a system and external actors.Sequence diagrams are used to model interactions between system components, although external agents may also be included.

5. Which level of Entity Relationship Diagram (ERD) models all entities and relationships ?
a) Level 1
b) Level 2
c) Level 3
d) Level 4
View Answer

Answer: b
Explanation: Level 1 ERD models all data objects (entities) and their “connections” to one another while Level 3 ERD models all entities, relationships, and the attributes that provide further depth. Thus option b is correct.

6. ___________ classes are used to create the interface that the user sees and interacts with as the software is used.
a) Controller
b) Entity
c) Boundary
d) Business
View Answer

Answer: c
Explanation: The answer is self-explanatory.

7. Which of the following statement is incorrect regarding the Class-responsibility-collaborator (CRC) modeling ?
a) All use-case scenarios (and corresponding use-case diagrams) are organized into categories in CRC modelling
b) The review leader reads the use-case deliberately
c) Only developers in the review (of the CRC model) are given a subset of the CRC model index cards
d) All of the mentioned
View Answer

Answer: c
Explanation: All participants in the review (of the CRC model) are given a subset of the CRC model index cards.
 
五、Q&A
 

a、Question:Describe the importance of software Engineering? What should be steps taken under the process of developing a software system.

Answer:

Software Engineering

Software Engineering is a part of computer science in which several kind of method, thoughts and techniques used for getting the high quality software and computer programs.

  1. Minimum cost

  2. On given time

  3. Continuous production

We can judge the usefulness of the software Engineering with the importance of its attributes. Both are used for the same manner. The basic target of software Engineering is to provide the high quality software, which can be delivered.

  1. On given time,

  2. Within budget &

  3. That fulfills the need.

Thus we can say that this is the best way or programs to get the following points:

  1. To provide the best output of software system.

  2. To make easy to use the software systems and develop them.

  3. To improve the rate of production.

  4. To maintain the budget for development of Software system.

  5. Job satisfaction of software engineering.

It is necessary to produce a high quality software to fulfill the below given points.

  1. Consistency

  2. Improved quality

  3. Minimum cost

  4. Within time

  5. Reliability &

  6. Fulfill the need of user

Steps used while developing a software system

To achieve consistency, software development process is divided into set of phases. Various methods, tools & techniques are applied to accomplish each phases. The process of developing a software system is divided in two parts to bring the consistency in this process. To complete the software developing process several kind of methods, Techniques, used. Below given steps are used to develop a software system.

Steps used while developing a software system
  1. Statement of problem & system study - The first step of system development process is started with statement of problem & system study. In this step, we get the more knowledge from everywhere on computer and manually. With the help of this knowledge we find out the errors at the present time software system which is need to change for improvement. Here several important points are given on this stage which is:

    1. Full knowledge of problems and errors.

    2. Ability to improve

    3. Find the target for achieving.

    4. Find out the benefits which should be in new software.

    5. Find the area of plan which is affected after that change.

    If we study the problems then it is necessary to think about the other solutions of the problem and the cost of it which should be in the budget of the user. For this improvement a lot of skill and attention required.

  2. Study of work ability - On the basis of first steps result we moves for the next step which is about the study of work ability. In this step we think about the present system and future system and compared them. The area of comparison is skilled manpower, estimated time period, and other important things. A study of work ability helps to decide the important things.

    • This plan is in our favor or not.

    • We are capable for the required resources or not.

    • Think again.

    • Many types of work ability checked.

    1. Technical work ability -

      • We have the required technology?

      • With the available tools can we developed the new system?

      • Can the future system provide the result as required?

      The new system will be more suitable for the user or not it is checked by the expert. For Example: If a software actual requirement to develop visual basic with oracle at a backend. But here we use less than 48 processer with 14 bit word length then this software will not be technically sound. It is concerned about the used technology and tools which are satisfying the need of the system or not.

    2. Social work ability - This is the study of user behavior that people like or dislike the new software.

    3. Economic work ability - This factor is determined that new software benefits and savings is more in the comparison of old software.

    4. Legal work abilit - Legal work ability determined that the new software is under the govt. rule or not. According to the result of the work ability study it is analyzed to reach the following:

      • Formulation of the different solution planning.

      • To check the other solution planning & their benefits and compared them.

      • Find out the best output and annualizes him.

  3. Software need analysis and specification - Analysis is a study of following factors which plays a major role in this step.

    • By the system many kind of activity are performed.

    • Connections between many functions and sub systems.

    • Finally the relationship out of the boundary of system.

    Need analysis - The main objective of need analysis is to understand what the user expectation with this software and collection of data and information about that.

    • Working capacity

    • performance

    • easy to use

    • easy to maintain

    During this process several kind of tools and method used .flow chart, collected data, diagram and etc. are the part of this exercise. After the resolution of all problems and needs regarding this, information is organized into a software need specification document.

    Software need specification - This topic covers the following points:

    • All the document of the user should be arranged in a systematic way,

    • Nature of its interface

    • Need of hardware

    • Base of agreement

    • Moral, legal coordination between client and developer

    • A detailed plan

    • To analyses and confirmation by the customer that it have all quality which is expected by customer.

    • With the help of software engineers to develop a solution.

  4. Software design and specification - During the process of this step need specification converted in to a base, which is used in programming language. We have two types of approaches:

    1. Traditional Approach - This approach is also divided in two parts which are

      • First part-

        1. Specific needs of this software is moved out.

        2. Structured analysis is converted in to a shape of software design.

        3. Analysis of many functions, flow chart of data is a part of structured analyses.

      • Second part- Architecture design takes place after analysis of structured.

        1. Which components are required.

        2. The general base of the software.

        3. The programs provided by every design.

        4. Interfaces between modules.

        5. Data base and result form of the system.

    2. Object oriented design - In this design many kind of object raised in the domain of problem and relationship between these objects is figured out.

  5. Coding and module testing - Coding phase comes after the software design. Coding is a process with the help of this we can convert the shape structure in to a programming language. Every part of the design is a program module. Hare every module checked for the surety of module that is according to the need.

  6. Integration and system testing - In this phase as a whole system all modules which are tested jointly according to architectural design. For getting the information that interconnection concerned to modules are correct or not this step taken by the developer. Effects of testing helps to get

    1. Production of high quality software

    2. User more satisfied

    3. Cheap cost of maintenance

    4. Accuracy

    5. Result of surety

    This system is tested only for getting the information that it is according to SRS or not. At the last this test is done in the client presence.

  7. System Implementation - System implementation means providing the information on client site. We have three types of implementation.

    1. Direct conversion

    2. Phased conversion

    3. Parallel conversion

  8. System Maintenance - This step is required after that when customer use our software and getting some problems .These problems can be related to website, installation and operational. Maintenance divided in three parts.

    • Corrective maintenance - During the process of software development corrective fault not found or discovered.

    • Perfective maintenance - Under this step functions which are performed by this software increased according to the need of customer.

    • Adaptive maintenance - Transform the software to new operating system, environments or to a new computer is called Adaptive maintenance.

b、Question:Give your views about what is more important - the product or the process.

Answer: - A product may be defined as an output. A product can produce the good services. A process may be defined as an investment of time and efforts for getting a good product. Now the question arise that what is most important the process or product.

The answer of this question has the quality of variable because it is based on situations. The user targeted on product and developer has the focus on processing. When a user use any product then he don't know how it was formed. A good product is called in only that situation when it fulfills the purpose. Process is a base of every product, without process no any product can be built so with that reason it show that process plays a major role in getting a good product.

Product and process both are equally important if there is any error find in processing then it cannot get the right the right product. If we give the efforts and input improper way then it can give the surety that the product will be correct and reliable. In short a quality product can be getting through a process and the product quality shows the process quality of the product.

c、Question:What is Coding Standard?

Answer: - Organization that developed better software has their own standards of coding. Some reasons are given below for the standard of coding.

  1. Coding provide a dress appearances to the codes which is written by different kind of programs.

  2. Coding process makes easy to solve errors regarding coding and helpful in reading codes of different other programs.

  3. Code maintenance is very easy with the help of coding standard.

Testing and maintenance, both processes are affected by the coding process. In comparison, testing and maintenance process takes more time than coding process. With the help of good coding style software can created which has the quality of low maintenance.

Rules of programming style

For programming style we have some rules which are defined below

  1. Clarity and simplicity of expression - During the process of designing, the process should be simple and easy to understand. The programming of software must be designed just like that clarity should be present at every level and there should be not find any confusion about the understanding of the program.

  2. Names - A name has a specific meaning during a program writing process. It should not be critical variable. In the process of code writing the code should be closer in the comparison of original product; with the help of this everyone can easily understand the expression. For Example if we want to calculate interest and showing the expression I = ( P* R*T)/100 . No one can easily understand this expression but instead of this if we write interest = (principle * rate * time)/ 100 . Then everyone easily understands this expression.

  3. Control constructs - We have a lot of standard for the controlling of construction but we should try to use single entry and single exit method. Single entry and single exit method may be defined as a method that has a specific starting and ending points. We can see this method in the form of continue series of standard.

  4. Go to system - We should always try to neglect this as longer its can possible because the main drawback of goto system is that it use always forward, transferred and avoided the backward jump.

  5. Hiding information - A good programming language has a most special style which is called information hiding.

    • All information which is special and have a specific purpose then the collected data should be separate from the information which is used in a system.

    • The quality of visibility and transparency should be available in all information which is useful for the operational activities.

    The system became more maintainable with the help of hidden information by decreasing the coupling between modules.

  6. Nature of modules - A module should be treated carefully if the nature of this module is difficult. So the basic method of its adjustment is to divide into little parts which called multiples modules.

  7. Size of module - The size of every module should be similar its means size difference should not be more. The functions not performed by those modules who have big size while on the opposite side if the model is too short then it needs more overheads.

  8. Layout of a program - The program should have the quality of understanding and readability. Program should be readable in first try and there should be find not any confusion. For getting the best output use of commas, space and marks of identifications used.

  9. Robustness - Robustness program is that program with the help of this we can get the proper output with the wrong input. Many of times we see that the input data have so much errors or invalid data in that case normal program became fall in producing output. On the other hand Robustness program helps in this case and gives the proper output in user favor.

  10. Internal documentation - Internal documentation plays a major role in program. It is helpful to increase the understanding and readability. It helps a lot when maintenance and editing is required for a program.

d、Question:What are the differences between verification and validation in software development?

Answer: - Following table details the differences between verification and validation in software developement.

actual test results and use of software when verification process gets completed.

  Verification Validation
1 This is process of deciding that the product on particular step of the software development meets the expected need. This is process of deciding that the valuation of the software at the end of the process is as per the actual need.
2 Verification includes valuations in terms of plan, code, need and quality. Checklist and inspection are part of it. Validation includes actual test results and use of software when verification process gets completed.
3 Verification decides that result of one phase of development confirms the ok status of previous phase. Validation decides that developed product meets required needs.
4 Verification insures that process makes quality product at every stage of software development. Validation insures that software being developed fulfills functional as well as non-functional needs.
5 Verification is done at each step and it provides the assurance of regularity with the end result of previous phase. Validation process insures that user needs are covered completely.

猜你喜欢

转载自www.cnblogs.com/jonahmoon/p/12121897.html