Iterative Enhancement Model as Software Development Life Cycle (SDLC) Model.

Iterative Enhancement Model Why iterative enhancement? This model allowed us to backtrack and rectify and append the application according to the feedback received at nascent stages. REQUIREMENTS: A Software Requirements Specification (SRS) is a complete description of the behaviour of the system to be developed. DESIGN: Software design is a process of problem-solving and planning for a software solution. After the purpose and specifications of software are determined, software developers will design or employ designers to develop a plan for a solution. It includes low-level component and algorithm implementation issues as well as the architectural view. IMPLEMENTATION: Implementation is the realization of an application, or execution of a plan. Many implementations may exist for a given specification or standard. TESTING: Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing also provides an objective, independent view of the software to allow the business to appreciate and

understand the risks at implementation of the software. Test techniques include the process of executing a program or application with the intent of finding software bugs. DEPLOYMENT AND MAINTENANCE: Deployment starts after the code is appropriately tested, is approved for release and sold or otherwise distributed into a production environment. Maintaining and enhancing software to cope with newly discovered problems or new requirements can take far more time than the initial development of the software. Different parts of the project can be in various phases at the same time, with some components undergoing analysis while others advanced stages. It consists of the following activities:  Preliminary investigation  Determination of system requirements  Design of system  Development of software  System testing  Implementation and evaluation

Two main steps of development are:
 Analysis  Design

System analysis is conducted with the following objectives in mind:  Identify the user’s need.  Evaluate the system concept for feasibility.  Perform economic and technical analysis.  Allocate functions to hardware, software, people, database, and other system elements.  Establish cost and schedule constraints.  Create a system definition that forms the foundation for all subsequent engineering work. Both hardware and software expertise are required to successfully attain the objectives listed above.

System Requirements Review & Validation

User Requirement Specifications

Software Requirements Review & Validation

Software Requirements

Preliminary Design Review & Validation

Detailed Functional Specifications

Detailed Design Review & Validation

Global Implementation Specifications & Detailed Implementation Specifications

Code and Debugging Review & Validation

Coding & Debugging

Testing Review & Validation


Maintenance Review & Validation





Hardware is the term given to machinery itself and to various individual pieces of equipment. It refers to the physical devices of a computer system. Thus the input, storage, processing control and output devices are hardware.

Minimum Hardware Requirements :
Hard Disk RAM Processor Ethernet cable(cross over) RJ-45 connector : : : 80GB and Above. 256MB and Above. Pentium IV and Above.

Software means a collection of program where the objective is to enhance the capabilities of the hardware machine.

Minimum Software Requirements :
Operating System Programming Language Programming Package : : : Linux (Ubuntu 8.1) C(cross compiler of Linux) QT4 development package for ubuntu

Introduction of QT4 :
Qt is a cross-platform C++ application framework. Qt's primary feature is its rich set of widgets that provide standard GUI functionality. Qt Development Frameworks Qt is developed by an open source project, the Qt Project, involving developers as individuals and from firms working to advance Qt, such as Nokia, Digia, and others. Before the launch of the Qt Project, it was produced by Nokia's Qt Development Frameworks, division, which came into being after Nokia's acquisition of the Norwegian company Trolltech, the original producer of Qt. Qt toolkit Qt toolkit was initially developed by Trolltech, a Norwegian software company. In 2008 the company was acquired by Nokia. The company was renamed to Qt Development Frameworks. Qt is a cross-platform application development framework. Some of the well known applications developed with Qt are KDE, Opera, Google Earth and Skype. Qt was first publicly released on May 1995. It is dual licensed. That means, it can be used for creating open source applications as well as commercial ones. Qt Creator Qt Creator is a cross-platform integrated development environment (IDE) tailored to the needs of Qt developers. Qt Creator runs on Windows, Linux/X11,Ubuntu and Mac OS X desktop operating systems, and allows developers to create applications for multiple desktop and mobile device platforms. It provides:
• • • • • • •

