Friday, November 23, 2007

ASSIGNMENT APPLICATIONS OF PARALLEL COMPUTING

0 comments;Click here for request info on this topic
APPLICATIONS OF PARALLEL COMPUTING IN PHYSICS, CHEMISTRY, MATHEMATICS & COMPUTER SCIENCE

OBJECTIVE QUESTIONS

1) Which among the following is done by solving partial differential equations:
A. Visualization
B. Animation
C. Data mining
D. Weather forecasting

Which of the following application requires very high computing speed:
E. Weather forecasting
F. Visualization and animation
G. Predicting the motion of astronical bodies
H. All the above

In an N-body problem, if there are n-bodies then forces required to calculate for each body will be:
A. N
B. N-1
C. N+1
D. N*N

In order to calculate molecular properties lots of calculations are required, to reduce there time the program used in chemistry field is:
Artificial intelligence
Animations
GAMESS
None of the above

Which among these is a program which draw a contour plot of total electron density of a molecule:
A. Molplt
B. Dendif
C. Animation
D. Visualization

Which of the below is included in source code distribution of GAMESS:
A. Animation
B. Data mining
C. Dendif
D. None of the above

Molplt is a program that
A. Draw ball and stick molecular figures
B. Included in source code of GAMESS
C. Analyze data in large databases
D. None of the above


The problem complexity of data mining can be expressed by PC=
A. S*P*N
B. S*N
C. P*P
D. S*P

in which among the following the result of the computations are to be realistically rendered on high resolution terminal:
A. Visualization and animation
B. Data mining
C. GAMESS
D. Weather forecasting

Applications where parallel programming is used in computer science are:
A. Sorting algorithms
B. Numerical algorithms
C. Image processing applications
D. All the above

The fast fourier transfer algorithm used in:
A. Image enhancement
B. Image restoration
C. Image compression
D. All the above

In Visualization and animation time needed to process a pixel is:
1/(60*G*R)
1/(30*G*R)
1/(G*R)
None of the above


ANSWERS
D
D
B
C
B
C
A
A
9. A
10. D
11. D
12. A

LONG QUESTIONS

1) EXPLAIN ONE OF THE PROGRAM THAT IS USED BY THE RESEARCHERS TO REDUCE CALCULATION TIME IN CHEMISTRY
ANS:
Computational chemists solve problems on quantum mechanics, polymer chemistry and crystal by using super computers. In order to calculate the molecular properties are
Electronic wave function
Bond distance and bond functions
Electronic energy and nuclear repulsions etc

A lot of calculations are required; in order to reduce this calculation time the program that is used by researchers in chemistry field is GAMESS.

GAMESS:::: GAMESS is a general quantum chemistry package. Gamess is a program that can compute SCP wave functions ranging from simple dipole moments to frequency dependent hyperpolarizabilites may be computed. Several graphics programs are available for viewing of the final results. Some of them with their o/p are;
1) DENDIF::::::: this program will draw a contour plot of the total electron density of a molecule. It is included in source code distribution of games.
2) MOLPLT::::::: this program draws ball and stick molecular figures automatically centering the molecule, once drawn on a X terminal almost everything about the picture can be changed interactively. The change includes rotation of the molecule code, size, and rescaling of normal mode.

2) EXPLAIN SOME OF THE APPLICATIONS OF PARALLEL COMPUTING THAT HAS VERY HIGH COMPUTING SPEED?
ANS:
There are many applications that use very high computing speed. Some of them are discussed below
WEATHER FORECASTING:
Weather forecasting is a widely quoted example of that requires very powerful computing. The objective of numerical weather modeling is to predict the status of the atmosphere at a particular region at a specified future time based on the current and past observations of the values of the atmosphere. It is done by solving the partial differential equation.

DATA MINING:
A technique used by the organization to analyze data in large databases to discover some pattern or rules. In general, the idea is to hypothesize a rule relating data elements and test it by retrieving these data elements from archieve.the problem complexity (PC) of this may be expressed by the formula:
PC=s*p*n where s-> size of databases, p-> no. Of instances to executed to check a rule, n->no of rules to be checked.

