You are on page 1of 56

For more IGNOU Solved Assignments visit – www.IGNOUHelp.

in

Get Daily Updates by Facebook:

https://www.facebook.com/IGNOUHelp.in

Course Code
:
MCS-044
Course Title
:
Mini Project
Assignment Number
:
MCA (4)/044/Assign/
Maximum Marks
:
100
Weightage
:
25%

There are five questions in this assignment carrying 80 marks. Rest 20 marks are
for viva-voce. You may use illustrations and diagrams to enhance the explanations.
Please go through the guidelines regarding assignments given in the Program Guide
for the format of presentation. Assumptions made if any, should be stated.

Background and Project Specifications:

A University like IGNOU wants to design and implement a web-based centralised system
for Synopsis submission for the Project Courses. A Synopsis is created by a student under the
supervision of a Project Guide. A person can be an eligible project guide if he has a MCA or B.
Tech Computer Science degree and at least two years of experience at the Industry. An eligible
project guide can guide maximum of 6 students in a semester. The synopsis submission requires
a student to fill the relevant synopsis information and submit it. An incomplete synopsis or the
synopsis submitted by ineligible students may be rejected. Once a synopsis is duly submitted, it
is evaluated. A number of synopses are evaluated by an evaluator. Synopsis may be sent to them
electronically and comments for
improvement, status (Approved or Not Approved) is updated by the evaluator. A bill for
evaluator may automatically be generated when all the synopsis sent to him/her are evaluated.
An evaluator is allotted a maximum of 50 synopses. If an evaluator does not complete the task of
evaluating synopsis in two weeks time then the synopses returns to the administrator, who sends
them to a different evaluator. The system needs to maintain data of valid students, their synopsis,
project guides, evaluator and the evaluation status of synopsis. You may study such manual
system at your Regional Centre.

Q 1: Which Systems Development Life Cycle (SDLC) will you propose for the
specification given above? Justify you selection by evaluating suitability of at least two SDLCs.

Solution:

SOFTWARE DEVELOPMENT LIFECYCLE (SDLC):

From the inception of a given idea for software system, until it is implemented and
delivered to the customer and even after that the system undergoes the several changes. The
software is said to have a lifecycle known as Software Lifecycle composed of several phases.
Each of these phases results in the development of either a part of the system or something
associated with the system, such as a test plan or user manual.

In the traditional and most common lifecycle model called WATERFALL MODEL, each
phase has well defined starting and ending points with clearly identifiable inputs to the very next
phase attached to it. It is actually the first engineering approach of software development. Below
Figure depicts the Water Fall Model.
Waterfall model

The waterfall model provides a systematic and sequential approach to software development
and is better than the build and fixes approach. But, in this model, complete requirements should be
available at the time of commencement of the project, but in actual practice, the requirements keep
on originating during different phases. The waterfall model can accommodate new requirements only
in the maintenance phase. Moreover, it does not incorporate any kind of risk assessment. In the
waterfall model, a working model of software is not available. Thus, there is no way of judging the
problems of the software in-between different phases.

A slight modification of the waterfall model is a model with feedback. Once software
is developed and is operational, then the feedback to various phases may be provided.
System Requirements and Analysis

Problem Definition:

The System Required to implement the A Synopsis is created by a student under the
supervision of a Project Guide. A person can be an eligible project guide if he has a MCA or
B. Tech Computer Science degree and at least two years of experience at the Industry.

An eligible project guide can guide maximum of 6 students in a semester. The synopsis
submission requires a student to fill the relevant synopsis information and submit it. An
incomplete synopsis or the synopsis submitted by ineligible students may be rejected. Once a
synopsis is duly submitted, it is evaluated. A number of synopses are evaluated by an evaluator.
Synopsis may be sent to them electronically and comments for improvement, status (Approved
or Not Approved) is updated by the evaluator..

Requirements Specification:

System has a different kind of Reports, searching and exploring options, online payment
and billing facility.

Software and Hardware Requirements:

Software and hardware needed for the project:


• Hardware Requirement :

Processor
:
Intel Pentium 4 (3.06 GHz)

Memory
:
2 GB RAM.

Network Adapter
:
Ethernet Adaptor

Modem
:
512kbps Voice Fax Data

Secondary Storage
:
Seagate SATA Hard disk (250 GB)
• Software Requirements:

Platform
:
Windows

The Operating System


:
Windows XP Professional sp2

Front-End Tool
:
Java Server Pages, JSF

Editing tool
:
Net Beans IDE 6.5.1

Browser
:
Internet Explorer, Mozilla etc.

