www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION 1. INTRODUCTION The Indian Launch Vehicle PSLV (Polar Satellite Launch Vehicle) is used for launching remote Sensing Satellites into polar orbit. This Launch Vehicle makes use of onboard inertial sensors, navigation, and guidance and control systems for traversing the optimum trajectory leading to the desired orbit. Large volume of data relating to onboard sensors, navigation, guidance, control and sequencing are transmitted in S-band in the form of telemetry data. This data is acquired by ground stations situated at different parts of the world which have visibility of the RF data transmitted from the satellite. Different Onboard Computers are provided for Navigation and Guidance. The Navigation Computer is known as NGP and the Guidance Computer is known as GCP. The main telemetry data will contain data generated by NGP and GCP. During ground testing of the vehicle this telemetry data is available to the checkout systems. The ground systems have to acquire this data in real time and carry out analysis. At present DOS operating system based software is used to acquire this data. This project is for carrying out data acquisition in real time using C++ under Windows NT platform and provides advanced display features like text mode, graph mode and Vehicle movement animation displays. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 1 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION 2. PROBLEM STATEMENT A satellite is an object which has been placed into orbit by human endeavor. Such objects are sometimes called artificial satellites to distinguish them from natural satellites such as the Moon. Satellites are used for a large number of purposes. Common types include military (spy) and civilian Earth observation satellites, communication satellites, navigation satellites, weather satellites, and research satellites. Space stations and human spacecraft in orbit are also satellites. Satellite orbits vary greatly, depending on the purpose of the satellite, and are classified in a number of ways. Well-known (overlapping) classes include low Earth orbit, polar orbit, and geostationary orbit. The Polar Satellite Launch Vehicle, commonly known by its abbreviation PSLV, is an expendable launch system developed and operated by the Indian Space Research Organization (ISRO). It was developed to allow India to launch its Indian Remote Sensing (IRS) satellites into sun synchronous orbits, a service that was, until the advent of the PSLV, commercially viable only from Russia. PSLV can also launch small size satellites into geostationary transfer orbit (GTO). The PSLV has four stages using solid and liquid propulsion systems alternately. The first stage is one of the largest solid-fuel rocket boosters in the world and carries 138 tonnes of Hydroxyl-terminated polybutadiene (HTPB) bound propellant with a diameter of 2.8 m. The motor case is made of maraging steel. The booster develops a maximum thrust of about 4,430 kN. Six strap-on motors, four of which are ignited on the ground, augment the first stage thrust. Each of these solid propellant strap-on motors carries nine tonnes of HTPB propellant and produces 677 kN thrust. Pitch and yaw control of the PSLV during the thrust phase of the solid motor is achieved by injection of an aqueous solution of strontium perchlorate in the nozzle to constitute Secondary Injection Thrust Vector Control System (SITVC). The injection is stored in two cylindrical aluminum tanks strapped to the solid rocket motor and pressurized with nitrogen. There are two additional small liquid engine control power plants in the first stage, the Roll Control Thrusters (RCT), fixed radially opposite one on each side, between the triplet set of strap-on boosters. RCT is used for roll control during the first stage and the SITVC in two strapon motors is for roll control augmentation. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 2 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION The second stage employs the Vikas engine and carries 41.5 tonnes (40 tonnes till C-5 mission) of liquid propellant – Unsymmetrical Di-Methyl Hydrazine (UDMH) as fuel and Nitrogen tetroxide (N2O4) as oxidizer. It generates a maximum thrust of 800 kN (724 till C-5 mission). Pitch & yaw control is obtained by hydraulically gimbaled engine (±4°) and two hot gas reaction control for roll. The third stage uses 7 tonnes of HTPB-based solid propellant and produces a maximum thrust of 324 kN. It has a Kevlar-polyamide fiber case and a submerged nozzle equipped with a flex-bearing-seal gimbaled nozzle (±2°) thrust-vector engine for pitches & yaw control. For roll control it uses the RCS (Reaction Control System) of fourth stage. The fourth and the terminal stage of PSLV has a twin engine configuration using liquid propellant. With a propellant loading of 2 tonnes (Mono-Methyl Hydrazine as fuel + Mixed Oxides of Nitrogen as oxidiser), each of these engines generates a maximum thrust of 7.4 kN. Engine is gimbaled (±3°) for pitch, yaw & roll control and for control during the coast phase uses on-off RCS. PSLV-C4 used a new lightweight carbon composite payload adapter to enable a greater GTO payload capability. The Project aims at an animated display of the Launch Vehicle Model during various Simulation Flight Runs. The Vehicle attitudes viz. angular displacements about the pitch, yaw and roll axes as well as Linear Displacements and Vehicle Commands will be used for achieving this. The Data acquired will be processed and transferred to the Document Class. A Timer will periodically update the Display Views. Three Views derived from CView are provided for Display. They are Grid Display, Graph Display and Animation Display. OpenGL API is used for realizing the PSLV Vehicle Model and for providing animations. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 3 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION 3. PRELIMINARY SURVEY 3.1 IDENTIFICATION OF NEED Requirement Specification provides the developer and the customer with the means of access quality once the software is built. It is a software engineering task that bridges the gap between system level software allocation and software design. A requirement is a feature that must be included in the new system. It enables the System Engineer to specify the software functions and performance, indicates the software interface with other system elements and establish design constraints that the software must meet. 3.2 EXISTING SYSTEM This system is used to monitor the launch of PSLV and to show the stage separation with the help of an animated model of rocket. It also shows graph and grid display to show the path of the rocket. In the existing system switching between the windows is done using command prompt which is difficult to handle. The difficulties of the system are: Not much user friendly Difficult to control by giving command Not better animation. 3.3 PROPOSED SYSTEM In the proposed system the same functions as that of existing system are provided. Also provision for playback are provided using database. For implementing animation, OpenGL is used. The proposed system use Window to implement the above specified application. The use of Window makes the application user friendly and platform independent. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 4 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION The advantages of proposed system over existing system are: It is much more user friendly It is easy to control using mouse than keyboard It provides better animation using OpenGL Platform independent 3.4 SYSTEM SYUDY 3.4.1. VC++ 6.0 Microsoft Visual C++ (often abbreviated as MSVC) is a commercial integrated development environment (IDE) product engineered by Microsoft for the C, C++, and C++/CLI programming languages. It has tools for developing and debugging C++ code, especially code written for the Microsoft Windows API, the DirectX API, and the Microsoft .NET Framework. Visual C++ 6.0 (commonly known as VC6), which included MFC 6.0, was released in 1998. The release was somewhat controversial since it did not include an expected update to MFC. Visual C++ 6.0 is still quite popular and often used to maintain legacy projects. There are however issues with this version under Windows XP, especially under the debugging mode (ex: the values of static variables do not display). The debugging issues can be solved with a patch called the "Visual C++ 6.0 Processor Pack". 3.4.2. MICROSOFT FOUNDATION CLASS The Microsoft Foundation Class Library (also Microsoft Foundation Classes or MFC) is a library that wraps portions of the Windows API in C++ classes, including functionality that enables them to use a default application framework. Classes are defined for many of the handlemanaged Windows objects and also for predefined windows and common controls. MFC was introduced in 1992 with Microsoft's C/C++ 7.0 compiler for use with 16-bit versions of Windows as an extremely thin object-oriented C++ wrapper for the Windows API. C++ was just beginning to replace C for development of commercial application software as the predominant way to interface to the API. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 5 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION One interesting quirk of MFC is the use of "Afx" as the prefix for many functions, macros and the standard precompiled header name "stdafx.h". During early development what became MFC was called "Application Framework Extensions" and abbreviated "Afx". The name Microsoft Foundation Classes (MFC) was adopted too late in the release cycle to change these references. When MFC was introduced, it provided C++ macros for Windows message-handling (via Message Maps), exceptions, run-time type identification (RTTI), serialization and dynamic class instantiation. The macros for message-handling were intended to reduce memory consumption by avoiding gratuitous virtual table use and also provide a more concrete structure for various Visual C++-supplied tools to edit and manipulate code without parsing the full language. The message-handling macros replaced the virtual function mechanism provided by C++. The macros for serialization, exceptions, and RTTI predated availability of these features in Microsoft C++ by a number of years. 32-bit versions of MFC, for Windows NT 3.1 and later Windows operating systems, used compilers that implemented the language features and updated the macros to simply wrap the language features instead of providing customized implementations, realizing upward compatibility. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 6 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 7 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Fig 1: MFC Class hierarchy DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 8 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Fig 2: MFC Class hierarchy 3.4.3 NI MEASUREMENT STUDIO National Instruments Measurement Studio is an integrated suite of measurement and automation controls, tools, and class libraries for Visual Studio 2008, Visual Studio 2005, Visual Studio .NET 2003, and Visual Studio 6.0. NI Measurement Studio dramatically reduces application development time with ActiveX and .NET controls, object-oriented measurement hardware interfaces, advanced analysis libraries, scientific user interface controls, measurement data networking, wizards, interactive code designers, and highly extensible classes. Measurement Studio delivers an interactive design approach for developing measurement and automation systems inside Visual C++ (Visual Studio 2005 and Visual Studio .NET 2003). Because the tools for Visual C++ integrate into the environment, we can use them exactly as we would native Microsoft tools. We can use the Measurement Studio AppWizard together with controls and class libraries to easily create our C++ measurement system. The AppWizard creates a project according to our specifications and includes a code template and the measurement tools we need to design our application. These tools include C++ classes for instrument control, data acquisition, data analysis, and live data transfer across the Internet. In addition, custom controls are included for creating our measurement user interface. Data object classes, which seamlessly encapsulate and pass data from acquisition to analysis to presentation, link the measurement classes to the interface controls. The Measurement Studio Enterprise and Professional editions continue to offer ActiveX controls and class libraries for development in Visual C++ 6.0 and Visual Basic 6.0. With interactive ActiveX properties pages, we can graphically configure our data acquisition and instrument control applications for analog input and output, digital I/O, GPIB, VISA, and much more. Scientific analysis libraries include routines like Fast Fourier transforms, spectral measurements, and array manipulation. Also, the of ActiveX user interface controls included with Measurement Studio are designed specifically to allow we to create virtual instrumentation systems that look and feel like real-world instrumentation. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 9 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Measurement Studio for Visual C++ is an integrated suite of classes and controls designed especially for test, measurement, and automation applications. Measurement Studio offers the tools to acquire, analyze, and present real-world data from within the Microsoft Visual Studio 6.0 environment. Measurement Studio for Visual C++ 6.0 provides: ActiveX controls for data acquisition Instrument control class libraries Analysis libraries designed specifically for engineers and scientists ActiveX user interface controls for presenting data 3.4.4. OpenGL OpenGL (Open Graphics Library) is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex threedimensional scenes from simple primitives. OpenGL was developed by Silicon Graphics Inc. (SGI) in 1992[2] and is widely used in CAD, virtual reality, scientific visualization, information visualization, and flight simulation. It is also used in video games, where it competes with Direct3D on Microsoft Windows platforms. OpenGL is managed by a non-profit technology consortium, the Khronos Group. OpenGL serves two main purposes: To hide the complexities of interfacing with different 3D accelerators, by presenting the programmer with a single, uniform interface. To hide the differing capabilities of hardware platforms, by requiring that all implementations support the full OpenGL feature set (using software emulation if necessary). DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 10 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION OpenGL's basic operation is to accept primitives such as points, lines and polygons, and convert them into pixels. This is done by a graphics pipeline known as the OpenGL state machine. Most OpenGL commands either issue primitives to the graphics pipeline, or configure how the pipeline processes these primitives. Prior to the introduction of OpenGL 2.0, each stage of the pipeline performed a fixed function and was configurable only within tight limits. OpenGL 2.0 offers several stages that are fully programmable using GLSL. OpenGL is a low-level, procedural API, requiring the programmer to dictate the exact steps required to render a scene. This contrasts with descriptive (aka scene graph or retained mode) APIs, where a programmer only needs to describe a scene and can let the library manage the details of rendering it. OpenGL's low-level design requires programmers to have a good knowledge of the graphics pipeline, but also gives a certain amount of freedom to implement novel rendering algorithms. When building animations with elements whose display is not supported in OpenGL, we need to see every detail. That’s what High Quality is for, of course. However, we may not need to see every detail in our scene when moving specific objects. OpenGL is automatically engaged when we interact with those objects, such as when scaling or positioning them, whether using sliders in the Controls window, values set in the Timeline window, or using interactors in the Composite window to move or scale the objects directly. During these interactions, masks, bump maps, reflection maps, and downstream filters may be turned off to allow OpenGL accelerated previews. The High Quality software renderer takes over when we release the mouse, and all composition elements are visible. There are times when we’ll need to see every detail while moving objects, of course. That’s easy – simply press the Option key on Macintosh or the Alt key on Windows while moving elements, and the display updates with every element displayed at High Quality, in the resolution that we’ve set. We may also choose to reverse this behavior, so that interaction leaves all elements visible by default and only hides them when holding the modifier key, in the Render tab of the Preferences. 3.4.5. UDP networking DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 11 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION The User Datagram Protocol (UDP) is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol (IP) network without requiring prior communications to set up special transmission channels or data paths. UDP is sometimes called the Universal Datagram Protocol. The protocol was designed by David P. Reed in 1980 and formally defined in RFC 768. UDP uses a simple transmission model without implicit hand-shaking dialogues for guaranteeing reliability, ordering, or data integrity. Thus, UDP provides an unreliable service and datagrams may arrive out of order, appear duplicated, or go missing without notice. UDP assumes that error checking and correction is either not necessary or performed in the application, avoiding the overhead of such processing at the network interface level. Time-sensitive applications often use UDP because dropping packets is preferable to waiting for delayed packets, which may not be an option in a real-time system. If error correction facilities are needed at the network interface level, an application may use the Transmission Control Protocol (TCP) or Stream Control Transmission Protocol (SCTP) which are designed for this purpose. UDP's stateless nature is also useful for servers that answer small queries from huge numbers of clients. Unlike TCP, UDP is compatible with packet broadcast (sending to all on local network) and multicasting (send to all subscribers). Common network applications that use UDP include: the Domain Name System (DNS), streaming media applications such as IPTV, Voice over IP (VoIP), Trivial File Transfer Protocol (TFTP) and many online games. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 12 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION 4. FEASIBILITY STUDY Feasibility study is made to see if the project on completion will serve the purpose of the organization for the amount of work, effort and the time that spend on it. Feasibility study lets the developer foresee the future of the project and the usefulness. A feasibility study of a system proposal is according to its workability, which is the impact on the organization, ability to meet their user needs and effective use of resources. Thus when a new application is proposed it normally goes through a feasibility study before it is approved for development. The document provide the feasibility of the project that is being designed and lists various areas that were considered very carefully during the feasibility study of this project such as Technical, Economic and Operational feasibilities. The following are its features: 4.1 TECHNICAL FEASIBILITY The system must be evaluated from the technical point of view first. The assessment of this feasibility must be based on an outline design of the system requirement in the terms of input, output, programs and procedures. Having identified an outline system, the investigation must go on to suggest the type of equipment, required method developing the system, of running the system once it has been designed. Technical issues raised during the investigation are: Does the existing technology sufficient for the suggested one? Can the system expand if developed? The project should be developed such that the necessary functions and performance are achieved within the constraints. The project is developed within latest technology. Through the technology may become obsolete after some period of time, due to the fact that never version of same software supports older versions, the system may still be used. So there are minimal DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 13 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION constraints involved with this project. The system has been developed using VC++ and OpenGL, the project is technically feasible for development. 4.2 ECONOMIC FEASIBILITY The developing system must be justified by cost and benefit. Criteria to ensure that effort is concentrated on project, which will give best, return at the earliest. One of the factors, which affect the development of a new system, is the cost it would require. The following are some of the important financial questions asked during preliminary investigation: The costs conduct a full system investigation. The cost of the hardware and software. The benefits in the form of reduced costs or fewer costly errors. The proposed system will fulfill all these requirements over the existing system taking account of economical feasibility. 4.3 BEHAVIORAL FEASIBILITY This includes the following questions: Is there sufficient support for the users? Will the proposed system cause harm? The project would be beneficial because it satisfies the objectives when developed and installed. All behavioral aspects are considered carefully and conclude that the project is behaviorally feasible. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 14 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION 5. SOFTWARE PROCESS MODEL 5.1 Prototyping Model The Prototyping Model is a systems development method (SDM) in which a prototype (an early approximation of a final system or product) is built, tested, and then reworked as necessary until an acceptable prototype is finally achieved from which the complete system or product can now be developed. This model works best in scenarios where not all of the project requirements are known in detail ahead of time. It is an iterative, trial-and-error process that takes place between the developers and the users. The steps in the Prototyping Model: 1. The new system requirements are defined in as much detail as possible. This usually involves interviewing a number of users representing all the departments or aspects of the existing system. 2. A preliminary design is created for the new system. 3. A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product. 4. The users thoroughly evaluate the first prototype, noting its strengths and weaknesses, what needs to be added, and what should to be removed. The developer collects and analyzes the remarks from the users. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 15 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION 5. The first prototype is modified, based on the comments supplied by the users, and a second prototype of the new system is constructed. 6. The second prototype is evaluated in the same manner as was the first prototype. 7. The preceding steps are iterated as many times as necessary, until the users are satisfied that the prototype represents the final product desired. 8. The final system is constructed, based on the final prototype. 9. The final system is thoroughly evaluated and tested. Routine maintenance is carried out on a continuing basis to prevent large-scale failures and to minimize downtime. Advantages of Prototyping There are many advantages to using prototyping in software development, some tangible some abstract. Reduced time and costs: Prototyping can improve the quality of requirements and specifications provided to developers. Because changes cost exponentially more to implement as they are detected later in development, the early determination of what the user really wants can result in faster and less expensive software. Improved and increased user involvement: Prototyping requires user involvement and allows them to see and interact with a prototype allowing them to provide better and more complete feedback and specifications. The presence of the prototype being examined by the user prevents many misunderstandings and miscommunications that occur when each side believe the other understands what they said. Since users know the problem domain better than anyone on the development team does, increased interaction can result in final product that has greater tangible and intangible quality. The final product is more likely to satisfy the users desire for look, feel and performance. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 16 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Disadvantages of Prototyping Insufficient analysis: The focus on a limited prototype can distract developers from properly analyzing the complete project. This can lead to overlooking better solutions, preparation of incomplete specifications or the conversion of limited prototypes into poorly engineered final projects that are hard to maintain. Further, since a prototype is limited in functionality it may not scale well if the prototype is used as the basis of a final deliverable, which may not be noticed if developers are too focused on building a prototype as a model. Expense of implementing prototyping: the start up costs for building a development team focused on prototyping may be high. Many companies have development methodologies in place, and changing them can mean retraining, retooling, or both. Many companies tend to just jump into the prototyping without bothering to retrain their workers as much as they should. Requirements Gathering Quick Design Refine requirements incorporating customer suggestion Build Prototype Customer evaluation prototype Design DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 17 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Implement Test Maintain 6. SOFTWARE REQUIREMENT SPECIFICATION After the analyst has collected all the required information regarding the software, to remove all incompleteness, inconsistency and anomalies, he starts to systematically organize the requirements in the form of an SRS document. This usually contains all the user requirements in the form of an informal force. Among all the documents produced during a software development life cycle, writing SRS document is probably the toughest. Some of the important categories of users of the SRS document and their needs is as follows. Software developers: The software developers refer to the SRS document to make sure that they develop exactly what the customer requires. Test engineers: Their goal is to ensure that the requirements are understandable from functionality point of views, so that they can test the software and validate its working. They need that the functionality is clearly described and input and output data be identified precisely. User documentation writer : Their goal is reading the SRS document is to ensure that they understand the document well enough to be able to write the user modules Project manager: They want to ensure that they can estimate the cost easily by retuning to the SRS document. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 18 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Maintenance engineers: The SRS document helps the maintenance engineer to understand the functionality of the system. An SRS document should clearly specify Functional Requirements and the Non- Functional Requirements 6.1 Display on window R1. Display different views Description: The display function first determines which view should be displayed on the screen. The choice will be chosen by the user R1.1 Display grid view Input: data from network Output: process data in grid form R1.2 Display graph view Input: data from network Output: process data in graph form R1.3 Display animation view Input: data from network Output: display the movement of launch vehicle 6.1 Data Acquisition Input Data: Data Stream The input data which is byte oriented is available as frames and sub frames. Each frame starts with a sync pattern and is of a fixed block length. A specific number of such frames constitute a sub frame. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 19 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION The data required to be stripped in real time consist of the outputs of Navigation computation and Command events which occur during the course of the flight. This information originates from Onboard Navigation and Guidance computers and some of these parameters are available as minor cycle data and some are available at major cycle data. The parameters as given below should be stripped 1. Range Time 2. Theta 3. Phi 4. Psi 5. Range RX 6. Range RY 7. Range RZ 8. Commands during Flight The telemetry stream consists of parameters as well as data from onboard computations. Here we are concerned with the outputs of navigation computations and sequencing commands output from onboard. 6.2 Parameter Processing The parameters mentioned in 6.1 are planned to be used in the display and animations. The parameter position and scale factors as per NGP and GCP packet details are as per the details given in Telemetry Reference document . 6.3 Parameter Display in Grid Form The above parameters should be displayed in a Grid. Display updates periodicity - 500 millisecs 6.4 Parameter Display in Graph Any three of the above parameters should be displayed in a graph. The graph should display all data points. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 20 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION 6.5 Animated Display of Vehicle Movement The PSLV Vehicle should be displayed in a View Window. The vehicle consisting of various stages viz First stage solid motor PS1,strapon rockets, Second stage PS2 ,Third stage PS3, Fourth Stage PS4 ,Satellite and Heat Shield should be displayed with graphics. The vehicle movements in the three axes as well as its movement should be pictorially shown. The stage separation events should be displayed as and when it occurs. 6.6 Playback of Stored Telemetry Data There has to be provision to playback stored telemetry data giving the same visual effect of real time telemetry data . The different views should be displayed as if the data is continuously coming. There should be provision to to pause the playback and continue later. 7. SYSTEM DESIGN 7.1 DESIGN System Design is the process of developing specifications for a candidate system that meet the criteria established in the system analysis. Major step in the system design is the preparation of the input forms and the output reports in a form applicable to the user. The main objective of the system design is to use the package easily by any computer operator .System design is the creative act of invention, developing new inputs, a database, offline files, methods, procedures and output for processing business to meet an organization objective. System design builds information gathered during the system analysis. Design is the first step into the development phase for any engineered product or system. Design is a creative process. A good design is the key to effective system. The term “design” is defined as “the process of applying various techniques and principles for the purpose of defining a process or a system in sufficient detail to permit its physical realization”. It may be defined as a process of applying various techniques and principles for the purpose of defining a device, a process or a system in sufficient detail to permit its physical realization. Software DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 21 6 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION design sits at the technical kernel of the software engineering process and is applied regardless of the development paradigm that is used. The system design develops the architectural detail required to build a system or product. As in the case of any systematic approach, this software too has undergone the best possible design phase fine tuning all efficiency, performance and accuracy levels. The design phase is a transition from a user oriented document to a document to the programmers or database personnel. System design goes through two phases of development: Logical and Physical Design. 7.1.1 LOGICAL DESIGN The logical flow of a system and define the boundaries of a system. It includes the following steps: Reviews the current physical system – its data flows, file content, volumes, frequencies etc. Prepares output specifications – i.e.it determines the format, content and Frequency of reports. Prepares input specifications – format, content and most of the input functions. Prepares edit, security and control specifications. Specifies the implementation plan. Prepares a logical design walk through of the information flow, output, input, Controls and implementation plan. Reviews benefits, costs, target dates and system constraints. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 22 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION 7.1.2 PHYSICAL DESIGN Physical system produces the working systems by define the design specifications that tell the programmers exactly what the candidate system must do. It includes the following steps. Design the physical system. Specify input and output media. Design the database and specify backup procedures. Design physical information flow through the system and a physical design Walk through. Plan system implementation. Prepare a conversion schedule and target date. Determine training procedures, courses and timetable. Devise a test and implementation plan and specify any new hardware/software. Update benefits , costs , conversion date and system constraints 7.2 INPUT DESIGN Input design is the process of converting the user-oriented inputs to a computer – based format. The design for handling input specifies how data are accepted for computer processing. Input design is a part of overall system design that needs careful attention and it includes specifying the means by which actions are taken. A system user interacting through a workstation must be able to tell the system whether to accept input produce a report or end processing. The collection of input data is considered to be the most expensive part of the system design .Since the inputs have to be planned in such a manner so as to get the relevant information extreme care is taken to obtain the information .If the data going into the system is incorrect then the processing and outputs will magnify these errors. The major activities carried out are Collection of needed data from the source. Conversion of data into computer accepted form Verification of converted data. Checking data for accuracy. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 23 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION The input is given by using a network program from the server. 7.3 OUTPUT DESIGN The output design has been done so that the results of processing should be communicated to the user .Effective output design will improve the clarity and performance of outputs. Output is the main reason for developing the system and the basis on which they will evaluate the usefulness of the application. Output design phase of the system is concerned with the convergence of information to the end user-friendly manner .The output design should be efficient, intelligible so that the system relationships with the end user is improved and thereby enhancing the process of decision making. The output screens used by the Launch Vehicle Animation Project are: Animation View: It gives the animation view of the satellite launch vehicle. Graph View: Different processed parameters are displayed in graph form. Grid View: Different processed parameters are displayed in grid form. 7.4 DATABASE DESIGN The overall objective in the development of data base technology has been to treat data as an organizational resource and as an integrated whole. Data base management system allows data to be protected and organized separately from other resources .Database is an integrated collection of data .This is the difference between logical and physical data. LIST OF TABLES Table 1: Flight_Data Purpose: To store parameters details for flight of satellite launch vehicle. Field Name Data Type Size Constraint Description DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 24 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Time Time after the Float 50 Primary Key launch of vehicle Theta GlFloat 50 Pitch movement of the vehicle Phi GlFloat 50 Yaw movement 7.5 USER of the vehicle Psi GlFloat 50 rotation of the INTERF ACE DESIGN vehicle Xpose GlFloat 50 X position of The the vehicle interface design Ypose GlFloat 50 Y position of the vehicle Zpose GlFloat 50 describes how Z position of software the vehicle communic ates within itself, to systems that inter-operate with it and with humans who use it. An interface implies a flow of information. Therefore the data flow diagrams provide the information required for the interface design. User interface is the doorway into an interactive software application. The design of human interfaces demands an understanding of human factors and interface technology. Human perception, the skill level, the behavior profile of the user and the overall tasks that user must conduct are all factors in the design of interface. The interface tells the system what actions to take for entering changing or retrieving data. It allows the user to accomplish processing actions or activities in an effective manner .they perceive as being a natural and reasonable way to request and carry out our DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 25 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION activities. The interface should be in such a way as to include the use of methods that will not grow tiresome and unacceptable to frequent users who become familiar with the system; but that which will facilitate equally effective use by novice users. It should avoid user errors i.e. it should prevent any action that will create a processing error or that interrupts the expected actions of the computer systems. System analyst frequently considers the interface as a window to the system, a view of the portion of the entire systems features .Users in contrast; tend to view the interface as the entire system. Their experience with the interface forms the basis for judging the system’s features. If the interface does not aloe easy entry of data or initiation of actions, with simplicity and without risk of making serious mistakes, we cannot expect users and others who are affected by the system to judge it to be acceptable. 7.6 UML DESIGN Introduction to UML The Unified Modeling Language (UML) is one of the most exiting tools in the world of system development today. The UML enables system builders to create blueprints to capture their visions in a standard easy-to understand way and communicate them to others. Before the advent of the UML system development was often a hit or miss proportion. System analysts would try to access the needs of their clients, generate a requirement analysis in some notation that that analyst understood give the analysis to the programmer or team of programmers, and hope that the final product was the system client wanted. Since the system development is human activity, the potential for errors is looked at every stage of the process. The analyst might have produced a document the client couldn’t comprehend. The result of analysis might not have been clear for the programmers, who subsequently might have created a program that was difficult to use and not a solution to client’s original problem. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 26 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION The three main elements of the language are : UML ‘s basic building blocks , the rules that dictate how these blocks may be put together and the common mechanisms that apply throughout the UML . A diagram is a graphical representation of a set of elements , most often rendered as a connected graph of vertices and arcs. Several kinds of diagrams can be created using the UML UML Designs includes Use-Case Diagram Sequence Diagram Activity Diagram Class Diagram 7.6.1 USE-CASE DIAGRAMS It identifies the functionality provided by the system (Use-Cases ) , the users who interact with the system (Actors) , and the association between the users and the functionality .Use-Cases are used in the analysis phase of software development to articulate the high-level requirements of the system. The primary goals of Use-Case Diagrams include : Providing a high-level view of what the system does. Identifying the users (“actors”) of the system. Determining areas needing human-computer interfaces. Use-Case extends beyond pictorial diagrams. These are used for modeling the dynamic aspects of the system. A Use Case is a description of a system’s behavior from a user’s standpoint. It is a tried-and-true technique for gathering system requirements from a user’s point of view. In use case representation a stack figure is used to represent an actor and ellipse to represent a use case module. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 27 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Use-Case Diagram Components Use Case – Use Cases are drawn using ovals. These ovals are labeled with verbs that represent the system’s functions. System – System boundaries are drawn using a rectangle that contains use cases. Actors – Actors are the users of the system. Relationships – Illustrates relationships between an actor and a use case with a simple line. USE-CASE DIAGRAMS PSLV animation DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 28 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Network data from file Grid view Graph view Animation view Fig 3. Use case diagram PSLV animation 7.6.2 SEQUENCE DIAGRAMS The UML sequence diagram shows how objects communicate with one another overtime. The sequence diagrams consist of objects represented as named rectangles, message represented as a solid hyphen line arrows and time represented as a vertical progression. In a sequence diagram the object are laid out from left to right across, the top. Each object’s lifeline is a dashed line extending downwards from the object. A solid line with arrow head connects one lifeline to another and represents a message from one object to another time starts at the top and proceeds downward although part of the sequence diagram symbol set. Sequence Diagram Components DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 29 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Class roles – Class roles describes the way an object will behave in context. The UML object symbol can be used to illustrate class roles, but not for listing object attributes. Activation - Activation boxes represents the time an object needs to complete a task. Messages – Messages are arrows that represent communication between objects. Half – arrow lines are used to represent asynchronous messages. Asynchronous messages are send from an object that will not wait for a response from the receiver before continuing tasks. Lifelines – Lifelines are vertical dashed lines that indicate the object’s presents overtime. Destroying Objects – Objects can be terminated early using an arrow labeled “ <<destroy>>” that points to an X. Loops – A repetition or loop within a sequence diagram is depicted as a rectangle. Place the condition for exiting the loop at the bottom left corner in square brackets []. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 30 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Sequence Diagram of Acquisition and Display Fig 4: sequence diagram of acquisition and display DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 31 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Sequence diagram for updating data Fig 5: Sequence diagram for updating DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 32 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION 8. HARDWARE & SOFTWARE SPECIFICATION 8.1 HARDWARE SPECIFICATION The selection of hardware is very important in the existence and proper working of any software . When selecting hardware , the size and capacity requirements are also important . Requirements X86 Compatible processor with 1.7 GHz Processor Clock speed 128 MB or more RAM 20 GB or more Hard disk VGA/SVGA Monitor 104 Keys Keyboard 2buttons/3buttons Mouse DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 33 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION 8.2 SOFTWARE SPECIFICATION: Technology Tools and respective versions Programming Language VC++ Animation software OpenGL Operating System Windows NT Integrated Development Environment(IDE) Visual studio Database Microsoft access DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 34 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION 9 DATA FLOW DIAGRAM The Data Flow Diagrams are the main process- modeling tool for information systems. DFDs represent a situation from the view point of the data and they are a technique to assist the analysis of processes in the system. A DFD graphically document the boundaries of a system, showing the movement of information between a system and its environment as well as information flows within the system there by aiding the communication between users and developers. The transformation of data from input to output can be described logically, independent of physical components. The processes are represented by circles, arrows annotated with the data name represent data flows, double rectangles represent data sources and it is a net originator or consumer of data. The DFDs may be used to represent a system of software at any level of abstraction. They can be partitioned into different levels representing the increasing information flow and functional details. DFDs thus provide a mechanism for functional modeling as well as information flow modeling. The top level or level 0 DFD known as Context Diagram, consists of a single process which describes the system at the highest level of abstraction. The further levels showing more details are depicted by Level 1, Level 2 etc. The DFDs of our system are shown below: LEVEL 0 (CONTEXT DIAGRAM) USER Process data DISPLAY DATA DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 35 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION LEVEL 1 (DFD) PROCESS DATA DATA FILE GRID VIEW GRAPH VIEW ANIMATION VIEW DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 36 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION 10. TESTING Software Testing is the process of executing software in a controlled manner, in order to answer the question - Does the software behave as specified? Software testing is often used in association with the terms verification and validation. Validation is the checking or testing of items, includes software, for conformance and consistency with an associated specification. Software testing is just one kind of verification, which also uses techniques such as reviews, analysis, inspections, and walkthroughs. Validation is the process of checking that what has been specified is what the user actually wanted. Validation : Are we doing the right job? Verification : Are we doing the job right? Software testing should not be confused with debugging. Debugging is the process of analyzing and localizing bugs when software does not behave as expected. Although the identification of some bugs will be obvious from playing with the software, a methodical approach to software testing is a much more thorough means for identifying bugs. Debugging is therefore an activity which supports testing, but cannot replace testing. Other activities which are often associated with software testing are static analysis and dynamic analysis. Static analysis investigates the source code of software, looking for problems and gathering metrics without actually executing the code. Dynamic analysis looks at the behavior of software while it is executing, to provide information such as execution traces, timing profiles, and test coverage information. Testing is a set of activity that can be planned in advanced and conducted systematically. Testing begins at the module level and work towards the integration of entire computers based system. Nothing is complete without testing, as it vital success of the system testing objectives, there are several rules that can serve as testing objectives. They are Testing is a process of executing a program with the intend of finding an error. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 37 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION A good test case is one that has high possibility of finding an undiscovered error. A successful test is one that uncovers an undiscovered error. If a testing is conducted successfully according to the objectives as stated above, it would uncovered errors in the software also testing demonstrate that the software function appear to be working according to the specification, that performance requirement appear to have been met. There are three ways to test program: For correctness For implementation efficiency For computational complexity Test for correctness are supposed to verify that a program does exactly what it was designed to do. This is much more difficult than it may at first appear, especially for large programs. 10.1 TEST PLAN A test plan implies a series of desired course of action to be followed in accomplishing various testing methods. The Test Plan acts as a blue print for the action that is to be followed. The software engineers create a computer program, its documentation and related data structures. The software developers is always responsible for testing the individual units of the programs, ensuring that each performs the function for which it was designed. There is an independent test group (ITG) which is to remove the inherent problems associated with letting the builder to test the thing that has been built. The specific objectives of testing should be stated in measurable terms. So that the mean time to failure, the cost to find and fix the defects, DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 38 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION remaining defect density or frequency of occurrence and test work-hours per regression test all should be stated within the test plan. The levels of testing include: Unit testing Integration Testing Data validation Testing Output Testing 10.2 UNIT TESTING Unit testing focuses verification effort on the smallest unit of software design – the software component or module. Using the component level design description as a guide, important control paths are tested to uncover errors within the boundary of the module. The relative complexity of tests and uncovered scope established for unit testing. The unit testing is white-box oriented, and step can be conducted in parallel for multiple components. The modular interface is tested to ensure that information properly flows into and out of the program unit under test. The local data structure is examined to ensure that data stored temporarily maintains its integrity during all steps in an algorithm’s execution. Boundary conditions are tested to ensure that all statements in a module have been executed at least once. Finally, all error handling paths are tested. The white box testing is also known as path testing. Tests of data flow across a module interface are required before any other test is initiated. If data do not enter and exit properly, all other tests are moot. Selective testing of execution paths is an essential task during the unit test. Good design dictates that error conditions be anticipated and error handling paths set up to reroute or cleanly terminate processing when an error does occur. Boundary testing is the last task of unit testing step. Software often fails at its boundaries. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 39 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Unit testing was done in Sell-Soft System by treating each module as separate entity and testing each one of them with a wide spectrum of test inputs. Some flaws in the internal logic of the modules were found and were rectified. 10.3 INTEGRATION TESTING Integration testing is systematic technique for constructing the program structure while at the same time conducting tests to uncover errors associated with interfacing. The objective is to take unit tested components and build a program structure that has been dictated by design. The entire program is tested as whole. Correction is difficult because isolation of causes is complicated by vast expanse of entire program. Once these errors are corrected, new ones appear and the process continues in a seemingly endless loop. After unit testing in Sell-Soft System all the modules were integrated to test for any inconsistencies in the interfaces. Moreover differences in program structures were removed and a unique program structure was evolved. 10.4 VALIDATION TESTING OR SYSTEM TESTING This is the final step in testing. In this the entire system was tested as a whole with all forms, code, modules and class modules. This form of testing is popularly known as Black Box testing or System testing. Black Box testing method focuses on the functional requirements of the software. That is, Black Box testing enables the software engineer to derive sets of input conditions that will fully exercise all functional requirements for a program. Black Box testing attempts to find errors in the following categories; incorrect or missing functions, interface errors, errors in data structures or external data access, performance errors and initialization errors and termination errors. The different Test Cases are: Guarantee that all independent parts within a module have been exercised at least once. Exercise all logical decisions on their true/false side. Exercise all loops at their boundaries and within their operational bounds. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 40 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Exercise internal data structure to ensure their validity. Each module was tested and the tested modules were linked and integration test was carried out. Test Data The system analyst will provide the test data, specially designed to show that the system will operate successfully in all its aspects and produce expected results under expected conditions. Preparation of test data and the checking of results should be carried out in conjunction with the appropriate users and operational departments. Also the extend to which the system should be tested must be planned. 10.5 OUTPUT TESTING OR USER ACCEPTANCE TESTING The system considered is tested for user acceptance; here it should satisfy the firm’s need. The software should keep in touch with perspective system; user at the time of developing and making changes whenever required. This done with respect to the following points Input Screen Designs, Output Screen Designs, Online message to guide the user and the like. The above testing is done taking various kinds of test data. Preparation of test data plays a vital role in the system testing. After preparing the test data, the system under study is tested using that test data. While testing the system by which test data errors are again uncovered and corrected by using above testing steps and corrections are also noted for future use. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 41 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION 11. ALGORITHM In mathematics and computer science, and related subjects, an algorithm is an effective method for solving a problem using a finite sequence of instructions. Algorithms are used for calculation, data processing, and many other fields. Each algorithm is a list of well-defined instructions for completing a task. Starting from an initial state, the instructions describe a computation that proceeds through a well-defined series of successive states, eventually terminating in a final ending state. The transition from one state to the next is not necessarily deterministic; some algorithms, known as randomized algorithms, incorporate randomness. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 42 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION STEP 1: Initialize card and start acquisition of data DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 43 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION STEP 2: check if new data packet is available If not stop data acquisition Else 1. Copy data from card memory to local buffer 2. Process data in local buffer 3. Update all three views 4. Return to step 2 STEP 3: Stop acquisition Step 1: check if local data buffer is over If yes return to the calling function DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 44 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Else 1. Validate frame id 2. Check frame id error 3. Strip the required data from frame 4. Copy the data to document class buffer Step 2: Set new data flag Step 3: Stop Step 1: initiate grid ActiveX control in grid view DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 45 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Step 2: initialize no of rows and columns Step 3: display legends Step 4: stop Step 1: initialize NI Graph, Activex control in graph view Step 2: initialized axes range and title DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 46 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Step 3: stop Step1: check if acquisition is over If no Get new values of attribute and range Apply rotation and translation Draw the vehicle with translation and rotation Else Exit from display DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 47 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION 12. SYSTEM IMPLEMENTATION AND MAINTENANCE 12.1 SYSTEM IMPLEMENTATION Implementation is the stage in the project where the theoretical design is turned into a working system and is giving confidence on the new system for the uses that it will work efficiently and effectively. It involves careful planning, investigation, of the current system and its constraints on implementation, design of methods to achieve the changeover, an evaluation of change over methods. Apart from planning major task of preparing the implementation are education and training of user. The more complex system being implemented, the more involved will be the system analysis and the design effort required just for implementation. On implementation coordinating committee based on policies of individual organization has been appointed. The implementation process begins with preparing the plan for the implementation for the system. According to this plan, the activities are to be carried out, discussion made regarding the equipment and resources and the additional equipment as to be acquired to implement the new system. The implementation is the final and important phase. The most critical stage in achieving successful new system and in giving the user confidence that the new system will work and be effective. The system can be implemented only after thorough testing is done and if it found to working according to the specification. This method also offers the greatest security since the old system can take over if the errors are found or inability to handle certain type of transaction while using the new system. IMPLEMENTATION PLAN PREPARATION Implementation includes all those activities that take place to convert from old system to new. At this stage the theoretical design is turned into a working system. The crucial stage in achieving a successful new system and giving confidence on the system for the users that will work efficiently and effectively. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 48 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION The implementation involves careful planning, investigation, of the current system and its constraints on implementation, design of methods to achieve the change over Training of staff in the overall procedures, and evaluation of changeover methods. The more complex the system is being implemented, the more involved will be system analysis and design effort required just for implementation. There are three types of implementations: Implementation of a computer system to replace the manual system .The problems encountered are converting files, training users, creating accurate files, and verifying printouts for integrity. Implementation of a computer system to replace an existing one. This is usually a difficult conversion .If not properly planned there can be many problems .Some larger computer systems have taken as long as a year to convert. Implementation of a modified application to replace an existing one using the same computer. This type of conversion is relatively easy to handle, provided there are no major changes in files. 12.1.1 PROGRAM CODE PREPARATION When considered as a step in software engineering, coding is viewed as a natural consequence of design. However, programming language characteristics and coding style can profoundly affects software quality and maintainability. The coding steps translate a detail design representation into a programming language realization. The translation process continues when a compiler accepts source code as input and produces machine- independent object code as output. The initial translation step in detail design to programming language is a primary concern in the software engineering context. Improper interpretation of a detail design specification can lead to erroneous source code. Psychological and technical characteristics of a programming language affect the translation from design and also the effort required to test and maintain software. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 49 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Style is an important attribute of source code and can determine the intelligibility of a program. The elements of a style include internal documentation, methods for data declaration, procedures for statement construction, and I/O coding and declaration. In all cases, simplicity and clarity are key characteristics. And off shoot of coding style is execution time and / or memory efficiency that is achieved. Coding is the phase in which we actually write program using a programming language. In the coding face design must be translated into a machine readable form. If design is performed in a detailed manner coding can be accomplished mechanistically. It was the only recognized development phase in early or unsystematic development processes, but it is just one of several phases in a waterfall process. The output of this phase is an implemented and tested collection of modules. 12.1.2 CODE EFFECIENCY Usage of VC++ and MFC technology tends to trade expediency for efficiency. Coding in this project is done in such a better way, which means it is not the most efficient code possible. However, as stated, for the indented purpose the performance attributes are considered adequate. The only efficiency considered so far as code is concerned that makes sense is the efficiency in generating codes (i.e. coding productivity). The need for making code compact and concise may be countered productive when maintenance is undertaken. 12.2 SYSTEM MAINTENANCE Maintenance corresponds to restoring something to original conditions, covering a wide range of activities including correcting codes and design errors and updating user support. Maintenance is performed most often to improve the existing software rather than to a crisis or risk failure. Maintenance is continued till the product is reengineered or deployed to another platform. Maintenance is also done based on fixing the problems reported, changing the interface with other software or hardware enhancing the software. The software maintenance is an important one in the software development because we have to spend more efforts for maintenance. Software maintenance is to improve the quality of the software according to the requirements. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 50 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION After a system is successfully implemented, it should be maintained in a proper manner. The need for system maintenance is to make the system adaptable to the changes in the system environment .There may be social, economical, or technical changes, which affect the system being implemented. Software product enhancements may involve providing new functional capabilities, improving user displays and mode of interaction, upgrading the performance characteristics of the system. So only through proper system maintenance procedures, the system can be adapted to cope with these changes. We may define maintenance by describing four activities that are undertaken, after a program is released for use. The first maintenance activity occurs because it is unreasonable to assume that software testing will uncover all latent errors in a large software system. During the use of any large program, errors will occur and be reported to the developer. The process that includes the diagnosis and correction of one or more errors is called corrective maintenance. The second activity that contributes to a definition to maintenance occurs because of the rapid change that is encountered in every aspects of computing. Therefore, adaptive maintenance – an activity that modifies the software to properly interface with a changing environment is both necessary and commonplace. The third activity that may be applied to a definition of maintenance occurs when a software package is successful. As the software is used, recommendations for few capabilities, modifications to existing functions and general enhancements are received from users. To satisfy requests in this category, perfective maintenance is performed. This activity accounts for the majority of all efforts expended on software maintenance. The fourth maintenance activity occurs when software is changed to improve future maintainability or reliability, or to provide a better basis for future enhancements. Often called preventive maintenance, this activity is characterized by reverse engineering and re-engineering techniques. In the software maintenance to improve our software there are two types available Reverse Engineering Re- Engineering DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 51 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION By using these two techniques, quality of the software can be improved. Reverse Engineering means that to update the existing software. Re – Engineering means that entirely modifying the existing software. Maintenance activities involved the following three concepts. Enhancement Adapting Correcting problems. Software product Enhancement may involve providing new functional capabilities, improving user displays and modes of integration, updating external documents and internal documentation, or updating the performance characteristics of a system DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 52 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION 13. SCREENSHOTS Fig 6. Before ignition DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 53 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Fig 7. Initial screen DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 54 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Fig 8. Liftoff DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 55 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Fig 9. Pitch starts DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 56 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Fig 10. Strap on motor separation DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 57 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Fig 11. Vehicle movement DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 58 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Fig 12. PS1 separation DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 59 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Fig 13. Heat shield separation DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 60 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Fig. 14 grid view DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 61 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION Fig 15. Graph view DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 62 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION 14. SCOPE OF FUTURE ENHANCEMENT In future all the launch will be tested by using the animated model of launch vehicle. The animation would provide the exact simulation of actual vehicle and various situations can be studied before the actual rocket is launched. In future system the data will be encoded before transmitting, to provide better security. In future better animation software and graphic library would provide better simulation of environment and vehicle. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 63 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION 15. CONCLUSION With increasing number of rocket launch and demand for better and cheaper launch vehicle, the animation of launch vehicle would provide better and efficient mechanism for testing the launch vehicle before they are actually launched. With the help of this project we will be able to check all the situations and take corrective measures to avoid any errors during launch. Many more advancements are possible in the field of launch vehicle animation; we believe that the project will provide the basic model for the enhancement of existing technology in future. DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 64 www.engineeringminiprojects.com LAUNCH VEHICLE ANIMATION 16. BIBILIOGRAPHY 1. MFC C++ Classes by Shirley Wodtke bpb publications 2. VC++ ,COM and Beyond by Yashwant kanetkar bpb publications 3. OpenGL SuperBible by Richard .S.Wright TechMedia Publications 4. Computer Graphics using OpenGL by F.S.Hill ,Jr PEARSON Edducation 5. Teach Yourself UML by Joseph Schmuller TechMedia 6. Teach Yourself VC++ In 21 Days by Davis Chapman 7. Using OpenGL In Visual C++ by Alan Oursland 8. OpenGL Windows Tutorial by Jeff Molofee DEPT. OF COMPUTER SCIENCE AND ENGINEERING www.engineeringminiprojects.com 65