GAMESS::::
GAMESS is a general quantum chemistry package. Gamess is a program that can compute SCP wave functions ranging from simple dipole moments to frequency dependent hyperpolarizabilites may be computed. Several graphics programs are available for viewing of the final results. Some of them with their o/p are;
DENDIF::::::: this program will draw a contour plot of the total electron density of a molecule. It is included in source code distribution of games.

MOLPLT::::::: this program draws ball and stick molecular figures automatically centering the molecule, once drawn on a X terminal almost everything about the picture can be changed interactively. The change includes rotation of the molecule code, size, and rescaling of normal mode.
VISUALIZATION AND ANIMATION:

In visualization and animation the results of computation are to be realistically rendered on a high-resolution terminal. In this case the no. Of area elements where the picture to be rendered is represented by G.The no. Of picture elements to be processed in each area element is represented by R and time to process a pixel by T. the computation should be repeated at least 60 times a second for animation. Thus GR pixels should be processed in 1/60 sec.time to process a pixel= 1/(60*G*R). For G=10*10*10*10*10 and R=10*10*10*10.a pixel should be processed within few seconds. Computation complexity in this case is G*R*P*N, where P -> no of repetitions/sec


3) EXPLAIN APPLICATIONS OF PARALLEL PROGRAMIING IN COMPUTER SCIENCE??

ANS:

There are many applications in computer science where parallel programming is used. Some of them are discussed below
MATRIX MULTIPICATION:

