SE Assignments PDF
SE Assignments PDF
SE Assignments PDF
Version 4.0
COPYRIGHT NOTICE
© 2014 Infosys Limited, Bangalore, India. All Rights Reserved.
Infosys believes the information in this document is accurate as of its publication date; such
information is subject to change without notice. Infosys acknowledges the proprietary rights of
other companies to the trademarks, product names and such other intellectual property rights
mentioned in this document. Except as expressly permitted, neither this documentation nor
any part of it may be reproduced, stored in a retrieval system, or transmitted in any form or by
any means, electronic, mechanical, printing, photocopying, recording or otherwise, without the
prior permission of Infosys Limited and/ or any named intellectual property rights holders
under this document.
CONFIDENTIAL
CONTENTS
CONFIDENTIAL
Infosys Limited Assignments for Software Engineering
Background: Software has made the world a global village today. The impact of
software spans across almost all aspects of human life. All organizations, institutions
and companies are leveraging the potential of software in automating the critical
functions and eliminating laborious manual interventions. Software is also a
predominant area for trade and export especially for the countries like India. Domains
like Health Care, Airlines, Financial Services, Insurance, Retail, Education, and many
more have exploited software and still there is lot of scope for software to create impact
and add value in multiple dimensions.
1. Identify the areas (or applications or systems) how software has been leveraged
extensively in the following domains
a. Health Care
b. Airlines
c. Banking
d. Insurance
e. Retail
f. Education
In this assignment, you have identified the role of software across multiple domains
related to day to day life.
Objective: To identify the problem related to software crisis for a given scenario
Background: In the early years of computer applications, the focus of development and
innovation were on hardware. Software was largely viewed as an afterthought.
Computer programming was an art. Programmers did not follow any disciplined or
formalized approaches.
This way of doing things was adequate for a while, until the sophistication of computer
applications outgrew. Software soon took over more and more functions which were
hitherto done manually. As “software houses” emerged, software began to be
developed for widespread distribution. Software development projects produced
thousands of source program statements. With the increase in size and complexity of
the software, following situation resulted which is collectively termed as “Software
Crisis”.
i. Time Slippage
ii. Cost Slippage
iii. Failure at Customer’s Site
iv. Untraceable error after delivery
Problem Description: In the context of this background, for each of the scenario
mentioned below, identify the most appropriate problem related to software crisis and
mention the same in the table provided.
Scenario A: Railway reservation software was delivered to the customer and was
installed in one of the metro rail stations at 12:00 AM (mid-night) as per the plan. The
system worked quite fine till the next day 12:00PM (noon). The system crashed at
12:00PM and the railway authorities could not continue using the software for
reservation till 02:00PM. It took two hours to fix the defect in the software.
Scenario B: A Polar Satellite Launch Vehicle (rocket) was scheduled for the launch on
August 15th. The auto-pilot of the rocket was to be delivered for integration of the rocket
on May 15th. The design and development of the software for the auto-pilot took more
effort because of which the auto-pilot was delivered for integration on June 15th
(delayed by a month). The rocket was launched on Sep 15th (delayed by a month).
Scenario C: Software for a financial system was delivered to the customer. Customer
informed the development team about a mal-function in the system. As the software
was huge and complex, the development team could not identify the defect in the
software.
Scenario D: Due to a defect in the software for the baggage handling system, there
was a loss of $ 2M of revenue for the airport authorities.
Summary of this assignment: In this assignment, you have mapped the problems
related to Software Crisis to the given scenarios.
Objective: To identify the suitable software development model for the given scenario
As a first step towards automation, TENZ has decided to deploy a robotic arm to pick
and place large number of bolts from one tray of a conveyor belt to another tray of a
different conveyor belt, moving one bolt at a time. TENZ has asked IROBO for
demonstrating the robotic arm for the said purpose as a proof of concept. This is the
first project being executed by IROBO.
TENZ would like to have a first experience of the robotic arm before signing the MOU
(Memorandum of Understanding) with IROBO. After MOU sign-off, TENZ would provide
the complete set of requirements of the robot.
Problem Description: Identify the most appropriate SDLC model for this scenario.
Summary of this assignment: In this assignment, you have learnt to identify the
software development model for a given scenario.
1. Joe is creating an online survey questionnaire for requesting user feedback on the
desired features of the application to be developed.
2. Mark is preparing a formal document which includes all of the desired features
identified by the survey
3. Jack identified an incomplete requirement statement
4. Jones is identifying all security related requirements and separating them from the
performance related requirements
5. Merlin a team member is sent to client site to observe the business case and collect
typical user requirements
6. Leo a team member is working on requirement development and ensuring that
requirements collected should not be vague and unclear.
7. Lee is conducting a facilitated meeting with the stakeholders to capture the
requirements
8. Amit a team member is distributing questionnaires to stakeholders for gathering
user requirements.
Summary of this assignment: In this assignment, you have identified the requirement
development activities for the given scenarios.
Objective: To identify the various requirement elicitation techniques and their usage for
a banking case study.
Problem Description: KHL is a leading global bank that provides standard banking
services to its customers spanning across the globe. The head office is located in
London and the bank has presence in more than 20 countries with client base of nearly
500,000.
Tuning with times and ever increasing clients and transactions, the bank has
specialized branches for specific customer segments like consumer, corporate and the
SME’s. KHL Bank aims to be one stop shop for its customers to address their changing
financial needs. KHL bank offers various banking products and services across its
customer segments including Core Banking and Wealth Management amongst other
services.
KHL Bank is well known among its clients for world-class processes and speed of
execution of transactions as part of core banking. Currently, KHL bank has made a
proposal for investing around $200 million in setting-up 24x7 banking support facilities
for the customers. The bank has decided to leverage IT for automating several of the
business processes including:
Managing Accounts
Transaction Management
The aim of this proposed banking system is to create a paperless bank there by moving
towards e-banking.
FinSoft, a newly established software company has the vision of providing software
solutions in the financial sector. Managing Director (MD) of KHL bank has approached
FinSoft for the computerization of the bank so that there is no more manual way of
doing transactions in any of its branches. As part of automation, the KHL bank users are
to be provided with ATM facility, e-banking facility over internet and phone banking
facility over land lines and cellular networks. FinSoft is doing such a project for the first
time. Requirements development team in FinSoft has planned for carrying out the
requirement elicitation for this project.
In the context of the case study, for the following scenarios identify the most appropriate
requirements elicitation techniques (Brainstorming, Workshops, Questionnaire, Task
Analysis, Observation, Prototyping, Scenario identification).
computer systems
Understanding the process involved in each
transaction like withdraw, deposit, fund transfer
etc.
Summary of this assignment: In this assignment, you have identified the most
appropriate requirement elicitation technique and their usage for a banking case study.
Background: Functional requirements (FRs) specify the software functionality that the
developers must build into the product to enable users to accomplish their tasks,
thereby satisfying the business requirements. Non-functional requirements, as the name
suggests, are those requirements which are not directly concerned with the specific
functions delivered by the system. Many non-functional requirements (NFRs) relate to
the system as a whole rather than to individual functional requirements. While failure to
meet an individual functional requirement may degrade the system, failure to meet a
non-functional system requirement may make the whole system unusable. NFRs are of
different types namely usability requirements, portability requirements, reliability
requirements etc.
1. ATM machine shall validate PIN of the user during login along with bio-metric
verification.
2. “Peak transaction volume(s): 20,000 calls in a busy hour, average duration of 20
secs, grade of service 99.98%”
3. “Brake System shall sound the alarm for 10 seconds at a frequency of 100Hz
when the brake is applied”
4. “Mean time to failure (MTTF): There should be no more than three ‘Severity 1’
outages per month”
Assignment 7 : Requirements
Problem Description:
Article Systems (AS), a giant books franchise has approached IT company ABC Ltd. to
help them automate their business processes and shift them online so all of its outlets
across the globe would be under one portal. AMC Ltd. agrees to take on the project and
both the companies sit down and strike a deal.
After detailed discussion and analysis, ABC Ltd. decides to follow the waterfall model
for development of the project. This discussion covered topics such as the business
analysis and operations of AS, the expectations of the client (AS) from ABC Ltd., their
needs and requirements from the software, their current existing system including it's
limitations and what the proposed system would do to address these issues. Taking into
account all the input, the concerned team at ABC designed and developed the SRS.
Which of the following are typically expected to be found in the SRS created by ABC
Ltd. towards the AS project?
System overview
Class diagrams
Source code
Use Cases
Flow charts for algorithms realizing the functionality of the system
Code review comments
Test Results
The difference in the scope of the current system to the proposed
system
Non Functional Requirements
Features of new portal to be developed
Summary of this assignment: In this assignment, you have identified the elements of
an SRS.
Problem Description:
Identify the requirements in the given SRS (CCFP4.0- SE Premium University
Placement Portal SRS (Incomplete).docx) for following issues:
Incorrect requirements
Ambiguous requirements
Missing requirements
Conflicting requirements
Incomplete requirements
Summary of this assignment: In this assignment, you have identified the requirement
defects in the given SRS.
Objective: Identify the elements and relationships by analyzing the class diagram of
Easy shop retail application case study.
Problem Description:
1. Study the class diagram of Easy shop retail application depicted in the
“CCFP4.0-SE EasyShop Manager-Phase1-ClassDiagram.docx” and identify the
following for the class “Customer”
a. Class Name
b. Private attributes
c. Public attributes
d. Private methods
e. Public Methods
2. In above document, identify the relationship between the elements given below:
Summary of this assignment: In this assignment, you have identified the elements
and relationships among classes.
Objective: Identify the design principle that is being violated in relation to the given
scenario.
Background: A good object oriented design not only meets the specified requirements
but also addresses implicit requirements. There are five design principles which address
most of the implicit requirements:
Problem Description:
Which of the following design principle(s) have been violated in the following scenarios?
1. Abstraction
2. Decomposition and Modularization
3. Coupling & Cohesion
4. Encapsulation
5. Sufficiency, Completeness and Primitiveness
6. All
Summary of this assignment: In this assignment, you have identified the relevance of
design principles.
Background: Integration testing is carried out after the completion of unit testing and
before the software is delivered for system testing. In top down integration testing,
dummy stubs are required for bottom level modules. Similarly in bottom up testing,
dummy drivers are required for top level modules.
Travel_Management_System
Source_Validation_Unit Destination_Validation_Uni
In the context of the given scenario, identify the usage of stub or driver for the following
situations.
1. Except the Ticket_validation_Unit, the coding and unit testing of all other
modules, sub modules and units of TMS are completed. The top-down
integration is in progress for the TMS software. To carry out the integration
testing, which among the following is necessary?
2. The coding and unit testing of all the module, sub modules and units of TMS are
completed except the Update_Module (coding and testing for Edit_Module,
Cancel_Module and View_Module are also completed). The bottom-up
integration is to be started for the TMS software. Mention any stub or driver
needed to carry out the integration testing?
3. Except the Taxi_Booking_Module, the coding and unit testing of all other
modules, sub modules and units of TMS are completed. The top-down
integration is to be started for the TMS software. Mention any stub or driver
needed to carry out the integration testing?
Summary of this assignment: In this assignment, you have identified the usage of
stubs or drivers in the context of integration testing.
Problem Description: Identify the type of performance testing for the following:
1. A space craft is expected to function for nearly 8 years in space. The orbit control
system of the spacecraft is a real-time embedded system. Before the launch, the
embedded software is to be tested to ensure that it is capable of working for 8
years in the space. Identify the suitable performance testing category to be
carried out to ensure that the space craft will be functioning for 8 years in the
space as required.
2. Global Education Centre (GEC) at Infosys Mysore provides the training for fresh
entrants. GEC uses an automated tool for conducting objective type test for the
trainees. At a time, a maximum of 2000 trainees are expected to take the test.
Before the tool is deployed, testing of the tool was carried out to ensure that it is
Summary of this assignment: In this assignment, you have identified the different
types of performance testing.
Background: Enhancements are introduction of new features to the software and might
be released in different versions. Whenever a version is released, regression testing
should be done on the system to ensure that the existing features have not been
disturbed.
Integration testing, system testing and acceptance testing were carried out before
releasing the final build to the customer. However, as per the customer feedback during
the first month of usage of the software, some minor changes are required in the
Enquiry Module of the TMS. The customer has approached Infosys with the minor
changes for upgrading the software. The development team of Infosys has incorporated
those changes, and delivered the software to testing team to test the upgraded
software.
Since minor changes are there, integration of the Enquiry Module and quick
system testing on Enquiry module should be done
The incorporation of minor changes would have introduced new bugs into other
modules, so regression testing should be carried out
Since the acceptance testing is already carried out, it is enough if the team
performs sanity testing on the Enquire module
No need of testing any module
Summary of this assignment: In this assignment, you have identified the relevant type
of testing needed.
Problem Description:
Dev Software Ltd, has developed a software product for one of its clients. All the stages
of testing have been completed including system testing. The deployment team has
visited customer site to install the software so that the customer could start acceptance
testing. Prior to handover of the product to customer for acceptance testing, the
deployment team prefers to carry out a quick round of testing.
Which among the following is the testing that the deployment team has preferred to
carry out?
Select one:
Unit testing
Sanity Testing
Regression Testing
Acceptance testing
Summary of this assignment: In this assignment, you have identified the relevant type
of testing needed.
1. Useful
2. Usable
3. Desirable
4. Findable
5. Accessible
6. Credible
7. Valuable
Problem Description: Map the following observations given during user experience
design review to one of the facets:
Summary of this assignment: In this assignment, you have mapped the observations
to appropriate user experience facets.
Summary of this assignment: In this assignment, you have mapped the activities to
the appropriate project management phases.
Objective: To classify the given activities into quality control or quality assurance
Background: Quality assurance (QA) refers to the planned and systematic activities
implemented in a quality oriented system so that quality requirements for a product or
service will be fulfilled. QA ensures “Fitness for purpose”. QA deals with the process
employed to develop and successfully render the product and/or service.
QA is the emphasis that is put on the product or service rather than the process that is
employed to achieve it.
Problem Description: Consider the example of food processing systems. Training the
staff in maintaining hygiene, following proper food preparation processes, building the
guidelines & checklists for quality food preparation and auditing the food preparation
processes can be treated as QA activities. Testing the taste of the food, conducting
sample inspections, checking whether the food items are met with the required quality
attributes and rework in case of any discrepancy, all these activities belong to the QC
phase of ensuring quality as these activities directly ensure that the product i.e. food
items prepared are delicious and hygienic.
During QC activities, the focus is on the product whereas during QA activities, the focus
is on the process.
For each scenario mentioned below, identify whether the activity given in the scenario is
a QC activity or QA activity.
1. John, Carol, Mathew and James are having a meeting in a conference Room.
John is the subject matter expert. James is the module lead and is the moderator
in the meeting. Carol is the reader and Mathew is the scribe. They are doing the
code-walk-thru of an algorithm
2. Ramesh belongs to the Quality Department. He is drafting the process to be
followed for Reverse Engineering.
3. Global Education Centre at Infosys Mysore DC provides the training for fresh
entrants. The training is called as Foundation Program which includes training on
IT fundamentals and technology (.Net, Java, Mainframe, etc) training.
4. Chan belongs to the Audit group. He is carrying out the audit for the configuration
management system.
5. Imran is a test engineer. He identified “Divide by Zero” defect in the code during
Unit testing
6. Shan is the programmer. He is fixing the “Divide by Zero” defect identified by
Imran
7. The template for documenting the requirements for a maintenance project is
different from the template for documenting the requirements for new
development. Latha has modified the new development requirements template
for maintenance project. Amit is reviewing the template prepared by Latha
8. A team of engineers have done the root cause analysis of the defects identified
all along the development of Release 1. To prevent such defects occurring in the
next release, they have proposed a few changes to the process
Activity QC/QA
1
2
3
4
5
6
7
8
Summary of this assignment: In this assignment, you have classified the given
activities into quality control or quality assurance.
Background: Defect detection activities like reviews and testing help in identifying the
defects in the artifacts (deliverables). These defects must be classified into various
buckets before carrying out the root cause analysis. Following are some the defect
categories.
Logical
User interface
Maintainability
Standards
Problem Description: In the context of the above defect categories, classify the
following statements under the defect categories and mention in the table given below.
4. A pointer is declared but not initialized. It is used in the program for storing a value.
5. A program designed to handle 1000 simultaneous users, crashed when 1001 th user
logged in.
7. User interface displays “MALFUNCTION 54” when something goes wrong in the
back-end
9. Hungarian Notation not followed while coding, even though the coding guidelines
mandate to use Hungarian Notation
10. Pressing of “Tab” key moves the cursor in different fields of a web form randomly.
Summary of this assignment: In this assignment, you have classified the given
defects into different defect categories.
Background: There are some metrics which are fundamental and the rest can be
derived from these. Examples of basic (fundamental) measures are Size, Effort, Defect,
Schedule. If the fundamental measures are known, then we can derive others. For
example if size and effort are known, we can get Productivity (=size/effort). If the total
numbers of defects are known we can get the Quality (=defect/size) and so on.
Problem Description: Online loan system has two modules for the two basic services,
namely Car loan service and House loan service. The two modules have been named
as Car_Loan_Module and House_Loan_Module.
Mike took 100 person hours to implement Car_Loan_Module. John took 200 person
hours to implement House_Loan_Module.
With respect to the context given, which among the following is an INCORRECT
statement?
Choose one:
Summary of this assignment: In this assignment, you have understood how to use
basic and derived quality metrics.