doc of pgp

Upload: pranitha-reddy

Post on 14-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 doc of pgp

    1/46

    PRECISION GUIDED PROJECTILES

    ABSTRACT

    The aim of the project is to predefine the trajectory of an unguided projectile accurately,to achieve a higher kill ratio.

    Both the Indian Army and the Indian Navy have a considerably large stock piles of

    unguided projectiles/Munitions, these munitions are relatively in effective in the field,

    because of their large miss distances, which result from a combination of Gunpoint

    error, shot-shot velocity variation and aero dynamic disturbances such wind turbulence

    that causes the projectile to deviate from the expected flight path, resulting in not

    achieving a higher accuracy, as a consequence the hit probability for a single projectile

    is farfetched.

    To overcome these set of defined and undefined problems in the field, they use a

    system called Circular Error Probability (CEP), even after taking up the CEP the

    chances of hitting the target are still highly variable.

    Our project is to write an algorithm with a user interface, in which the user will be

    giving a set of inputs such as Target Latitudes, Longitudes & Height Cannon

    Latitudes, Longitudes & Height the type of cannon being deployed & the wind

    turbulence during the time of operation, based on the following inputs the system will

    give the accurate angle of fire and rate of fire power to travel the distance, i.e. the

    charge to be used to propel the projectile towards the target.

    The Idea and the objectives are to bring down the Hit Probability or the Kill Ratio

    to 1:3 or 1:4.

    1

  • 8/2/2019 doc of pgp

    2/46

    OBJECTIVE

    The main objective of the proposed solution is to launch the projectile accurately on the

    target.

    A Fire direction center is a command post, consisting of communication personnel

    and equipment, by means of which the commander exercises fire direction and/or fire

    control. The fire direction center receives targets inputs and requests for fire, and

    translates them into appropriate fire direction.

    The main objective of a fire direction center is to receive the inputs of the target (like

    latitudes, longitudes and height) from the forward observation officer. After receiving

    the inputs the fire direction center will calculate the distance between the target and the

    gunner, angle at which the target should be fired and then checks for the obstacles, if

    found then a projectile is used for firing down the target and wind turbulence checks the

    direction of wind and then calculates at which angle and with what speed the projectile

    should be fired then it sends the request for fire to the gunner.

    The purpose of fire direction center is to provide accurate, timely information which by

    category represents information on which command decisions are based.

    2

  • 8/2/2019 doc of pgp

    3/46

    CIRCULAR ERROR PROBABILITY

    In the military science ofballistics, circular error probability (CEP) (also circle of equal

    probability) is an intuitive measure of a weapon system'sprecision. It is defined as the

    radius of a circle, centered about the mean, whose boundary is expected to include 50%

    of the population within it.

    Circular error probability is a method, were the Artillery shells are fired in a circular

    fashion assuming that one among those shells may hit the target. In this method the

    forward observation officer used to give the approximate inputs of the target to the

    gunner. Then the gunner used to bombard the target area using approximate input

    location.

    Hence the hit ratio in circular error probability was 1:10(i.e., one among the 10 shells

    use to hit the target). In Circular Error Probability (CEP) when a projectile is fired away

    from the target it alerts the enemy that we are attacking him and he will hide in the

    bunkers and safeguards himself.

    3

    http://en.wikipedia.org/wiki/Military_sciencehttp://en.wikipedia.org/wiki/Ballisticshttp://en.wikipedia.org/wiki/Accuracy_and_precisionhttp://en.wikipedia.org/wiki/Military_sciencehttp://en.wikipedia.org/wiki/Ballisticshttp://en.wikipedia.org/wiki/Accuracy_and_precision
  • 8/2/2019 doc of pgp

    4/46

    FORWARD OBSERVATION OFFICER

    A military artillery observer or spotter is responsible for directing artillery and mortar

    fire, because artillery is an indirect fire weapon system, the guns are rarely in line-of-

    sight of their target, often located miles away. The observer serves as the eyes of the

    gunners, calling in target locations and adjustments to the Fire Direction Center (FDC)

    via radio transmitters. The FDC then translates the observer's orders into firing

    solutions for the cannon batteries. Artillery observers are often deployed with combat

    arms maneuver units, typically infantry companies or armored unit.

    On land, artillery observers are considered high-priority targets by enemy forces, as

    they control a great amount offirepower, are within visual range of the enemy, and are

    often located deep within enemy territory. The artillery observer must be skilled not

    only in fire direction, but also in stealth and, if necessary, combat in self-defence.

    4

    http://en.wikipedia.org/wiki/Firepowerhttp://en.wikipedia.org/wiki/Firepower
  • 8/2/2019 doc of pgp

    5/46

    2. SYSTEM ANALYSIS

    2.1. USER REQUIREMENTS:

    User Friendly:The said project is designed and organized in very simplified manner to suit the current

    requirements of the forward observation officer.

    Accurate Results:

    The forward observation officer needs to find out the accurate location of the target

    with reference to his position.

    2.2 HARDWARE REQUIREMENTS Processor : 32 bit

    RAM : 256MB

    Hard Disk : 8GB

    2.3 SOFTWARE REQUIREMENTS

    Operating System : Windows XP Professional

    Language : .Net

    Back End : DataBase

    Documentation : MS-Word

    5

  • 8/2/2019 doc of pgp

    6/46

    2.4 USER REQUIREMENTS

    The User Requirements Document (URD) is a seminal document in the systems

    engineering and requirements engineering processes. The User Requirement Document

    contains the requirements from the stakeholders particularly the users (operators,

    maintainers, trainers, marketers, etc). All stakeholders must be involved or at least

    considered during the development of the user requiement document.

    As a minimum, the User Requirement Document should reveal: applications and

    missions, operational characteristics, operational constraints, external systems and

    interfaces; operational and support environment, and support concepts and

    responsibilities.

    Draft: The first version, or draft version, is compiled after requirements have been

    discovered, recorded, classified, and prioritized.

    Proposed: The draft document is then proposed as a potential requirements

    specification for the project. The proposed document should be reviewed by several

    parties, who may comment on any requirements and any priorities, either to agree, to

    disagree, or to identify missing requirements. Readers include end-users, developers,

    project managers, and any other stakeholders. The document may be amended and

    reproposed several times before moving to the next stage.

    Validated: Once the various stakeholders have agreed to the requirements in the

    document, it is considered validated.

    Approved: The validated document is accepted by representatives of each party of

    stakeholders as an appropriate statement of requirements for the project. The developers

    then use the requirements document as a guide to implementation and to check the

    progress of the project as it develops.

    6

  • 8/2/2019 doc of pgp

    7/46

    3. SYSTEM DESIGN

    SYSTEM ARCHITECTURE

    7

  • 8/2/2019 doc of pgp

    8/46

    DATA FLOW DIAGRAMS

    8

  • 8/2/2019 doc of pgp

    9/46

    9

  • 8/2/2019 doc of pgp

    10/46

    3.1 INTRODUCTION

    UNIFIED MODELING LANGUAGE

    Introducing the UML:

    The Unified Modeling Language (UML) is a standard language for writing software

    blueprints. The UML may be used to visualize, specify, construct, and document the

    artifacts of a software-intensive system.

    The UML is appropriate for modeling systems ranging from enterprise information

    systems to distributed Web-based applications and even to hard real time embedded

    systems. It is a very expressive language, addressing all the views needed to develop

    and deploy such systems. Learning to apply the UML effectively starts with forming a

    conceptual model of the language, which requires learning three major elements: the

    UMLs basic building blocks, the rules that dictate how these building blocks may be

    put together, and some common mechanism that apply throughout the language.

    The UML is only a language and so is just one part of a software development method.

    The UML is process independent, although optimally it should be used in a process that

    is use case driven, architecture-centric, iterative, and incremental.

    Building Blocks of UML

    The vocabulary of the UML encompasses three kinds of building blocks:

    Things

    Relationships

    Diagrams

    Things are the abstractions that are first-class citizens in a model; relationships tie these

    things together; diagram group interesting collection of things.

    10

  • 8/2/2019 doc of pgp

    11/46

    Things in the UML

    1) Structural things:

    They are the nouns of UML models, which are basically static parts of a model,representing elements that are either conceptual or physical. Ex: Classes, Interface,

    Collaboration, Use Case, Component, and No

    2) Behavioral things:

    They are the dynamic parts of UML models. These are the verbs of a model,

    representing behavior over time and space. Ex: Interaction and State Machine.

    3) Grouping things:They are the oraganizational parts of UML models. These are the boxes into which a

    model can be decomposed. Ex: Package.

    4) Annotational things:

    They are the explanatory parts of UML models. These are the comments you may apply

    to describe, illuminate, and remark about any element in a model. There is one primary

    kind of annotational thing, called a Note.

    Relationships in the UML

    There are four kinds of relationships in the UML.

    1) Dependency:

    It is a semantic relationship between two things in which a change to one thing (the

    independent thing) may affect the semantics of the other thing (the dependant thing).

    2) Association:

    It is a structural relationship that describes a set of links, a link being a connection

    among objects. Aggregation is a special kind of association, representing a structural

    relationship between a whole and its parts.

    11

  • 8/2/2019 doc of pgp

    12/46

    3) Generalization:

    It is a relationship in which objects of the specialized element (the child) are substitute

    for objects of the generalized element (the parent).

    4) Realization:

    It is a semantic relationship between classifiers, wherein one classifier specifies a

    contract that another classifier guarantees to carry out.

    Diagrams in the UML

    A diagram is graphical presentation of a set of elements, most often rendered as a

    connected graph of vertices(things) and arcs(relationships).For all but the most trivial

    systems, a diagram is a represents an elided view of the elements that make up a

    system.

    1)Class Diagram:

    Class Diagrams address the static design view of a system. A Class diagram shows a set

    of classes, interfaces, and collaborations and their relationships.

    2)Object Diagram:

    Object diagrams represent static snapshots of instances of the things found in class

    diagrams. An Object diagram shows a set of objects and their relationships.

    3) Use Case Diagram:

    Use Case diagrams address the static use case view of a system. These diagrams are

    especially important in organizing and modeling the behaviors of a system. A use case

    diagram shows a set of use cases and actors (a special kind of class) and their

    relationships

    4)Interaction Diagram:

    An interaction diagram shows an interaction, consisting of a set of objects and their

    relationships, including the messages that may be dispatched among them. It addresses

    the dynamic view of a system.

    12

  • 8/2/2019 doc of pgp

    13/46

    Sequence Diagram:

    A sequence diagram is an interaction diagram that emphasizes the time-ordering of

    messages.

    Collaboration Diagram:

    A collaboration diagram is an interaction diagram that emphasizes the structural

    organization of the objects that send and receive messages.

    5)Activity Diagram:

    An activity diagram is a special kind of a statechart diagram that shows the flow from

    activity to activity within a system. They are important in modeling the functions of a

    system and emphasize the flow of control among objects.

    6)Component Diagram:

    A component diagram shows the organization and dependencies among a set of

    components. They address the static implementation view of a system. They are related

    to class diagrams in that a component typically maps to one or more classes, interfaces,

    or collaborations.

    7)Deployment Diagram:

    A deployment diagram shows the configuration of run-time processing nodes and the

    components that live in them. They are related to component diagrams in that a node

    typically encloses one or more components.

    13

  • 8/2/2019 doc of pgp

    14/46

    3.2 UML DIAGRAMS

    CLASS DIAGRAM:

    14

  • 8/2/2019 doc of pgp

    15/46

    SEQUENCE DIAGRAM:

    15

  • 8/2/2019 doc of pgp

    16/46

    USECASE DIAGRAM:

    16

  • 8/2/2019 doc of pgp

    17/46

    ACTIVITY DIAGRAM:

    17

  • 8/2/2019 doc of pgp

    18/46

    4. SOFTWARE DEVELOPMENT METHODOLOGIES

    .NET:

    Introduction

    Microsoft will be releasing .NET versions of existing products as part of

    its .NET Initiative. Of course a next version of these products would have existed with

    or without the .NET Initiative. First, an important part of Microsofts .NET Initiative is

    a new and exciting platform called the .NET Frameworks, which will be discussing

    shortly. Second, Microsoft has re-focused across its various product groups to address

    software development in an interconnected world. Lets talk about this for a moment.

    Microsoft creates software. This is what they are all about. For over a decade now, the

    Internet has been changing the software industry right out from under them (and many

    of the rest of us!) This is an unstoppable paradigm-shift that has the power to make or

    break even a goliath software company. And Microsoft has decided that they are going

    to address the Internet, head-on, from every nook and cranny of their company. So

    began the .NET Initiative.

    Before we jump headlong into the .NET Initiative, lets review how the software

    industry is changing. Here is my take on the current thinking.

    The .NET Frameworks

    The .NET Frameworks is a component called the Common Language Runtime or CLR

    which is a lot like an operating system that runs within the context of another operating

    system (such as Windows ME or Windows 2000). This is not a new idea. It shares

    traits in common with the Java Virtual Machine, as well as the environments of many

    interpreted languages such as BASIC and LISP which have been around for decades.

    The purpose of a middleware platform like the CLR is simply that a common OS like

    Windows is often too close to the hardware of a machine to retain the flexibility or

    18

  • 8/2/2019 doc of pgp

    19/46

    agility required by software targeted for business on the Internet. Software running on

    the CLR (referred to as Managed Code) is exceptionally agile!

    Another component of the .NET Frameworks is a massive library of reusable object-

    types called the Frameworks Class Library or FCL. The FCL contains hundreds of

    classes to perform tasks ranging from the mundane, such as file reads and writes, to the

    exotic, such as advanced cryptography and web services. Using the FCL you

    get software as a service with trivial development costs.

    Finally, the .NET Frameworks contains a collection of tools and compilers that help to

    make programming to this new environment productive and enjoyable. Up until now I

    have made little mention of C# (pronounced See-Sharp) or Visual Basic.NET. Thereason is that the real guts of this new environment are the CLR. However, over twenty

    language compilers are currently being designed for the .NET Frameworks, including

    five offerings from Microsoft: Visual Basic, C#, C++, JavaScript and CIL.

    The CLR and the .NET Frameworks in general, however, are designed in such a way

    that code written in one language can not only seamlessly be used by another language,

    but it can also be naturally extended by code written in another programming language.

    This means that (depending on the needs of a projects work-force) developers will be

    able to write code in the language with which they are most comfortable, and continue

    to equally reap all the rewards of the .NET environment as well as the efforts of their

    coworkers!

    Now it is time to share some real-life specifics that translate to unparalleled

    productivity for developers.

    Developers are comfortable with calling functions. Developers are also comfortable (or

    can quickly become comfortable) with using "objects" in their software. These things

    take little time and effort by comparison to difficult tasks such as memory management

    and network programming. So the .NET Frameworks is designed from the ground-up

    to make the difficult tasks either automatic (such as memory management) or to expose

    them as objects and function calls.

    19

  • 8/2/2019 doc of pgp

    20/46

    The .NET Frameworks makes very clever use of general-purpose standards like SOAP,

    XML, and WSDL to make advanced functionality simple. It is worth noting that none

    of these standards have anything to do with the Real-Estate industry, and yet they can

    be used to transmit Real-Estate information (as well as any other kind of digital data)

    easily.

    Again, the network communication with the Simple Object Access Protocol(SOAP)

    protocol is handled by the FCL. Meanwhile, the .NETFrameworks will automatically

    create the WSDL necessary to describe your new web service. So, the hard stuff is

    automatic or exposed as objects and function calls.

    To further pronounce this goal, the .NET Frameworks can be used to write traditionalclient applications (like word-processors and spreadsheets) as well as cutting edge

    software as a service. Way, the concepts and tools are the same, the languages are the

    same, and the classes and types that your developers use are the same. This

    homogeneous view of development increases productivity.

    Whether you use the .NET Frameworks to write the client or the web-service, you will

    interoperate seamlessly with clients and servers running on other platforms so long as

    they adhere to web-service standards like SOAP.

    Remember, the .NET Frameworks is the Microsofts .NET Initiative. This new

    product will enable your company to produce software that exposes itself as a service

    and/or uses services in an interconnected world. This is the next step. Meanwhile

    Microsoft will be releasing .NET versions of their enterprise servers and other

    products, such as Visual Studio.NET, which take full advantage of and complete the

    abilities of the .NET Frameworks.

    Microsoft will also be marketing their own web-services such as authentication services

    and personalization services. This is all part of the .NET Initiative.

    However, Microsoft does not corner this initiative. In fact significant portions of

    the .NET Frameworks have been submitted for ECMA standardization, i.e. Microsoft

    would not retain control of the technology. Meanwhile, third parties will release server

    products that tightly integrate with the .NET Frameworks.

    20

  • 8/2/2019 doc of pgp

    21/46

    Third parties will expose web-services using the .NET Frameworks. Some of these

    products will compete with Microsofts products; others will be new innovative

    products that were never before feasible.

    Software as a service is here with or without the .NET Initiative. The .NET Initiative

    brings new tools, a new platform, and a cohesive plan designed from the ground up to

    exploit software as a service. What we all get is an Internet that begins to meet its own

    potential.

    TYPEs .NET:

    VB.NET

    ASP.NET

    C#.NET

    VC++

    VJ++

    C#.NET:

    The correct title of this article is C# (programming language). The substitution or

    omission of the # sign is because oftechnical restrictions.

    C# (pronounced see sharp) is a multi-paradigm programming

    language encompassing strongtyping, imperative, declarative, functional,generic,object

    -oriented (class-based), and component-orientedprogramming disciplines.

    It was developed by Microsoft within its .NETinitiative and later approved as a

    standard by Ecma (ECMA-334) and ISO (ISO/IEC 23270:2006). C# is one of the

    programming languages designed for the Common Language Infrastructure.

    C# is intended to be a simple, modern, general-purpose, object-oriented programming

    language. Its development team is led by Anders Hejlsberg. The most recent version

    is C# 4.0, which was released on April 12, 2010.

    Design goals

    The ECMA standard lists these design goals for C#:

    C# language is intended to be a simple, modern, general-purpose, object-oriented

    programming language.

    21

    http://en.wikipedia.org/wiki/Number_signhttp://en.wikipedia.org/wiki/Wikipedia:Naming_conventions_(technical_restrictions)#Forbidden_charactershttp://en.wikipedia.org/wiki/Multi-paradigm_programming_languagehttp://en.wikipedia.org/wiki/Multi-paradigm_programming_languagehttp://en.wikipedia.org/wiki/Strong_typinghttp://en.wikipedia.org/wiki/Imperative_programminghttp://en.wikipedia.org/wiki/Declarative_programminghttp://en.wikipedia.org/wiki/Functional_programminghttp://en.wikipedia.org/wiki/Generic_programminghttp://en.wikipedia.org/wiki/Object-oriented_programminghttp://en.wikipedia.org/wiki/Object-oriented_programminghttp://en.wikipedia.org/wiki/Class_(computer_science)http://en.wikipedia.org/wiki/Component-based_software_engineeringhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Ecma_Internationalhttp://en.wikipedia.org/wiki/International_Organization_for_Standardizationhttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Anders_Hejlsberghttp://en.wikipedia.org/wiki/C_Sharp_4.0http://en.wikipedia.org/wiki/Number_signhttp://en.wikipedia.org/wiki/Wikipedia:Naming_conventions_(technical_restrictions)#Forbidden_charactershttp://en.wikipedia.org/wiki/Multi-paradigm_programming_languagehttp://en.wikipedia.org/wiki/Multi-paradigm_programming_languagehttp://en.wikipedia.org/wiki/Strong_typinghttp://en.wikipedia.org/wiki/Imperative_programminghttp://en.wikipedia.org/wiki/Declarative_programminghttp://en.wikipedia.org/wiki/Functional_programminghttp://en.wikipedia.org/wiki/Generic_programminghttp://en.wikipedia.org/wiki/Object-oriented_programminghttp://en.wikipedia.org/wiki/Object-oriented_programminghttp://en.wikipedia.org/wiki/Class_(computer_science)http://en.wikipedia.org/wiki/Component-based_software_engineeringhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Ecma_Internationalhttp://en.wikipedia.org/wiki/International_Organization_for_Standardizationhttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Anders_Hejlsberghttp://en.wikipedia.org/wiki/C_Sharp_4.0
  • 8/2/2019 doc of pgp

    22/46

    The language, and implementations thereof, should provide support for software

    engineering principles such as strong type checking, arraybounds checking, detection

    of attempts to use uninitialized variables, and automatic garbage collection. Software

    robustness, durability, and programmer productivity are important.

    The language is intended for use in developing software components suitable for

    deployment in distributed environments.

    Source code portability is very important, as is programmer portability, especially for

    those programmers already familiar with C and C++.

    Support forinternationalization is very important.

    C# is intended to be suitable for writing applications for both hosted and embedded

    systems, ranging from the very large that use sophisticated operating systems, down to

    the very small having dedicated functions.

    Although C# applications are intended to be economical with regard to memory

    andprocessing powerrequirements, the language was not intended to compete directly

    on performance and size with C or assembly language.

    The name "C sharp" was inspired by musical notation where a sharp indicates that the

    written note should be made a semitone higher inpitch.

    The "sharp" suffix has been used by a number of other .NET languages that are variants

    of existing languages, including J# (a .NET language also designed by Microsoft that is

    derived from Java 1.1), A# (from Ada), and the functional

    programming language F#.The original implementation ofEiffel for .NET was called

    Eiffel#,a name since retired since the full Eiffellanguage is now supported. The suffix

    has also been used forlibraries, such as Gtk# (a .NET wrapperforGTK+ and

    otherGNOME libraries), Cocoa# (a wrapper forCocoa) and Qt# (a .NET language

    binding for the Qt toolkit).

    22

    http://en.wikipedia.org/wiki/Strong_typehttp://en.wikipedia.org/wiki/Bounds_checkinghttp://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Software_componentshttp://en.wikipedia.org/wiki/Internationalization_and_localizationhttp://en.wikipedia.org/wiki/Embedded_systemhttp://en.wikipedia.org/wiki/Embedded_systemhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Processing_powerhttp://en.wikipedia.org/wiki/Sharp_(music)http://en.wikipedia.org/wiki/Semitonehttp://en.wikipedia.org/wiki/Pitch_(music)http://en.wikipedia.org/wiki/J_Sharphttp://en.wikipedia.org/wiki/A_Sharp_(.NET)http://en.wikipedia.org/wiki/Ada_(programming_language)http://en.wikipedia.org/wiki/Functional_programminghttp://en.wikipedia.org/wiki/Functional_programminghttp://en.wikipedia.org/wiki/F_Sharp_(programming_language)http://en.wikipedia.org/wiki/EiffelStudiohttp://en.wikipedia.org/wiki/Eiffel_(programming_language)http://en.wikipedia.org/wiki/Library_(computing)http://en.wikipedia.org/wiki/Gtk_Sharphttp://en.wikipedia.org/wiki/Wrapper_patternhttp://en.wikipedia.org/wiki/GTK%2Bhttp://en.wikipedia.org/wiki/GNOMEhttp://en.wikipedia.org/wiki/Cocoa_Sharphttp://en.wikipedia.org/wiki/Cocoa_(API)http://en.wikipedia.org/w/index.php?title=Qt_Sharp&action=edit&redlink=1http://en.wikipedia.org/wiki/Qt_(toolkit)http://en.wikipedia.org/wiki/Strong_typehttp://en.wikipedia.org/wiki/Bounds_checkinghttp://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Software_componentshttp://en.wikipedia.org/wiki/Internationalization_and_localizationhttp://en.wikipedia.org/wiki/Embedded_systemhttp://en.wikipedia.org/wiki/Embedded_systemhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Processing_powerhttp://en.wikipedia.org/wiki/Sharp_(music)http://en.wikipedia.org/wiki/Semitonehttp://en.wikipedia.org/wiki/Pitch_(music)http://en.wikipedia.org/wiki/J_Sharphttp://en.wikipedia.org/wiki/A_Sharp_(.NET)http://en.wikipedia.org/wiki/Ada_(programming_language)http://en.wikipedia.org/wiki/Functional_programminghttp://en.wikipedia.org/wiki/Functional_programminghttp://en.wikipedia.org/wiki/F_Sharp_(programming_language)http://en.wikipedia.org/wiki/EiffelStudiohttp://en.wikipedia.org/wiki/Eiffel_(programming_language)http://en.wikipedia.org/wiki/Library_(computing)http://en.wikipedia.org/wiki/Gtk_Sharphttp://en.wikipedia.org/wiki/Wrapper_patternhttp://en.wikipedia.org/wiki/GTK%2Bhttp://en.wikipedia.org/wiki/GNOMEhttp://en.wikipedia.org/wiki/Cocoa_Sharphttp://en.wikipedia.org/wiki/Cocoa_(API)http://en.wikipedia.org/w/index.php?title=Qt_Sharp&action=edit&redlink=1http://en.wikipedia.org/wiki/Qt_(toolkit)
  • 8/2/2019 doc of pgp

    23/46

    History

    During the development of the .NET Framework, the class libraries were originally

    written using a managed code compiler system called Simple Managed C (SMC). In

    January 1999, Anders Hejlsberg formed a team to build a new language at the time

    called Cool, which stood for "C-like Object OrientedLanguage".

    Microsoft had considered keeping the name "Cool" as the final name of the language,

    but chose not to do so for trademark reasons. By the time the .NET project was publicly

    announced at the July 2000 Professional Developers Conference, the language had been

    renamed C#, and the class libraries and ASP.NET runtime had been ported to C#.

    C#'s principal designer and lead architect at Microsoft is Anders Hejlsberg, who was

    previously involved with the design ofTurbo Pascal,Embarcadero Delphi (formerly

    CodeGear Delphi and Borland Delphi), and Visual J++.

    In interviews and technical papers he has stated that flaws[citation needed] in most major

    programming languages (e.g. C++, Java, Delphi, andSmalltalk) drove the fundamentals

    of the Common Language Runtime (CLR), which, in turn, drove the design of the C#

    language itself.

    James Gosling, who created the Javaprogramming language in 1994, and Bill Joy, aco-founder of Sun Microsystems, the originator of Java, called C# an "imitation" of

    Java; Gosling further claimed that "[C# is] sort of Java with reliability, productivity and

    security deleted."

    Klaus Kraft and Angelika Langer (authors of a C++ streams book) stated in a blog post

    that "Java and C# are almost identical programming languages.

    Boring repetition that lacks innovation," "Hardly anybody will claim that Java or C# are

    revolutionary programming languages that changed the way we write programs," and

    "C# borrowed a lot from Java - and vice versa. Now that C# supportsboxing and

    unboxing, we'll have a very similar feature in Java." Anders Hejlsberg has argued that

    C# is "not a Java clone" and is "much closer to C++" in its design.

    Since the release of C# 2.0 in November 2005, the C# and Java languages have evolved

    on increasingly divergent trajectories, becoming somewhat less similar.

    C# makes use ofreification to provide "first-class" generic objects that can be used like

    any other class, with code generation performed at class-load time. By contrast, Java's

    23

    http://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/Managed_codehttp://en.wikipedia.org/wiki/Anders_Hejlsberghttp://en.wikipedia.org/wiki/Professional_Developers_Conferencehttp://en.wikipedia.org/wiki/ASP.NEThttp://en.wikipedia.org/wiki/Turbo_Pascalhttp://en.wikipedia.org/wiki/Embarcadero_Delphihttp://en.wikipedia.org/wiki/Visual_J%2B%2Bhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/Embarcadero_Delphihttp://en.wikipedia.org/wiki/Smalltalkhttp://en.wikipedia.org/wiki/Common_Language_Runtimehttp://en.wikipedia.org/wiki/James_Goslinghttp://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/Bill_Joyhttp://en.wikipedia.org/wiki/Boxing_(Computer_Science)http://en.wikipedia.org/wiki/Reification_(computer_science)http://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/Managed_codehttp://en.wikipedia.org/wiki/Anders_Hejlsberghttp://en.wikipedia.org/wiki/Professional_Developers_Conferencehttp://en.wikipedia.org/wiki/ASP.NEThttp://en.wikipedia.org/wiki/Turbo_Pascalhttp://en.wikipedia.org/wiki/Embarcadero_Delphihttp://en.wikipedia.org/wiki/Visual_J%2B%2Bhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/Embarcadero_Delphihttp://en.wikipedia.org/wiki/Smalltalkhttp://en.wikipedia.org/wiki/Common_Language_Runtimehttp://en.wikipedia.org/wiki/James_Goslinghttp://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/Bill_Joyhttp://en.wikipedia.org/wiki/Boxing_(Computer_Science)http://en.wikipedia.org/wiki/Reification_(computer_science)
  • 8/2/2019 doc of pgp

    24/46

    generics are essentially a language syntax feature, and they do not affect the generated

    byte code, because the compiler performs type erasure on the generic type information

    after it has verified its correctness.

    Distributing Features

    By design, C# is the programming language that most directly reflects the

    underlying Common Language Infrastructure (CLI). Most of its intrinsic types

    correspond to value-types implemented by the CLI framework. However, the language

    specification does not state the code generation requirements of the compiler: that is, it

    does not state that a C# compiler must target a Common Language Runtime, or

    generate Common Intermediate Language (CIL), or generate any other specific format.

    Theoretically, a C# compiler could generate machine code like traditional compilers of

    C++ orFORTRAN.

    Some notable features of C# that distinguish it from C and C++ (and Java, where noted)

    are:

    It has no global variables or functions. All methods and members must be declared

    within classes. Static members of public classes can substitute for global variables and

    functions.

    Local variables cannot shadow variables of the enclosing block, unlike C and C+

    +. Variable shadowing is often considered confusing by C++ texts

    C# supports a strict Boolean data type, bool. Statements that take conditions, such

    as while and if, require an expression of a type that implements the true operator, such

    as the boolean type. While C++ also has a Boolean type, it can be freely converted to

    and from integers, and expressions such as ifrequire only that is convertible to bool,

    allowing being an int, or a pointer. C# disallows this "integer meaning true or false"

    approach, on the grounds that forcing programmers to use expressions that return

    exactly boolcan prevent certain types of common programming mistakes in C or C++

    such as if(a = b) (use of assignment = instead of equality ==).

    In C#, memory address pointers can only be used within blocks specifically marked

    as unsafe, and programs with unsafe code need appropriate permissions to run.

    24

    http://en.wikipedia.org/wiki/Type_erasurehttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Common_Intermediate_Languagehttp://en.wikipedia.org/wiki/Fortranhttp://en.wikipedia.org/wiki/Variable_shadowinghttp://en.wikipedia.org/wiki/Boolean_data_typehttp://en.wikipedia.org/wiki/Type_erasurehttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Common_Intermediate_Languagehttp://en.wikipedia.org/wiki/Fortranhttp://en.wikipedia.org/wiki/Variable_shadowinghttp://en.wikipedia.org/wiki/Boolean_data_type
  • 8/2/2019 doc of pgp

    25/46

    Most object access is done through safe object references, which always either point to

    a "live" object or have the well-defined null value; it is impossible to obtain a reference

    to a "dead" object (one that has been garbage collected), or to a random block of

    memory. An unsafe pointer can point to an instance of a value-type, array, string, or a

    block of memory allocated on a stack. Code that is not marked as unsafe can still store

    and manipulate pointers through the System.IntPtr type, but it cannot dereference them.

    Common Type Systems

    C# has a unified type system. This unified type system is called Common Type

    System (CTS).

    A unified type system implies that all types, including primitives such as integers, are

    subclasses of the System.Object class. For example, every type inherits a

    To String( ) method.

    Categories of data types

    CTS separate data types into two categories:

    1. Value types

    2. Reference types

    Instances of value types do not have referential identity nor referential comparison

    semantics - equality and inequality comparisons for value types compare the actual data

    values within the instances, unless the corresponding operators are overloaded. Value

    types are derived from System.ValueType, always have a default value, and can always

    be created and copied. Some other limitations on value types are that they cannot derivefrom each other (but can implement interfaces) and cannot have an explicit default

    (parameterless) constructor. Examples of value types are all primitive types, such

    as int (a signed 32-bit integer), float (a 32-bit IEEE floating-point number), char (a 16-

    bit Unicode code unit), andSystem.DateTime (identifies a specific point in time with

    nanosecond precision). Other examples are enum (enumerations) and struct (user

    defined structures).

    25

    http://en.wikipedia.org/wiki/Nullable_typehttp://en.wikipedia.org/wiki/Common_Type_Systemhttp://en.wikipedia.org/wiki/Common_Type_Systemhttp://en.wikipedia.org/wiki/Nullable_typehttp://en.wikipedia.org/wiki/Common_Type_Systemhttp://en.wikipedia.org/wiki/Common_Type_System
  • 8/2/2019 doc of pgp

    26/46

    In contrast, reference types have the notion of referential identity - each instance of a

    reference type is inherently distinct from every other instance, even if the data within

    both instances is the same.

    This is reflected in default equality and inequality comparisons for reference types,

    which test for referential rather than structural equality, unless the corresponding

    operators are overloaded (such as the case for System.String). In general, it is not

    always possible to create an instance of a reference type, nor to copy an existing

    instance, or perform a value comparison on two existing instances, though specific

    reference types can provide such services by exposing a public constructor or

    implementing a corresponding interface (such as ICloneable or IComparable).

    Examples of reference types are object (the ultimate base class for all other C#classes), System.String (a string of Unicode characters), and System.Array (a base

    class for all C# arrays).

    Standardization and Licensing

    In August, 2000, Microsoft Corporation, Hewlett-Packard and Intel Corporation co-

    sponsored the submission of specifications for C# as well as the Common Language

    Infrastructure (CLI) to the standards organization Ecma International. In December

    2001, ECMA released ECMA-334 C# Language Specification. C# became

    an ISO standard in 2003.

    ECMA had previously adopted equivalent specifications as the 2nd edition of C#, in

    December 2002.

    In June 2005, ECMA approved edition 3 of the C# specification, and updated ECMA-

    334. Additions included partial classes, anonymous methods, nullable types,

    and generics (similar to C++ templates).

    In July 2005, ECMA submitted the standards and related TRs to ISO/IEC JTC 1 via the

    latters Fast-Track process. This process usually takes 69 months.

    The C# language definition and the CLI are standardized

    underISO and Ecma standards that provide reasonable and non-discriminatory

    licensing protection from patent claims. However, Microsoft uses C# and the CLI in

    its Base Class Library (BCL) that is the foundation of its proprietary .NET framework,

    and which provides a variety of non-standardized classes (extended I/O, GUI,Web

    26

    http://en.wikipedia.org/wiki/Ecma_Internationalhttp://en.wikipedia.org/wiki/ISOhttp://en.wikipedia.org/wiki/Generic_programminghttp://en.wikipedia.org/wiki/Template_(programming)http://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/ISOhttp://en.wikipedia.org/wiki/Ecmahttp://en.wikipedia.org/wiki/Reasonable_and_Non_Discriminatory_Licensinghttp://en.wikipedia.org/wiki/Reasonable_and_Non_Discriminatory_Licensinghttp://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/Input/outputhttp://en.wikipedia.org/wiki/Windows_Formshttp://en.wikipedia.org/wiki/Web_servicehttp://en.wikipedia.org/wiki/Ecma_Internationalhttp://en.wikipedia.org/wiki/ISOhttp://en.wikipedia.org/wiki/Generic_programminghttp://en.wikipedia.org/wiki/Template_(programming)http://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/ISOhttp://en.wikipedia.org/wiki/Ecmahttp://en.wikipedia.org/wiki/Reasonable_and_Non_Discriminatory_Licensinghttp://en.wikipedia.org/wiki/Reasonable_and_Non_Discriminatory_Licensinghttp://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/Input/outputhttp://en.wikipedia.org/wiki/Windows_Formshttp://en.wikipedia.org/wiki/Web_service
  • 8/2/2019 doc of pgp

    27/46

    services, etc.). Microsoft has agreed not to sue open source developers for violating

    patents in non-profit projects for the part of the framework that is covered by the On-

    Screen Programming Optical Storage Processor (OSP).

    Microsoft has also agreed not to enforce patents relating toNovellproducts against

    Novell's paying customers with the exception of a list of products that do not explicitly

    mention C#, .NET or Novell's implementation of .NET (The Mono Project).

    In a note posted on the Free Software Foundation's news website in June 2009, Richard

    Stallman warned that he believes that "Microsoft is probably planning to force all free

    C# implementations underground using software patents", and recommended that

    developers avoid taking what he described as the "gratuitous risk" associated with

    "depend[ing] on the free C# implementations".

    The Free Software Foundation later reiterated its warnings, claiming that the extension

    ofMicrosoft Community Promise to the C# and the CLIECMA specifications would

    not prevent Microsoft from harming open-source implementations of C#, because many

    specific Windows libraries included with .NET orMono were not

    Implementations

    The reference C# compiler is Microsoft Visual C#.

    Other C# compilers exist, often including an implementation of the Common Language

    Infrastructure and the .NET class libraries up to .NET 2.0:

    The project also provides an open source C# compiler, a nearly complete

    implementation of the Common Language Infrastructure including the required

    framework libraries as they appear in the ECMA specification, and subset of some of

    the remaining Microsoft proprietary .NET class libraries up to .NET 2.0 (those not

    documented or included in the ECMA specification, but included in Microsoft's

    standard .NET Framework distribution).

    Microsoft's Rotor project (currently called Shared Source Common Language

    Infrastructure) (licensed for educational and research use only) provides a shared

    source implementation of the CLR runtime and a C# compiler, and a subset of the

    required Common Language Infrastructure framework libraries in the ECMA

    specification (up to C# 2.0, and supported on Windows XP only).

    27

    http://en.wikipedia.org/wiki/Web_servicehttp://en.wikipedia.org/wiki/Novellhttp://en.wikipedia.org/wiki/Mono_(software)http://en.wikipedia.org/wiki/Free_Software_Foundationhttp://en.wikipedia.org/wiki/Richard_Stallmanhttp://en.wikipedia.org/wiki/Richard_Stallmanhttp://en.wikipedia.org/wiki/Free_Software_Foundationhttp://en.wikipedia.org/wiki/Microsoft_Community_Promisehttp://en.wikipedia.org/wiki/C_Sharp_(programming_language)#Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Mono_(software)http://en.wikipedia.org/wiki/Microsoft_Visual_C_Sharphttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Shared_Source_Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Shared_Source_Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Shared_sourcehttp://en.wikipedia.org/wiki/Shared_sourcehttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Web_servicehttp://en.wikipedia.org/wiki/Novellhttp://en.wikipedia.org/wiki/Mono_(software)http://en.wikipedia.org/wiki/Free_Software_Foundationhttp://en.wikipedia.org/wiki/Richard_Stallmanhttp://en.wikipedia.org/wiki/Richard_Stallmanhttp://en.wikipedia.org/wiki/Free_Software_Foundationhttp://en.wikipedia.org/wiki/Microsoft_Community_Promisehttp://en.wikipedia.org/wiki/C_Sharp_(programming_language)#Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Mono_(software)http://en.wikipedia.org/wiki/Microsoft_Visual_C_Sharphttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Shared_Source_Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Shared_Source_Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Shared_sourcehttp://en.wikipedia.org/wiki/Shared_sourcehttp://en.wikipedia.org/wiki/Common_Language_Infrastructure
  • 8/2/2019 doc of pgp

    28/46

    5. OUTPUT SCREENS

    28

  • 8/2/2019 doc of pgp

    29/46

    29

  • 8/2/2019 doc of pgp

    30/46

    30

  • 8/2/2019 doc of pgp

    31/46

    31

  • 8/2/2019 doc of pgp

    32/46

    32

  • 8/2/2019 doc of pgp

    33/46

    33

  • 8/2/2019 doc of pgp

    34/46

    34

  • 8/2/2019 doc of pgp

    35/46

    35

  • 8/2/2019 doc of pgp

    36/46

    36

  • 8/2/2019 doc of pgp

    37/46

    37

  • 8/2/2019 doc of pgp

    38/46

    38

  • 8/2/2019 doc of pgp

    39/46

    39

  • 8/2/2019 doc of pgp

    40/46

    40

  • 8/2/2019 doc of pgp

    41/46

    6. TESTING AND VALIDATION

    6.1 INTRODUCTION

    System testing of software or hardware is testing conducted on a complete, integratedsystem to evaluate the system's compliance with its specified requirements. System

    testing falls within the scope of black box testing, and as such, should require no

    knowledge of the inner design of the code or logic.

    As a rule, system testing takes, as its input, all of the "integrated" software components

    that have successfully passed integration testing and also the software system itself

    integrated with any applicable hardware system(s). The purpose of integration testing is

    to detect any inconsistencies between the software units that are integrated together

    (called assemblages) or between any of the assemblages and the hardware. System

    testing is a more limited type of testing; it seeks to detect defects both within the "inter-

    assemblages" and also within the system as a whole.

    6.2 TESTING METHODOLOGIES

    Unit level testing:

    This type of testing involves tallying the specifications sent by the client with the

    product design. The process involves QC on the various intrinsic modules of the

    software.

    Integration testing:

    Testing is done related to the integration of different modules in a logical manner for

    providing a seamless effect between modules.

    System testing:

    This testing involves the testing of the whole product with respect mainly to its overall

    navigation and browsing features. It also includes GUI testing which is testing of

    different colour combinations and graphics. Functionality testing is also a part of the

    testing and takes in to account the business functions mapped within the software and

    its logical flow.

    Regression testing:

    This testing process is used to check the bugs within the software, fix them and regulate

    the flow of the programme.

    41

  • 8/2/2019 doc of pgp

    42/46

    User acceptance testing:

    This testing is done by the domain experts of the relevant software. They are required to

    do quality analysis of the same with respect to domain logic.

    Alpha testing and Beta testing:

    The program is tested by third party users but only to a limited segment to remove left

    out kinks and errors.

    Compatibility testing:

    This test is for assessing the compatibility of the software on various systems of

    different domains, platforms, and interfaces. This is solved through virtualisation,

    which helps in optimum utilisation of resources.

    Performance testing:

    This test is particularly with respect to web applications like CMS and interactive

    software. This is to gauge the performance of the different applications. Simulation

    tools are used for the same to check the stress (stress testing), the load which can be

    handled (load testing).

    API testing:

    APIs are basically used as a communication medium between the drivers and the

    systems and are based below the kernel level. This test involves testing of APIs

    (application programming interfaces).

    Security testing:

    Security testing involves security measures and penetration testing of softwares to find

    traces of SQL and HTML injections as well as cross scripting and get rid of them.

    Black box and white box testing:

    Black box testing involves testing of output with a preset input to a certain application

    and test on the basis of results only. White-box testing is testing of the overall input-

    process-output streamline which pays attention to detail.

    6.3 VALIDATION:

    42

  • 8/2/2019 doc of pgp

    43/46

    The process of evaluating software during or at the end of the development process to

    determine whether it satisfies specified requirements.

    In other words, validation ensures that the product actually meets the user's needs, and

    that the specifications were correct in the first place, while verification is ensuring thatthe product has been built according to the requirements and design specifications.

    Validation ensures that you built the right thing. Verification ensures that you built it

    right. Validation confirms that the product, as provided, will fulfill its intended use.

    From testing perspective:

    Fault - wrong or missing function in the code.

    Failure - the manifestation of a fault during execution.

    Malfunction - according to its specification the system does not meet its specifiedfunctionality.

    Within the modeling and simulation community, the definitions of validation,

    verification and accreditation are similar. Validation is the process of determining the

    degree to which a model, simulation, or federation of models and simulations, and their

    associated data are accurate representations of the real world from the perspective of the

    intended use.

    7. CONCLUSION

    43

    http://en.wikipedia.org/wiki/Modeling_and_simulationhttp://en.wikipedia.org/wiki/Modeling_and_simulation
  • 8/2/2019 doc of pgp

    44/46

    The Idea and the objectives was to bring down the Hit/Kill Probability or the Kill

    Ratio to 1:3 or 1:3.5, from the existing system were the kill probability is 1:10 and to

    destruct the targets precisely.

    An improvement in bombing accuracy occurred with the appearance of precision

    guided projectile.

    8. FUTURE ENHANCEMENT

    44

  • 8/2/2019 doc of pgp

    45/46

    Laser guidance is a technique of guiding a missile or other projectile or vehicle to a

    target by means of a laser beam. Some laser guided systems utilisebeam

    riding guidance, but most operate more similarly to Semi-Active Radar Homing

    (SARH). This technique is sometimes called SALH, for Semi-Active Laser Homing.

    With this technique, a laseris kept pointed at the target and the laser radiation bounces

    off the target and is scattered in all directions (this is known as painting the target, or

    laser painting). The missile, bomb, etc. is launched or dropped somewhere near the

    target. When it is close enough for some of the reflected laser energy from the target to

    reach it, a laser seeker detects which direction this energy is coming from and adjusts

    the projectile trajectory towards the source. While the projectile is in the general area

    and the laser is kept aimed at the target, the projectile should be guided accurately to the

    target.

    45

    http://en.wikipedia.org/wiki/Beam_ridinghttp://en.wikipedia.org/wiki/Beam_ridinghttp://en.wikipedia.org/wiki/Semi-active_radar_hominghttp://en.wikipedia.org/wiki/Laserhttp://en.wikipedia.org/wiki/Beam_ridinghttp://en.wikipedia.org/wiki/Beam_ridinghttp://en.wikipedia.org/wiki/Semi-active_radar_hominghttp://en.wikipedia.org/wiki/Laser
  • 8/2/2019 doc of pgp

    46/46

    BIBLIOGRAPHY

    1. Holmes, Richard (1988), The World Atlas of Warfare: Military Innovations

    that Changed the Course of History.

    2. Keegan , John, Vintage, A History of Warfare.