The product of an L*M matrix A and an M*N matrix B is an L*N matrix C whose elements are defined by
C ij = A ik B kJ
A sequential algorithm implements matrix multiplication as follows:
For (I=0;I<1;I++)
{
For (j=0;j
{
C [I][j]=0.0;
For (k=0;k
C [I][j] +=a [I][k]+b [k][j];
}
}
PARALLEL QUICK SORT

Quick sort is a divide and conquer algorithm that easily yields itself to parallelisation.the following steps describe the algorithm to sort data in ascending order:
The array is portioned into two parts using a pivot element, such that all elements in the left partition are smaller than the pivot element and the elements to the right are larger.
The pivot element is inserted in between the two partitions and hence in the sorted position after partitioning.
Step 1 is applied recursively on each partition if the size of the partition is larger than one element.
To parallelise this algo, we first create a set of processes. The extents of the array to be sorted are placed on a stack to indicate the presence of the work to be done. The first process to fetch the work partitions the array and places the extents of the resulting two partitions on the stack and as per the above algorithm create new partitions. These are added to the stack.

PARALLEL TREE-SORT ALGORITHMS

Here a binary tree data structure with (2n-1) nodes is used to sort n numbers. The tree has n leaves and initially one number is stored in each leaf. Sorting is done by selecting the minimum of n numbers then the minimum of the remaining (n-1) numbers and so on
The binary tress is used to find the minimum by iteratively comparing the numbers in the two sibling nodes and moving the smaller number to the parent node. The algo can be parallelised by considering a set of (2n-1) processors interconnected to form a binary tree. By starting with one number at each leaf processor, the minimum can be transferred to the root of the trees in log n steps. At each step, a parent receives a minimum of its child nodes, if any. Once the first element is extracted the subsequent list can be removed in (n-1) steps. Thus the sorting is completed in log n+n steps or O (n) time.

ODD-EVEN TRANSPOSITION SORT::

The serial odd-even transposition sort is a variation of the basic bubble sort, with a total of n phases, each of which requires n/2 comparisions.odd and even phases alternate. During the odd phase, the odd numbered elements are compared with their right adjacent neighbours.during the even phase the even numbered phase, the even numbers are compared with their right adjacent neighbours.to totally sort the sequence a total of n phases are required.
The algorithm can be trivially parallelised since the comparisons within the phase are independent. Consider n linearly connected processors and label them p1, p2, p3, ------, pn. Assume that the links are bi-directional that pi can communicate with pi-1 and pi+1.also assume that initially Xi resides in pi for I=1,2,3, ------n. To sort the elements in parallel, let p1, p3, p5 be active during the odd time and execute in the odd phase of the serial odd even transposition sort in parallel. An analogous step is done in parallel on the even numbered processors with the even phase.
Note that a single comparison exchange requires two transfers. Thus, the parallel odd-even transposition algorithm sort n numbers with n processors in n parallel comparisons and 2n transfers.

Content Credit: Reema Pahuja
Read full story

ASSIGNMENT DATA DEPENDENCY ANALYSIS

0 comments;Click here for request info on this topic
Subjective Questions

Q1. Explain data dependency analysis and its primary sources.
Ans. Some programs code segments cannot be run in parallel due to dependency where the results of execution of some part of the code affects the execution of some other part. For example, the average of a set of numbers is required for the computation of the standard deviation of the set. Data dependency analysis deals with the study of the nature of such dependencies.
Automatic detection of parallism in the existence code requires the need for compilers that can identify what can be done in parallel and what cannot be. This is not an easy task. There are a numbers of factors affecting this task, including the choice of language used.
Some are hard dependencies which cannot be circumvented at all. For example, if a routine outputs the contents of an array in order, it has to be executed sequentially. Without destroying the order, it is difficult to envisage a parallelization. In some other cases, the code may appear to require a sequential order, but suitable remodeling can convert the code to run in parallel. In the best case, find the code segments that are independent and hence can be directly scheduled for running in parallel.

Primary sources of dependencies:
Dependency among program segments arises from primarily three sources:
Control dependence.
Resource dependence.
Data dependence.
Control dependence:
This is imposed by the language construct like if then, case, etc. though the code segment corresponding to different branches are independent, there is no use of executing them I parallel because only one of the results should be visible , which depends on the conditions being tested.
Resource Dependence:
The need to share resources among instructions causes resource dependency. E.g. if 2 instructions require the use of a floating point processor and only one such floating point unit is available in CPU, then these 2 instructions can not be executed in parallel.
Data dependence:
It is the most important source of dependency. It arises when 2 segments of code accesses or updates the common piece of data. E.g. consider 2 statements:
A=A+1;
B=A+1;
Let initial value be A=0, B=0
Result of sequential execution will be A=1, B=2
Result of parallel execution would depend on the order in which statements would be executed & therefore, will be different every time. This is because statement 2 is referring to a variable being used by statement 1.


Q2. Explain various types of dependencies.
Ans : DEF & USE set of statements are used to identify the type of dependency that exists in a given code of segment.
DEF: It is a set of variables modified by the statement.
USE: It is a set of variables accessed/used by the statement.
Example: let there be a statement, A=5.2
By definition, DEF(A)={A}
& USE (A)={ } (as no variable is used by statement)
let another statement be: A=B+C-2.4
By definition, DEF(A)={A}
& USE(A)={B,C}
DEF and USE are used to formalized the notion of dependence.

Types of dependence:

1. TRUE/FLOW DEPENDENCE: it arises when
DEF (S1) intersection USE (S2)! = { }
· It is the most common & most difficult to avoid.
· It arises because a value computed by S1 is used in S2 for some processing.
· When a program is solved in a sequence of steps then intermediate or partial results are computed for further use.
Example: Let S1: A=B+C
S2: D=2*A
DEF (S1) = {A}
USE (S2) = {A}
According to definition,
DEF (S1) intersection USE (S2) = {A}
Therefore, Flow dependence arises in these statements.
2. ANTI-DEPENDENCE: It arises when
DEF (S2) intersection USE (S1)! = { }
· It is opposite of flow dependence.
· It arises when we reuse variable names.
· A variable whose value is used in S1 is redefined in S2.
· It is to be ensured that the old value of variable is used in S1.
· If we execute S1 & S2 in parallel, it might be possible that S2 gets executed first, which results in a new value being used in S1.
Example: Let S1: A=B+C; B is used in S1 & is redefined in S2
S2: B=0;
USE (S1) = {B, C}
DEF (S2) = {B}
And DEF (S2) intersection USE (S1) = {B}
Therefore, Anti-dependence arises.
OUTPUT DEPENDENCE: It arises when
DEF (S1) intersection DEF (S2)! = { }
It arises because of 2 reasons:
a. Reuse of variable names for convenience.
b. Incremental computation of a variable.
Example: Let S1: A=B+C;
S2: A=A-D;
DEF (S1) = {A}
DEF (S2) = {A}
And DEF (S1) intersection DEF (S2) = {A}
Therefore, Output dependence arises.

INPUT DEPENDENCE: It arises when
USE (S1) intersection USE (S2)! = { }
c. There is no threat to parallelism as a commonly accessed or used variable is present.
d. Since accessing a value by a process does not change its value, therefore, any number of processes accessing the value simultaneously is acceptable.
Example: Let S1: A=B+C; No harm in executing S1 & S2 in parallel
S2: D=B+5;
USE (S1) = {B, C}
USE (S2) = {B}
And USE (S1) intersection USE (S2) = {B}
Among all 4 types of dependencies, FLOW Dependence is real & is unavoidable because it is inherent in the style of computation. It is bound to occur even irrespective of the programming paradigm being used.


Q3.a How can we avoid various types of dependencies?
Ans. Flow dependence is real and it is unavoidable.

Avoiding Output dependence:
It can be avoided by suitable use of variable names. Consider the following statements, these have output dependence.
A= B+C;
A= C-D;
The dependence can be avoided by rewriting the statements
A1= B+C;
A= C-D;
Change all occurrences of A from the statement to the second statement to A1.
The expression can be combined as
A= B+C-D.

Avoiding Anti-Dependence:
It can also be avoided by suitable use of variable names. The following segment
A= B+C
B= 0
Has anti-dependence.
It can be avoided by rewriting
A= B+C
B1 =0
All occurrences of B below these statements must be changed to B1. However, such simple transformation is not always possible as in for loop statement.

Q3b. Explain “Dependence is not Transitive”.
Ans: Dependence relation is not transitive. By this we mean, if there are 3 sets of statements S1, S2 & S3, then if S1 & S2 are dependent and S2 & S3 are dependent then it does not imply that S1 & S3 are also dependent.
Let us prove it with an example.
Let S1: A=B+C;
S2: A=C-D;
S3: D=0;
DEF & USE sets of S1, S2 & S3 are:
DEF (S1) = {A} USE (S1) = {B, C}
(1)
DEF (S2) = {A} USE (S2) = {C, D} (2)
DEF (S3) = {D} USE (S3) = { } (3)

Now we know that, Output Dependence arises if:
DEF (S1) intersection DEF (S2)! = { } (A)
From (1) & (2),
DEF (S1) intersection DEF (S2) = {A}
Therefore, Output dependence exists between S1 & S2

Also, Anti- Dependence arises if:
DEF (S2) intersection Use (S1)! = { } (B)
From (2) & (3),
DEF (S3) intersection USE (S2) = {D}
Therefore, Anti-dependence exists between S2 & S3

Now, Flow dependence arises if:
DEF (S1) intersection USE (S2)! = { } (C)
But from (1) & (3)
None of the conditions ((A), (B), (C)) holds true
Therefore, there is no dependence between S1 & S3
Hence dependence is not transitive.

Fill in the blanks/ multiple choice questions with answers

1. Dependence arise from the need to share resources among instructions is
.
2. Primary sources of dependency are

3. set is a set of variables modified by the statement.

4 set of a statement is the set of variables accessed by the statement.
True dependence also known as .
Identify the type of dependence
S1: A= B+C;
S2: D= 2*A;
a) Anti-dependence b) Flow/ true dependence
c) Output dependence d) Input dependence
Anti- dependence arises when which of the following set of intersection is non-empty
a) DEF(S1) and USE(S2) b) DEF(S2) and USE(S1)
b) DEF(S1) and DEF(S2) d) USE(S1) and USE(S2)
Anti - dependence is the opposite of
a) Input dependence b) Flow/ true dependence
c) Output dependence d) none of these
9. Which of the following is the most common type of dependence and most difficult
to avoid?
a) Anti-dependence b) Flow/ true dependence
c) Output dependence d) Input dependence
10. dependence is real and unavoidable.
11. How can we avoid this dependence?
A= B+C
A= C-D and also identify the type of dependence also.


