Assignment No4 of Principles of Software Engineering: Submitted To-Submitted by - MR - Amandeep Varun Katoch E3801B53
Assignment No4 of Principles of Software Engineering: Submitted To-Submitted by - MR - Amandeep Varun Katoch E3801B53
ASSIGNMENT
NO4 OF
PRINCIPLES OF
SOFTWARE
ENGINEERING
2. Administrator Login
The Administrator can:
1. Allot different students to the different hostels.
2. Vacate the students for the hostels.
3. Control the status of the fee payment.
4. Edit the details of the students & modify the student records.
Codeing
<?
session_start();
if(isset($_REQUEST['sub1']))
{
$user=$_REQUEST['user1'];
$pass=$_REQUEST['pass1'];
$cc=mysql_connect("localhost","root","");
mysql_select_db("hostel");
$sql="SELECT * FROM adm_account where user1='$user' AND pass1='$pass'";
$res=@mysql_query($sql);
//$a=@mysql_affected_rows();
//if($a>=1)
$num=mysql_num_rows($res);
if($num>0)
{
$_SESSION['pass']=$pass;
$_SESSION['user']=$user;
header("location:admin_home.php");
}
else
{
$flag=1;
$msg="Wrong username or password";
}
}
3. Application form
4. Allotment
There will be pre-defined criteria for the admission to the hostels. He checks the attested
Application forms of the students obtained from the internet and varify it with the student
database. If the students are found eligible then they are allotted to the hostel.
Code
function validate(f)
{
if((f.user.value=="")||(f.user.value.length<5))
{
alert("Please enter a valid username");
f.user.focus();
return false;
}
if((f.pass.value=="")||(f.pass.value.length<6))
{
alert("Please enter a valid password");
f.pass.focus();
return false;
}
return true;
}
6. Notice Board
Any change in the Hostel fee , food fee will be shown in this. It can be also used for different
notifications.
Q2. As a project manager, issue basic guidelines to your debuggers, developers in context of
testing of your project.
Remote debugging occurs when you want to debug a problem that is occurring on
another computer while continuing to work from your own computer. Developers
frequently do this when a segment of code runs fine on their own computer but crashes
on another system. They may want to debug it on the other system remotely, without
having to go sit in front of the other computer. For more information.
Debugging procedures are different when you are trying to debug code on a live server
that customers are accessing. This is getting more common as more code is written for
the Web. For more information, see "Troubleshooting Common Problems with
Applications: Debugging in the Real World".
When you fix a bug, include in the code a version number, bug ID, and your alias. If
someone looks at the code afterward and has a question about the fix, they can contact
you for information.
You should code review all fixes. Get at least one other person to examine your code —a
peer review.
Avoid fixing the same bug twice. Use a build to verify that the fix is correct, especially for
subtle bugs.
By permitting Symbol Server to index and archive your product symbols, you make
debugging from any system, including customer systems, fast and easy.
Q3. Write down the basic standards you will follow while coding in your project.
Ans: - The basic standards that we follow while coding in our project are:-
1. We can make a build in one step.
2. We make daily builds.
3. We have a bug database.
4. We fix bugs before writing new code.
5. We have an up-to-date schedule.
6. We have a spec.
7. Programmers have quiet working conditions.
8. We use the best tools money can buy.
9. We have testers.
10. New candidates write code during their interview.
11. We do hallway usability testing.
12. We use source control
PART B
Q1. Create black/white box testing document for your software project.
A basic requirement of Black Box Testing is that nothing should be presumed about the
functionality of the software while testing the software, rather the tester is supposed to check
each and every functionality of a unit, module and the product as specified in the customer
requirement document. So the fundamental of this testing is the Customer Requirement
Document, based on which the appropriate test plan, test cases and test scenarios are built and
ultimately test results are drawn as a Test Report (or Bugs Report).
Equivalence Partitioning: This is a technique of testing with minimum of test classes or data
input to identify between valid and invalid input.
The purpose of any security testing method is to ensure the robustness of a system in the face of
malicious attacks or regular software failures. White box testing is performed based on the
knowledge of how the system is implemented. White box testing includes analyzing data flow,
control flow, information flow, coding practices, and exception and error handling within the
system, to test the intended and unintended software behavior. White box testing can be
performed to validate whether code implementation follows intended design, to validate
implemented security functionality, and to uncover exploitable vulnerabilities.
White box testing requires knowing what makes software secure or insecure, how to think like an
attacker, and how to use different testing tools and techniques. The first step in white box testing
is to comprehend and analyze available design documentation, source code, and other relevant
development artifacts, so knowing what makes software secure is a fundamental requirement.
Second, to create tests that exploit software, a tester must think like an attacker. Third, to
perform testing effectively, testers need to know the different tools and techniques available for
white box testing. The three requirements do not work in isolation, but together.
The white box provides a graphic depiction of the security testing process. This same process
applies at all levels of testing, from unit testing to systems testing. The use of this document does
not require subscribing to a specific testing process or methodology. Readers are urged to fit the
activities described here into the process followed within their organization.
1. Perform risk analysis to guide the whole testing process. In Microsoft’s SDL process,
this is referred to as threat modeling [Howard 06].
2. Develop a test strategy that defines what testing activities are needed to accomplish
testing goals.
3. Develop a detailed test plan that organizes the subsequent testing process.
6. Prepare a report.
In addition to the general activities described above, the process diagram introduces review
cycles, reporting mechanisms, deliverables, and responsibilities.
Q2:- Q2. Design all the possible test cases to test Windows Media Player Application of
Windows 7 or Windows Vista. User can try to play any kind of file available in the system so
derive the test case accordingly.
Ans:-This feature enables Firefox to hand off content to both web applications (like Google
Calendar) and to local applications that have been registered to handle this type of data (like
Mozilla Sunbird).
There is a large number of such data types and web/local application types. For our testing, we
will try to cover all of the most likely types and popular applications.
mailto:
hCalendar, (text/calendar), webcal:
hCard (text/vcard)
geo links (application/vnd.google-earth.kml)
audio feeds (audio/x-mp3)
video feeds
RSS
Image file type
Application (executable) file type
callto: protocol
It is not possible to test every version of every application on every OS for every type of
feed/format combination. Doing so would result in a gigantic test matrix. We have instead taken
the view to test the most prominent applications for each of these items on each platform. We
will also run some automated tests against the code to verify that extension authors have the
required abilities to create their own protocol handlers and that users can associate other
applications to handle specific types of content.
We will want to test with the most popular web and platform specific applications for each high-
priority type of format we want to support.
TODO: Is there a need to test cross platform products on more than one platform? Because at
some point, you end up testing that product and not the content handler integration.
Outlook 2007
text/calendar Outlook 2003
hCalendar, webcal: Windows Calendar (Vista Only)
Mozilla Lightning or Sunbird
Outlook 2007
hCard and text/vcard Outlook 2003
Thunderbird
Thunderbird
RSS reader in Vista Desktop (not possible without changes to
RSS
Firefox)
RssReader
Skype
callto:
Gizmo
Q3. Identify the situations which can cause project failure during testing
This is probably the most common problem. If you have ever been on a troubled project, chances
are you looked back and said "We should have spent more time planning." Projects that start
execution without fully understanding the work to be done (and getting the sponsor to agree) are
usually destined for problems. By the time you realize that you are not in synch with your
sponsor, it's usually very difficult to get back on track within the allocated budget and
timeframe.
Your work plan (schedule) is the roadmap that describes how you are going to complete the
work. You'll have problems if your work plan is at too high a level, incomplete or not up-to-date.
You may get away with it on a small project, but it will be fatal on a larger effort.
Inadequate resources
This covers a lot of areas. You may not have the right level of resources because you didn't
estimate the work correctly. You might have estimated the work correctly, but your management
has not allocated the proper level of staffing. It's possible that you have enough bodies, but you
don't have people with the right skill mix. All of these may lead to major project failures.
People problems
In my experience, people tend to get along fine when the project is on track. However, if the
project gets into trouble, people start to work longer hours, feel more stress, get more edgy and
have more personality conflicts. While it is certainly possible that these problems are actually
causing the project to slip, it is also likely that other problems are causing the problem and that
the people problems are a later symptom.
Lifecycle problems
There are many opportunities for project problems throughout the lifecycle. Many of these will
cascade as the project progresses, leading to major trouble. Examples of lifecycle problems
include:
:-A failure to clearly and completely define the requirements, resulting in building the
wrong features or leaving gaps in the features needed.
:-A poor technical design is not allowing the solution to be easily modified or is not sc
alable.
:-Requirements are not frozen late in the project and continued change requests start to
cause the project to drift.
:-Poor initial testing techniques cause repeated errors and rework in later tests