Database
:
My SQL Community Server

Conceptual Models:

We will implement the coding modules which will consist of the following Menu.

1.
Synopsis

2.
Project Guide

3.
Eligible Guide
4.
Experience

5.
Students Strength

6.
Accepted/Rejected

7.
Evaluator

8.
(Approved or Not Approved
Q 2: What would be major costs of installing the system? What are going to be the
benefits in terms of finances? Perform a cost-benefit analysis for the proposed software.

List the major tasks and milestones of the Project and make a project schedule. You
schedule must include both GANTT and PERT charts. Explain the two charts drawn by you.

Solution:

Feasibility Studies

Technical Feasibility:

For the System, Required 3 Computer System with the Specification Which Provide in
the Software and hardware Requirement Section.

There is no technical Expertise in the Firm. so, require the Minimum 2 Technical
Expertise For the Manage the System.

Operational Feasibility:

A Synopsis is created by a student under the supervision of a Project Guide. A person can
be an eligible project guide if he has a MCA or B. Tech Computer Science degree and at least
two years of experience at the Industry. An eligible project guide can guide maximum of 6
students in a semester. The synopsis submission requires a student to fill the relevant synopsis
information and submit it. An incomplete synopsis or the synopsis submitted by ineligible
students may be rejected. Once a synopsis is duly submitted, it is evaluated. A number of
synopses are evaluated by an evaluator. Synopsis may be sent to
them electronically and comments for improvement, status (Approved or Not Approved)
is updated by the evaluator.

Time Feasibility:

System Will Prepare in 6 Months & 1 Month for the Training a Staff.

Cost-Benefit Analysis:

Cost of Human Resources

o System Analysts = 1 * 15000 =15000

o Software Engineers = 2 *10000 = 20,000

o Programmer = 2*10000 = 20,000

Cost of infrastructure

o Total Computer System Required = 3 * 35 000 = 1,05,000

Cost of training

o Training Staff Member = 12 * 1000 =12,000


Project Scheduling

GANTT charts:

A very elementary Gantt or Timeline Chart for the development plan is given below. The
plan explains the tasks versus the time they will take to complete.

PERT charts:

Different Tasks for the System

Task
ES
EF
LS
LF
ST
Specification Part
0
15
0
15
0

Design Database Part


15
60
15
60
0

Design GUI Part


15
45
90
120
75

Code Database Part


60
165
60
165
0

Code GUI Part


45
90
120
165
75

Integrate and Test


165
285
165
285
0
Write User Manual
15
75
225
285
210

Design
Database Part
Q 3: Study the system and create a software requirement specification. You must identify
either the processes or objects while analyzing. During the analysis give consideration to
possible input and output of the processes. After identifying the requirements, create Analysis
Models. You may either use the classical approach and draw Entity relationship model and data
flow diagrams (DFD's) up to level 2-3; or you may take object oriented analysis approach and
create class diagram, use case diagram, use cases etc.
10
Context Level DFD

3. Student
1. Admin
I g no u

2. Evaluator
4. Guide
Project
System

5. Accepted/ Not
6. Marks
Accepted
11
FD for SALE PURCHASE of Product

Evaluator
Admin
Check

Order

Payments

D3 Evaluator

1.0
Synopsis
System
Approval

Update

D2
Synopsis
12
Students

Rejected

Synopsis
Submit
Checks

Status
check & return
D2
Evaluator

Approval
13
E-R DIAGRAM

Name
Address
Enroll
No.
Title of Project

Student
Guide

Student

Status
Admin
Not Approval

Approval

Check
Reports
Status

Have

14

E_name
Evaluator
E_address

E_id

_
me

P
nt

E
Q 4: Think of system architecture and then perform data design. You must perform
normalization on tables up to 3rd normal form. The table design must include Primary and
Foreign keys and constrains. Create the systems flow chart or detailed process design and state
transition diagrams. Also design the user input screens and output report formats.

Data Dictionary

Login Table

Attributes
Stores

User_id
Admin Id

Password
Admin Password

Student Table

Attributes
Stores

Enrollment No.
Student ID
Student _Name
Name

Address
Address

Contact_no
Company's Contact No.

Title of Project
Synopsis Title

Comment
Additional Comment

15
Evaluator Table

Attributes
Stores

E_id
Evaluator ID

E_name
Name

E_address
Address

Payment
Payment of Evaluator

Guide Table
Attributes
Stores

Guide_ID
Guide ID

Guide_Name
Name of Guide

Guide_Qualification
Qualification

Guide_Address
Address

Q 5: Design various unit test cases for different testing techniques/strategies.

Solution:

The Goal of Testing

In different publications, the definition of testing varies according to the purpose,


process, and level of testing described. Miller gives a good description of testing in : The general
aim of testing is to affirm the quality of software systems by systematically exercising the
software in carefully controlled circumstances.
16
Miller's description of testing views most software quality assurances activities as testing.

He contends that testing should have the major intent of finding errors. A good test is one
that has a high probability of finding an as yet undiscovered error, and a successful test is one
that uncovers an as yet undiscovered error.

This general category of software testing activities can be further divided. For purposes
of this paper, testing is the dynamic analysis of a piece of software, requiring execution of the
system to produce results, which are then compared to expected outputs.

The Testing Spectrum

Testing is involved in every stage of software life cycle, but the testing done at each
level of software development is different in nature and has different objectives.

Unit Testing is done at the lowest level. It tests the basic unit of software, which is the
smallest testable piece of software, and is often called "unit", "module", or "component"

interchangeably.

Integration Testing is performed when two or more tested units are combined into a larger
structure. The test is often done on both the interfaces between the components and the larger
structure being constructed, if its quality property cannot be assessed from its components.

System Testing tends to affirm the end-to-end quality of the entire system. System test
is often based on the functional/requirement specification of the system. Non-functional quality
attributes, such as reliability, security, and maintainability, are also checked.

17
Acceptance Testing is done when the completed system is handed over from
the developers to the customers or users. The purpose of acceptance testing is rather to
give confidence that the system is working than to find errors.

Static Analysis and Dynamic Analysis

Based on whether the actual execution of software under evaluation is needed or not,
there are two major categories of quality assurance activities:

Static Analysis focuses on the range of methods that are used to determine or estimate
software quality without reference to actual executions. Techniques in this area include code
inspection, program analysis, symbolic analysis, and model checking.

Dynamic Analysis deals with specific methods for ascertaining and/or approximating
software quality through actual executions, i.e., with real data and under real (or simulated)
circumstances. Techniques in this area include synthesis of inputs, the use of structurally dictated
testing procedures, and the automation of testing environment generation.

Generally the static and dynamic methods are sometimes inseparable, but can almost
always discussed separately. In this paper, we mean dynamic analysis when we say testing, since
most of the testing activities (thus all the techniques studied in this paper) require the execution
of the software.

18
Functional Technique and Structural Technique

The information flow of testing is shown in Figure 1. As we can see, testing involves the
configuration of proper inputs, execution of the software over the input, and the analysis of the
output. The "Software Configuration" includes requirements specification, design specification,
source code, and so on. The "Test Configuration" includes test cases, test plan and procedures,
and testing tools.

Based on the testing information flow, a testing technique specifies the strategy used in
testing to select input test cases and analyze test results. Different techniques reveal different
quality aspects of a software system, and there are two major categories of testing techniques,
functional and structural.

Functional Testing: the software program or system under test is viewed as a " black
box".

The selection of test cases for functional testing is based on the requirement or design
specification of the software entity under test. Examples of expected results, some times are
called test oracles, include requirement/design specifications, hand calculated values, and
simulated results. Functional testing emphasizes on the external behavior of the software entity.

Structural Testing: the software entity is viewed as a " white box". The selection of test
cases is based on the impl ementation of the software entity. The goal of selecting such test
cases is to cause the execution of specific spots in the software entity, such as specific
statements, program branches or paths. The expected results are evaluated on a set of coverage
criteria. Examples of coverage criteria include path coverage, branch coverage, and data-flow
coverage. Structural testing emphasizes on the internal structure of the software entity.

19
Sr.
Screen
Test Case ID
Do
Expected Result

No.

1.
Login Screen
QT1-001
Enter user id in the text
box Successful login in
specified.
to the system if the
User id must not be more
values are found in
than 100 characters and
it the database.
should not contain any
special characters and
no spaces including in
the start.
Enter password in the
text box specified.
Password must between 6
& 16 characters.
2
Student detial
QT1-002
User Enter
Successful
Title of Project
Registration if the
Guide
data is saving in
the Database.

3
Status
QT1-003
Synopsis Status
Status
Approved /Not Approved

4
Evaluator
QT1-004
Evaluator check a
synopsis Successful Enter
and give the Job
if the data is
remarks/comment
Payment

20

For more IGNOU Solved Assignments visit – www.IGNOUHelp.in

Get Daily Updates by Facebook:

https://www.facebook.com/IGNOUHelp.in

You might also like