Answers
1. Resource dependence
2. Control, data and resource
3. DEF
4. USE
5. Flow dependence
6. b)
7. b)
8. b)
9. b)
10. Flow dependence
11. Output dependence and can be avoided by rewriting as
A1= B+C A= C-D
Or
A= B+C-D

Content Credit : RUPINDER KAHLON
Read full story

Assignment Parallel Processing

0 comments;Click here for request info on this topic
Ques.1 Which of the computer use a single processor?
Personal Computer
Parallel Computer
Cray Computer

Ques.2 Travel Agents access this computer system when receiving flights.
Super Computer
Personal Computer
Mainframe Computers

Ques.3 Which of the computers used in the weather forecasting system?
Notebook Computer
Super Computer
Jon Von Neumann Computer

Ques.4 Which computers are connected to many terminals and can multitask?
PC running MS Dos
Minicomputers
Leo /Computers

Ques.5 How many number of users can work on a minicomputer?
No Limit
200 Users
1000 users

Ques.6 _________ is used as a measure of computer’s performance especially in the field of scientific computing that makes use of heavy floating point calculations.
FLOPS
G Hertz
Terabytes

Ques.7 ___________computer's abilities are defined by their massive internal memory, large, high-capacity external storage, fast high-throughput I/O, high-quality internal engineering and expensive but high-quality technical support.
Mainframe
Super Computers
Laptops
Personal Computer

