National Institute of Technology Rourkela

राष्ट्रीय प्रौद्योगिकी संस्थान राउरकेला

ଜାତୀୟ ପ୍ରଯୁକ୍ତି ପ୍ରତିଷ୍ଠାନ ରାଉରକେଲା

An Institute of National Importance

Syllabus

Course Details

Subject {L-T-P / C} : CS6471 : Advanced Software Engineering Laboratory { 0-0-3 / 2}

Subject Nature : Practical

Coordinator : Dr. Judhistir Mahapatro

Syllabus

1. Do the followings for the below mentioned software systems:
a) Develop the Software Requirements Specification.
b) Perform Data Flow Diagram Modelling.
c) Perform UML Modelling by preparing the following diagrams: Use Case, Class,
Object, Sequence, Collaboration, State Chart, Activity.
d) Develop the Formal Specification of the systems using Petrinets and Z Language.
e) Verify the developed Formal Specification using Z-EVES and CPN tools.

i. E Healthcare – Online Consultation And Medical Subscription
ii. Cloud based Career Guidance System
iii. Railway Tracking and Arrival Time Prediction System
iv. Public Photography Contest with Live Voting
v. Mobile Banking
vi. Opinion Mining For Social Networking Site
vii. Online Bookstore System On Cloud Infrastructure
viii. Hotel Reservation System

2. Calculate Unadjusted Function Point (UFP), Complexity Adjustment Factor (CAF) and Function Point (FP) for the following problem.
Number of user inputs=32
Number of user outputs=60
Number of user inquiries=24
Number of files=8
Number of external interfaces=2
Assume all weighting factors to be average and all complexity adjustment values to be average.
Number of user inputs=24 (Weighting factor is average)
Number of user outputs=46 (Weighting factor is simple)
Number of user inquiries=8 (Weighting factor is complex)
Number of files=4 (Weighting factor is average)
Number of external interfaces=2 (Weighting factor is simple)
The various complexity adjustment values are 4, 1, 0, 3, 3, 5, 4, 4, 3, 3, 2, 2, 4, 5.

3. For a project of 100,000 LOC embedded system, compute the effort and development time using intermediate COCOMO. Assume there are programmers of the low quality but a lot of experience with the programming language with all other attribute values being nominal. Value for low quality=1.17, value for lot of experience=0.95, nominal value=1.

4. Consider an office automation system. There are 4 major modules:
Data Entry 0.6 KLOC
Data Update 0.6 KLOC
Query 0.8 KLOC
Reports 1.0 KLOC
The various cost driver attributes are of high complexity, high storage, low experience and low programmer capability with all others being nominal. Use the intermediate COCOMO to estimate final effort, average staff size and total development time. Value for high complexity=1.15, value for high storage=1.06, value for low experience=1.13, value for low programmer capability=1.17, nominal value=1.

5. Consider a database application project with the following characteristics. The application has 6 screens with 4 views each and 9 data tables for 3servers and 4 clients. The application may generate 5 report of 6 sections each from 5 data tables from 2 server and 3 clients. There is 12% reuse of object points. The developers experience and capability in the similar environment is low. The maturity of organization in terms of capability is nominal. Calculate the object point count, New Object-Point count and effort to develop such a project.

6. Draw the network diagram, find out the critical path and critical activities, and calculate the project duration for the given problems using CPM.

7. Draw the network diagram, find out the critical path and critical activities, and calculate the project duration for the given problems using PERT.

8. Write a program in C / C++ / Java to construct the Control Flow Graph (CFG) of a given program and determine McCabe’s cyclomatic complexity of the given program using the CFG. Identify the linearly independent paths and generate the test cases using path coverage strategy.

9. Perform performance testing of some sample applications using the tool JMeter.

10. Perform load testing on the following websites using the tool JMeter.
(a) www.yahoo.com, (b) www.irctc.com, (c) www.nitrkl.ac.in

11. Perform mutation testing and find the mutation score of some sample applications using the tool Jumble.

12. Perform functional testing of some sample web applications using the tool Selenium.

Course Objectives

  • To make the students acquainted with standard software development life cycle models.
  • To manage software development project management.
  • To perform sofware development using function-oriented and object-oriented technologies.
  • To learn to use different software testing strategies.

Course Outcomes

After attending this laboratory, students will be able to: <br />1. Choose a proper life cycle model for different real life industrial applications, design software using function-oriented approach (DFDs) and object-oriented approach (UML diagrams). <br />2. Find Critical Paths and Slack Times related to project execution. <br />3. Perform efficient resource management for project execution. <br />4. Perform Software Testing using state-of-the-art methods.

Essential Reading

  • R. S. Pressman, Software Engineering A Practitioner's Approach, McGraw Hill Publications , 2009
  • , ,

Supplementary Reading

  • , ,
  • , ,