Documente Academic
Documente Profesional
Documente Cultură
com
Connect on Facebook :
http://www.facebook.com/pages/IgnouSolvedAssignmentscom/346544145433550
Subscribe and Get Solved Assignments Direct to your Inbox :
http://feedburner.google.com/fb/a/mailverify?uri=ignousolvedassignments_com
Request Any Solved Assignment at :
http://ignousolvedassignments.com/request-and-share-solved-assignments/
Course Code : MCS-044
Course Title : Mini Project
Assignment Number : MCA (4)/044/Assign/12
Maximum Marks : 100
Weightage : 25%
Last Dates for Submission : 15th October, 2012 (For July 2012 Session)
15th April, 2013 (For January 2013 Session)
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.
2.
3.
4.
5.
6.
7.
8.
Synopsis
Project Guide
Eligible Guide
Experience
Students Strength
Accepted/Rejected
Evaluator
(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
1. Admin
3. Student
2. Evaluator
I g no u
Project
System
4. Guide
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
Reports
Check
Approval
Status
Not Approval
Have
E_name
E_address
Evaluator
E_id
14
E
_
P
a
y
me
nt
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
Enrollment No.
Student _Name
Address
Contact_no
Title of Project
Comment
Stores
Student ID
Name
Address
Company's Contact No.
Synopsis Title
Additional Comment
15
Evaluator Table
Attributes
E_id
E_name
E_address
Payment
Stores
Evaluator ID
Name
Address
Payment of Evaluator
Guide Table
Attributes
Guide_ID
Guide_Name
Guide_Qualification
Guide_Address
Stores
Guide ID
Name of Guide
Qualification
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