Ques.8 Mainframe computers are multi-tasking and generally used in areas where large __________ are maintained.
databases
Multiple Threads
Serialized Classes
Ques.9 _______ are used for interacting with mainframe systems remotely.
Dumb terminals
Personal Computers
Handhelds
Notebook

Ques.10 The _____________ large number of processors, enormous disk storage, and substantial memory greatly increase the power and speed of the machine.
A . Supercomputer's
B . Mainframe ‘s
C . Embeded Computer’s


Subjective Questions


Ques.1 How can High speed Computing be achieved?

Ans. High speed computing can be achieved by High Performance computing technique which is employed as a branch of computer science that concentrates on developing supercomputers and software to run on supercomputers. A main area of this discipline is developing parallel processing algorithms and software: programs that can be divided into little pieces so that each piece can be executed simultaneously by separate processors.
Ques.2 What are High Performance Computing Clusters?

Ans. High Performance Computing Cluster (HPCC) combines multiple Symmetric Multi-Processor (SMP) computer systems together with high-speed interconnects to achieve the raw-computing power of classic "big-iron" supercomputers. These systems work in tandem to complete a single request by dividing the work among the server nodes, reassemble the results and present them to the client as if a single-system did the work.
The HPC clusters are used for solving the most challenging and rigorous engineering tasks facing the present era. The parallel applications running on HPC are both numeric and data intensive and require medium to high-end industry standard computing resources to fulfill today's computational needs. Since HPC has such a strong implementation, the demand for it is growing at a tremendous speed and is becoming highly popular in all aspects.

Ques.3 Write Down the applications of Supercomputers?

