Software Engineering II - Solved Assignments - Semester Spring 2010
Software Engineering II - Solved Assignments - Semester Spring 2010
Solved Assignments
Semester Spring 2010
Assignment 1
A software xyz company is developing IT Services and products for different organizations.
Most of their projects, when delivered to the customer didn’t fulfill the customers’ expectations.
During the testing phase they found lot of defects which require more cost and resources to fix
them. As a result most of their projects fail or they have to modify the project in order to make it
according to the customer’s expectations. At the moment they have their own ad-hoc process
model for Software Development. Now Company hired you as a project manager. So as a project
manager:
Note: ATM transaction can only be performed from the bank which issued the person ATM
card. You can consult the tables given in lecture slides (ppt slides for lecture # 11) to determine
the complexity of ILF, EIF, EI, EO, and EQ:
You should consider only the above given tables for the following operations being performed:
Keeping in view the given scenario, you have to find the following:
a) Identify the number of ILF and EIF in the system.
b) Determine the no. of RETs and DETs in the system.
c) Determine the complexity of ILFs and EIFs ?
d) Identify all the transaction operations (EI, EO, EQ) in the system.
e) Find the complexity of EI, EO, and EQ?
f) Determine the un-adjusted function point count of the given system.
Solution:
(a)
No. of ILF: 3
1. ATM_Acc
2. Person
3. Transactions_details
Reason:
ATM_Acc:
1. Yes
2. Yes.
Person:
1. Yes
2. Yes
Transactions_details:
1. Yes.
2. Yes.
No. of EIF: 0
Reason: There is a condition for EIF that group of data is not maintained by the application
being counted? As this condition is not satisfied by any entity/ class so there is no EIF in the
system.
(b)
No. of RETs:
1. ATM_Acc =1
2. Person = 1
3. Transactions_details = 1
ATM_Acc <20
Person < 20
Transaction_details <20
(c)
The following table is given in lecture # 11 to determine the complexity of ILF and EIF:
Now by using the following table we can find the contribution of ILFs in FP count.
ILF/EIF RETs DETs Complexity FP
Contribution
ATM_Acc 1 <19 Low 7
Person 1 <19 Low 7
Transactions_Details 1 <19 Low 7
Total FP Count 3*7=21
EIF: as no EIF has been identified in the system so EIF contribution in FP count will be zero.
(d)
Now we will identify the EI, EO and EQ with the help of following table.
Data Transaction
Use case File Maintained Calculation Performed
Presented Type
Add a ATM
Yes EI
card
Delete the
record of a
Yes EI
ATM Card
Update the
record of the
Yes EI
ATM card
Add a new
person (with
all its details) Yes EI
in the system
Do the
transaction
Yes Yes Yes. Balance is calculated EI
using the
ATM Card
Generate a
report that
shows the
number of Yes No No EQ
Transactions
between two
given dates
Issue an ATM
card to the
Yes No EI
person.
(e)
Do the transaction
using the ATM EI Transaction_details 5-15 Low
Card
Generate a report
that shows the
number of
EQ Transaction_details 6-19 Low
Transactions
between two given
dates
Issue an ATM
card to the person. EI Person, ATM_Acc >16 High
EQ 1 Low x3= 0
0 Average x4= 0
0 High x6= 0 3
EO 0 Low x4= 4
0 Average x5= 0
0 High x7= 0 0
(f)
• ILF: 21
• EIF: 0
• EI: 21
• EQ: 3
• EO: 0
Total: 45
Assignment 3
It is necessary to determine staffing levels not only for software engineers, but for a host of
other occupations such as quality assurance, technical writing, data base administration,
measurement and metrics, testing, configuration control, and many others.
4. Predicting software effort
The term “effort” defines the amount of human work associated with a project. The amount
of effort can be expressed in any desired metric, such as work hours, work days, work weeks,
work months, or work years. The fundamental equation for estimating effort is:
The cost situation is made more difficult by several other factors that need to be considered:
Determining the true cost structure of a software project is a very complicated piece of work.
The ranges of software costs are so broad that it is very hazardous to compare costs such as
“cost per function point” across industries or geographic areas.
However in real life schedule estimating is one of the most difficult parts of the software
estimation process and many highly complex topics must be dealt with, such as:
It is at this final point of determining software schedules that software cost estimating tools
and project management tools come together. The normal mode of operation is that the
software cost estimating tool will handle sizing, activity selection, effort estimation cost
estimation, and approximate scheduling by phase or activity.
1 11 10
2 8 9
3 5 4
4 13 13.5
5 11 11
6 15 16
7 8 10
8 7 7
9 10 9
10 12.5 13
11 6 5
12 3 5
13 10
14 5
15 6
You are required to compute the SPI, schedule variance, percent scheduled for completion,
percent complete, CPI, and cost variance for the project.
Solution:
11 + 8 + 5 + 13 + 11 + 15 + 8 + 7 + 10 + 12.5 + 6 + 3 + 10 + 5 + 6 = 130.5
Budgeted cost of work performed (BCWP):
The value for BCWP is the sum of the BCWS values for all work tasks that have actually been
completed by a point in time on the project schedule.
11 + 8 + 5 + 13 + 11 + 15 + 8 + 7 + 10 + 12.5 + 6 + 3 = 109.5
Budget at Completion
The BCWS values for all work tasks are summed to derive the budget at completion
620
10 + 9 + 4 + 13.5 + 11 + 16 + 10 + 7 + 9 + 13 + 5 + 5 = 112.5
Software engineering is the establishment and sound engineering principles applied to obtain
reliable and efficient software in an economical manner.
In Software Engineering, a software development project consists of two main categories
first is construction and second is management.
Construction activities are those that directly related to the development of software, e.g.
gathering the requirements of the software, develop design, implement and test the software etc.
Management activities are kind of umbrella activities that are used to smoothly and
successfully perform the construction activities. Here some Software Engineering Umbrella
Activities are given bellow:
Software project management: This umbrella is used to tracking and control overall progress
of the project.
Complete installation guide given to the users. And necessary training material is also provided
to the users when delivering application.
• Project Planning and
Management
Management • Configuration Management
• Quality Assurance
• Installation and Training
Construction
• Requirements
• Design
• Coding
• Testing
• Maintenance
Management activities are kind of umbrella activities that surround the construction activities so
that the construction process may proceed smoothly. This fact is empathized in the Error!
Reference source not found.. The figure shows that construction is surrounded by management
activities. That is, certain processes and rules govern all construction activities. These processes
and rules are related to the management of the construction activities and not the construction
itself.
Q.No.2: Quality and reliability are related concepts but are fundamentally different in a number
of ways. Discuss them.
Answer.
Quality focuses on the software's conformance to explicit and implicit requirements. Reliability
focuses on the ability of software to function correctly as a function of time or some other
quantity. Safety considers the risks associated with failure of a computer-based system that is
controlled by software. In most cases an assessment of quality considers many factors that are
qualitative in nature. Assessment of reliability and to
some extent safety is more quantitative, relying on statistical models of past events that are
coupled with software characteristics in an attempt to predict future operation of a program.
Assignment 6
Q.No.1. Assume that you're the manager of a small project. What baselines would you define for
the project and how would you control them?
Answer.
The baselines that I will define for the project are as under:
Schedule baseline
Cost baseline
Scope baseline
Development baseline
Source code
Test cases
Design specification
System specification
Software requirements
As a project manager, I will ensure that all the baselines are being met accordingly and the
software project is proceeding as desired. Software schedule will be monitored throughout the
software development, and in case of any deficiencies, appropriate solution will be figured out.
Cost is also a baseline for project. It can only be met in case the software requirements are easily
understood and are complete. Source code needs also be checked through the development
process and the bugs that are found will be fixed at appropriate time in order to deliver good
quality product to end users.
Q.No.2. What is the difference between an SCM audit and a formal technical review? Can their
function be folded into one review? What are the pros and cons?
Answer.
SCM Audit:
No, the functions of SCM Audit and Formal Technical Review cannot be folded into one review
because of the fact.
Formal Technical Reviews are used for improving software quality, whereas software
configuration management audit is usually used to answer the questions that are indirectly
related to software to achieve the desired quality. For example, we can perform formal technical
reviews for coding, testing, debugging etc, as these are directly related to the quality of the
software, however, for SCM Audit, we will answer the questions which are not directly related to
software quality rather indirectly. Some questions could be...
Has the change specified in the ECO been made? Have any additional modifications been
incorporated?
Has the software process been followed and have software engineering standards been
properly applied?
Has the change been "highlighted" in the SCI? Have the change date and change author
been specified? Do the attributes of the configuration object reflect the change?
Have SCM procedures for noting the change, recording it, and reporting it been
followed?
Besides above, in some cases questions are asked as part of a formal technical review. However,
when SCM is a formal activity, the SCM audit is conducted separately by the quality assurance
group.
Configuration Audit ensures that the correct CI’s being incorporated into specific build and all
documentation is up – to – data and it may consistent with the version that has been built.
SCM Audit is conducted separately by the quality assurance group and it complements the
formal technical review by addressing the below questions.
Has the change specified in the ECO been made? Have any additional modifications been
incorporated?
Has the software process been followed and have software engineering standards been
properly applied?
Has the change been "highlighted" in the SCI? Have the change date and change author
been specified? Do the attributes of the configuration object reflect the change?
Have SCM procedures for noting the change, recording it, and reporting it been
followed?
Mainly this focuses on the technical correctness of the configuration object been
modified .
Formal technical reviews access the CIs to determine consistency with other CIs,
omissions, or potential side effects.
Besides above, in some cases questions are asked as part of a formal technical review. However,
when SCM is a formal activity, the SCM audit is conducted separately by the quality assurance
group.
Reduces the effort required to manage and effect change -- improved productivity