C++ and JavaScript code editor Integrated UI designer Project and build management tools gdb and CDB debuggers Support for version control Simulator for mobile UIs Support for desktop and mobile targets

QT4 includes the following modules for software development :


QtCore – contains core non-GUI classes, including the event loop and Qt's signal and slot mechanism, platform independent abstractions for Unicode, threads, mapped files, shared memory, regular expressions, and user and application settings


o o

o o o o o

o o o o o o o

QtGui – contains most GUI classes; including many table, tree and list classes based on model–view–controller design pattern; also provides sophisticated 2D canvas widget able to store thousands of items including ordinary widgets QtMultimedia – implements low-level multimedia functionality QtNetwork – contains classes for writing UDP and TCP clients and servers; implementing FTP and HTTP clients, supporting DNS lookups; network events are integrated with the event loop making it very easy to develop networked applications QtOpenGL – contains classes that enable the use of OpenGL in rendering 3D graphics QtOpenVG – a plugin that provides support for OpenVG painting QtScript – an ECMAScript-based scripting engine QtScriptTools – provides added components for applications using QtScript QtSql – contains classes that integrate with open-source and proprietary SQL databases. It includes editable data models for database tables that can be used with GUI classes. It also includes an implementation of SQLite QtSvg – contains classes for displaying the contents of SVG files. It supports the static features of SVG 1.2 Tiny QtWebKit – provides a WebKit-based layout engine as well as classes to render and interact with web content QtXml – implements SAX and DOM interfaces to Qt's XML parser QtXmlPatterns – provides support for XPath, XQuery, XSLT and XML Schema validation Phonon – multimedia API, provides simple multimedia control Qt3Support – provides classes that ease porting from Qt 3 to Qt 4 Qt Declarative_ module is a declarative framework for building fluid user interfaces in QML

Modules for working with Qt's tools :
o o o o

QtDesigner QtUiTools QtHelp QtTest

Modules for Unix developers

QtDBus – a library to perform inter-process communication via D-Bus protocol.

Modules for Windows developers

QAxContainer – an extension for accessing ActiveX controls and COM QAxServer – a static library to turn a standard Qt binary into a COM server.



 Economic feasibility
Reduces man power and hence cost consideration. Makes the same work computerized which is more effective and efficient and less time consuming.

 Technical Feasibility
Manual processing has more chance of errors, creating complications. Through proposed system, this process can be set in a very systematic pattern, which is more technical, full proof, authentic, safe and reliable.

 Behavior Feasibility
Encryption of mails to make the system secure and avoid illegitimate access of mails, that was absent in previous systems.



• Test Cases

• Test Report


The parallelized FTP (P-FTP) approach, attempts to solve the problem of slow downloads of large multimedia files while optimizing the utilization of mirror servers. The approach presented in this paper downloads a single file from multiple mirror servers simultaneously, where each mirror server transfers a portion of the file. The P-FTP server calculates the optimum division of the file for effecient transfer. The dynamic monitoring ability of P-FTP maintains the file transfer process at the optimized level no matter how abruptly network and mirror server characteristics change.

This project presents a parallelized FTP approach which tries to solve the slow download problem of large multimedia files on the Internet. Simultaneous download of a single file from multiple mirror servers optimizes the download process with respect to defined network and/or server characteristic. Different optimization policies provide mechanism to enforce particular criteria for selection of appropriate mirror servers to download file. The P-FTP monitoring ability dynamically updates the division of file during file transfer to keep the file transferring process at optimum level. The simulation results show significant improvement in download time for large files when P-FTP approach is used as compared to traditional FTP, however much work remains to be done. The impact of different approaches used to calculate the network parameters is to be studied in detail in future. The introduction of P-FTP mechanism in video on demand and video streaming scenarios needs more investigation. To monitor the effect of integration of concast and gathercast approaches with P-FTP is also part of our future work.


Sign up to vote on this title
UsefulNot useful