Ans. Supercomputers are so powerful that they can provide researchers with insight into phenomena that are too small, too big, too fast, or too slow to observe in laboratories. For example, astrophysicists use supercomputers as "time machines" to explore the past and the future of our universe. A supercomputer simulation was created in 2000 that depicted the collision of two galaxies: our own Milky Way and Andromeda. Although this collision is not expected to happen for another three billion years, the simulation allowed scientists to run the experiment and see the results now. This particular simulation was performed on Blue Horizon, a parallel supercomputer at the San Diego Supercomputer Center. Using 256 of Blue Horizon's 1,152 processors, the simulation demonstrated what will happen to millions of stars when these two galaxies collide. This would have been impossible to do in a laboratory.
Another example of supercomputers at work is molecular dynamics (the way molecules interact with each other). Supercomputer simulations allow scientists to dock two molecules together to study their interaction. Researchers can determine the shape of a molecule's surface and generate an atom-by-atom picture of the molecular geometry. Molecular characterization at this level is extremely difficult, if not impossible, to perform in a laboratory environment. However, supercomputers allow scientists to simulate such behavior easily.
Beside this supercomputers are also used in weather forecasting. To estimate the weather in the coming days/weeks.

Ques.4 Write down the configuration of an existing mainframe computer?

Ans. IBM Mainframe Computer S/390 Parallel Enterprise Server
Hardware

Processor technology Air-cooled S/390 CMOS

Architecture IBM S/390

Number of processors 9672-R11:1
9672-R21:2
9672-R31:3
9672-R41:4
9672-R51:5
9672-R61:6
Channels
Minimum 3
Maximum 48
Increments Channels are available in increment of 3
General Parallel Channel, ESCON and ESCON XDF
(Extended Distance Feature) are available

Processor Storage
Minimum 128 MB
Maximum 2048 MB
Options 256 MB
512 MB
1024 MB
2048 MB
Physical configuration

Minimum 1 Frame
Weight: 540 Kgs.
Footprint: 1.0 M ²
Service Clearance: 2.5 M ²
Input Power: 1.4 KVA
Heat Output: 1.3 kW

Maximum 2 Frame
Weight: 1040 Kgs.
Footprint: 1.8 M ²
Service Clearance: 4.8 M ²
Input Power: 2.3 KVA
Heat Output: 2.1 kW
Read full story

Thursday, November 22, 2007

Project : Online Job Placement System (OPS)

2 comments;Click here for request info on this topic

Introduction

In the online placement system, the companies can set their test online on the website to recruit new employees for their company and students looking can also approach to a company by looking for a specific job on the website & then registering for the test. The Online placement system website performs three functions Firstly, The student’s details will now be maintained through the online placement system i.e. students can post their resumes so that can companies can also themselves look for candidates skilled in particular task & send them notification to take test .Secondly, Companies can register on the website & either place online test or can choose candidate and send them notification to come to their place and give test and interviews. Thirdly, the Online Placement System also provides provision of selling books online where anyone can even buy books. The benefit of this system is that candidates seeking jobs and company can easily at one platform make a provision of a kind of online job fair. Since it is online anyone from anywhere can any country can give test to any country company where even it is not possible for a person to reach anywhere across the world through INTERNET by just registering on the website.

Project category:

Internet (Web enabled Application in ASP.Net), SQL Server 2000

Function to be provided.

Providing user friendly interface

To store all the information about the students/candidates

To store all the information about the companies

Easy access of data

Easy maintenance

Maintaining data consistency

Providing better performance

Increasing the efficiency through automation

Proper authorization

Proper security

Providing timely information to the users

Benefits for Companies

Reach to abundant candidates

Faster and More Convenient Service

Easy to filter out candidates in terms of their skills

Benefits for Students

Immediate access to the company information, status.

Type of job they look for.

Availability of books.

DEFINITIONS

I. INFORMATION TECHNOLOGY

”IT Software” means any representation of instructions, data, sound or image, including source code and object code, recorded in a machine readable form, and capable of being manipulated or providing interactivity to a user, by means of an automatic data processing machine falling under heading, ‘ I.T. Products‘, but does not include ‘non I.T. Product’, ‘IT Service’ is defined as any service which results from the use of any IT Software over a system of IT products for realizing value addition. The IT Industry shall cover development, production and services related to IT products. The term ‘IT-Software’ shall be substituted in place of ‘Computer Software’ in all notifications.


ii. INFORMATION TECHNOLOGY INDUSTRY

IT, includes IT and Telecommunications; IT Industries includes, IT Hardware and Software Industries; IT Software Industries include IT Software, IT services and IT enabled services. IT Infrastructure means the physical Infrastructure build by a firm or a builder and sold to an IT Industry for its own use or the Infrastructure build by an IT Industry for its own use.
List of Industries included in the scope/definition of Information Technology Industries and eligible for incentives under this policy is as per Annexure -I, the list is inclusive and not exhaustive.

SOFTWARE DEVELOPMENT LIFECYCLE

Software engineering is a discipline that integrates process, methods and tools for the development of the computer software to solve an actual problem in an industry setting. Software engineer or the team of Software engineers must incorporate a development strategy that encompasses the process, methods and tools. This strategy is often referred to as the process model or software engineering paradigm.

A number of different process models of software engineering have been proposed, each exhibiting strengths and weaknesses, but all have generic phases in common. Some of the commonly used software process models are:

· The liner sequential model

· Prototyping model

· The RAD model

· The incremental model

· The spiral model

· The component assembly model

· The concurrent development model

· The formal method model

A particular process model is chosen based on the nature of the project and the application at hand, the methods and tools to be used and the controls and deliverables that are required.

All software development can be characterized as a problem – solving loop in which four distinct stages are encountered:

· Status quo

· Problem definition

· Technical development and

· Solution integration

Status quo represents the current state of affairs; problem definition identifies the specific problem to be solved; technical development solves the problem through application of some technology; and the solution integration delivers the results (e.g. documents, programs, data, new business, and new product) to those who requested the solution in the first place.

In the current project, there will be some changes in the requirements specified by the customers in the later stages of the project development. Therefore we are using software developments life cycle (SDLC) or more often called liner sequential model approach.

The various stages of liner sequential model for the software engineering are:

· Analysis

· Design

· Coding

· Testing

· Maintenance

Modeled after the conventional engineering cycle, it encompasses the following activities:

SYSTEM/ INFORMATION ENGINEERING AND MODELING

Because software is always a part of lager systems (or business), work begins by establishing requirements for all system elements and then allocating some subset of the requirements to software. This system view is essential when the software interface with other elements such as hardware, people and databases.

System engineering and analysis encompasses requirements gathering at the system level with a small amount of top-level analysis and design. Information engineering encompasses requirements gathering at the strategic and at the business area level.

SOFTWARE REQUIREMENT ANALYSIS

The requirement gathering process is intensified and is focused specially on the software. To understand the area of the programs to be building, the software engineer (analyst)

Must understand the information domain for the software, as well as required function, behavior, performance and interfacing. Requirements for both the system and the software are documented and reviewed with the user.

DESIGN

Software design is actually a multi step process that focuses on the four distinct attributes of the program:

· Data Structures

· Software Architecture

· Interface representation

· Procedure detail

The design process translates requirements into a representation of the software that can be assessed for quality before code generation begins. Like requirements, the design is documented and becomes part of the software configuration.

CODE GENERATION

The design must be translated to machine-readable form. The code generation performs this task. If design is performed in detailed manner, code generation can be accomplished mechanistically.


TESTING

Once code has been generated, the program testing begins. The testing process focuses on the logical internals of the software ensuring that all the statements have been tested, and on the functional externals that is, conducting tests to uncover errors and ensure that defined inputs will produce actual results that agree with required results.

MAINTENANCE

Software will undoubtedly undergo change after it is delivered to the customers. Change will occur because errors have been encountered, because the software must be adopted to accommodate changes in its external environment or because the customer needs the functional or performance enhancements. Software maintenance reapplies each of the preceded phases to an existing program rather than a new one.

After we have chosen the software process model we must bound our jobs with certain time scale or deadlines. That is dividing each task explicitly and marks them.


Download :

Sourcecode

Project report

Mid term report

database snapshot

Forms snapshot

This is the project i gave in M.Sc. as final year major project. You can use it for reference. to create your own.

Read full story