Published on

Published in: Education, Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. 11. INTRODUCTIONFile splitter basically used to split the large files which are not possible to upload ordownload, when we have to file size restrictions imposed by the application. For example, ifwe need to upload a file say 30 MB using Gmail, than it might not be possible as Gmailrestrict the file size less than 30MB, so if we use our tool we can split the file and send thesplitted parts by uploading it and can retain the original file by joining the splitted parts.Likewise we can use our application in other fields as well; where we need the file (can beaudio, video, text, rar etc). Using our tool, which is a windows application, one need todecide size for each segments, than need to split the original file. On joining he/she need toselect the first and should click on join to get the original file.Existing SystemIn the existing system, splitting of file will be limited only to some file formats.Proposed systemIn the proposed system, splitting of file will be for all types of files like text,document, image, audio, video, pdf, etc. The advantage of splitting the file is that, we canupload or download the splitted file easily, when there is a restriction in size of the file to beuploaded or downloaded.Overall descriptionBy using our tool file splitter one can easily split the file into smaller segments, whichin turn can be joined to retrieve the original file. Will have three modules one forsegmentation, other for splitted the file into segments and other for joining the splitted partsto obtain the original file. In the segmentation we need to decide the how many segments weneed to have for a file , and will have split and join option, using split we can divide the fileinto required segments and than can join the segments to obtain the original file.Modules of the Product Segmentation:This module basically deals with segmenting the original file into the number ofsegments based on the size specified for each segment. For example if file size is 4000kb,and if each segment size (in kb/mb) specified is 400, than 10(4000/400) segments will begenerated.
  2. 2. 2File Splitter Module:This module take care of splitting the file into segments specified in the segmentationmodule. Based on of segments to be generated, this module splits the original file intosegments.File Joining Module:It is used to join the files which are splitted into the segments in the above module.FEASIBILITY STUDYTECHINICAL FEASIBILITY:Evaluating the technical feasibility is the trickiest part of a feasibility study. This isbecause, at this point in time, not too many detailed design of the system, making it difficultto access issues like performance, costs on (on account of the kind of technology to bedeployed) etc.A number of issues have to be considered while doing a technical analysis.1. Understand the different technologies involved in the proposed system:Before commencing the project, we have to be very clear about what are theTechnologies that are to be required for the development of the new system.2. Find out whether the organization currently possesses the required technologies:Is the required technology available with the organization?If so is the capacity sufficient?For instance –―Will the current printer be able to handle the new reports and forms required for thenew system?‖OPERATIONAL FEASIBILITY:Proposed projects are beneficial only if they can be turned into information systemsthat will meet the organizations operating requirements. Simply stated, this test of feasibilityasks if the system will work when it is developed and installed. Are there major barriers toImplementation? Here are questions that will help test the operational feasibility of a project: Is there sufficient support for the project from management from users? IfThe current system is well liked and used to the extent that persons will not beAble to see reasons for change, there may be resistance. Are the current business methods acceptable to the user? If they are not,
  3. 3. 3Users may welcome a change that will bring about a more operational and usefulsystems. Have the user been involved in the planning and development of the project?Early involvement reduces the chances of resistance to the system and inGeneral and increases the likelihood of successful project.Since the proposed system was to help reduce the hardships encounteredIn the existing manual system, the new system was considered to be operational feasible.ECONOMIC FEASIBILITY:Economic feasibility attempts 2 weigh the costs of developing and implementing anew system, against the benefits that would accrue from having the new system in place.This feasibility study gives the top management the economic justification for the newsystem. A simple economic analysis which gives the actual comparison of costs and benefitsare much more meaningful in this case. In addition, this proves to be a useful point ofreference to compare actual costs as the project progresses. There could be various types ofintangible benefits on account of automation. These could include increased customersatisfaction, improvement in product quality better decision making timeliness ofinformation, expediting activities, improved accuracy of operations, better documentationand record keeping, faster retrieval of information, better employee morale.
  4. 4. 42. PROBLEM DEFINATION AND SCOPE OF THE PROJECT2.1 PurposeThe purpose of developing our tool is to splits the larger files which can’t beuploaded or downloaded using some application like Gmail, yahoo mail, etc as per file sizerestrictions imposed by this application. In order to support larger file uploads and downloadswe will use our tool, using which one can easily upload or download splitted files.2.2 ScopeWe can use our application or tool to split the files types such as audio, video, text,rar etc. so that splitted files can be uploaded or downloaded easily.2.3 Goals:The main aim of the project is to design software for splitting of any type of files intosegments and reassembling them. The project provides compression of file before splittingand compressed file is used for splitting. In already existing software they provide only somefile types. We design software to split all types of files like text, document, image, audio,video, pdf etc. The files splitted portion will be in non-readable format and parts can bejoined back to get the original file.2.4 Features of our project (Advantages)1) Our project assists to the users in splitting the larger files into smaller splitted files, whichcan easily be uploaded or downloaded.2) Our project or tool is more user friendly, and can be used easily for file splitting andjoining and Our tool can be used for splitting of video files, audio files, rar files which maynot available in existing system.2.5 TECHNOLOGIES:2.5.1 .net description:The .NET Framework is a new computing platform that simplifies applicationdevelopment in the highly distributed environment of the Internet. The .NET Framework isdesigned to fulfill the following objectives: To provide a consistent object-oriented programming environment whether objectcode is stored and executed locally, executed locally but Internet-distributed, orexecuted remotely.
  5. 5. 5 To provide a code-execution environment that minimizes software deployment andversioning conflicts.Fig 2.5.1: .NET Frame workTo provide a code-execution environment that guarantees safe execution of code, includingcode created by an unknown or semi-trusted third party. To provide a code-execution environment that eliminates the performance problemsof scripted or interpreted environments. To make the developer experience consistent across widely varying types ofapplications, such as Windows-based applications and Web-based applications. To build all communication on industry standards to ensure that code based on the.NET Framework can integrate with any other code.The .NET Framework has two main components: the common language runtime andthe .NET Framework class library. The common language runtime is the foundation of the.NET Framework. You can think of the runtime as an agent that manages code at executiontime, providing core services such as memory management, thread management, andremoting, while also enforcing strict type safety and other forms of code accuracy that ensuresecurity and robustness. In fact, the concept of code management is a fundamental principleof the runtime. Code that targets the runtime is known as managed code, while code that does
  6. 6. 6not target the runtime is known as unmanaged code. The class library, the other maincomponent of the .NET Framework, is a comprehensive, object-oriented collection ofreusable types that you can use to develop applications ranging from traditional command-line or graphical user interface (GUI) applications to applications based on the latestinnovations provided by ASP.NET, such as Web Forms and XML Web services.The .NET Framework can be hosted by unmanaged components that load thecommon language runtime into their processes and initiate the execution of managed code,thereby creating a software environment that can exploit both managed and unmanagedfeatures. The .NET Framework not only provides several runtime hosts, but also supports thedevelopment of third-party runtime hosts. For example, ASP.NET hosts the runtime toprovide a scalable, server-side environment for managed code. ASP.NET works directly withthe runtime to enable Web Forms applications and XML Web services, both of which arediscussed later in this topic.Internet Explorer is an example of an unmanaged application that hosts the runtime(in the form of a MIME type extension). Using Internet Explorer to host the runtime enablesyou to embed managed components or Windows Forms controls in HTML documents.Hosting the runtime in this way makes managed mobile code (similar to Microsoft®ActiveX® controls) possible, but with significant improvements that only managed code canoffer, such as semi-trusted execution and secure isolated file storage.The following illustration shows the relationship of the common language runtimeand the class library to your applications and to the overall system. The illustration alsoshows how managed code operates within a larger architecture.Features of the Common Language RuntimeThe common language runtime manages memory, thread execution, code execution,code safety verification, compilation, and other system services. These features are intrinsicto the managed code that runs on the common language runtime. With regards to security,managed components are awarded varying degrees of trust, depending on a number of factorsthat include their origin (such as the Internet, enterprise network, or local computer). Thismeans that a managed component might or might not be able to perform file-accessoperations, registry-access operations, or other sensitive functions, even if it is being used inthe same active application.
  7. 7. 7The runtime enforces code access security. For example, users can trust that anexecutable embedded in a Web page can play an animation on screen or sing a song, butcannot access their personal data, file system, or network. The security features of theruntime thus enable legitimate Internet-deployed software to be exceptionally feature rich.The runtime also enforces code robustness by implementing a strict type- and code-verification infrastructure called the common type system (CTS). The CTS ensures that allmanaged code is self-describing. The various Microsoft and third-party language compilersgenerate managed code that conforms to the CTS. This means that managed code canconsume other managed types and instances, while strictly enforcing type fidelity and typesafety. In addition, the managed environment of the runtime eliminates many commonsoftware issues. For example, the runtime automatically handles object layout and managesreferences to objects, releasing them when they are no longer being used. This automaticmemory management resolves the two most common application errors, memory leaks andinvalid memory references.The runtime also accelerates developer productivity. For example, programmers canwrite applications in their development language of choice, yet take full advantage of theruntime, the class library, and components written in other languages by other developers.Any compiler vendor who chooses to target the runtime can do so. Language compilers thattarget the .NET Framework make the features of the .NET Framework available to existingcode written in that language, greatly easing the migration process for existing applications.While the runtime is designed for the software of the future, it also supports software oftoday and yesterday. Interoperability between managed and unmanaged code enablesdevelopers to continue to use necessary COM components and DLLs.The runtime is designed to enhance performance. Although the common languageruntime provides many standard runtime services, managed code is never interpreted. Afeature called just-in-time (JIT) compiling enables all managed code to run in the nativemachine language of the system on which it is executing. Meanwhile, the memory managerremoves the possibilities of fragmented memory and increases memory locality-of-referenceto further increase performance. Finally, the runtime can be hosted by high-performance,server-side applications, such as Microsoft® SQL Server™ and Internet InformationServices (IIS). This infrastructure enables you to use managed code to write your business
  8. 8. 8logic, while still enjoying the superior performance of the industrys best enterprise serversthat support runtime hosting..NET Framework Class LibraryThe .NET Framework class library is a collection of reusable types that tightlyintegrate with the common language runtime. The class library is object oriented, providingtypes from which your own managed code can derive functionality. This not only makes the.NET Framework types easy to use, but also reduces the time associated with learning newfeatures of the .NET Framework. In addition, third-party components can integrateseamlessly with classes in the .NET Framework. For example, the .NET Frameworkcollection classes implement a set of interfaces that you can use to develop your owncollection classes. Your collection classes will blend seamlessly with the classes in the .NETFramework. As you would expect from an object-oriented class library, the .NET Frameworktypes enable you to accomplish a range of common programming tasks, including tasks suchas string management, data collection, database connectivity, and file access. In addition tothese common tasks, the class library includes types that support a variety of specializeddevelopment scenarios. For example, you can use the .NET Framework to develop thefollowing types of applications and services: Console applications. Scripted or hosted applications. Windows GUI applications (Windows Forms). ASP.NET applications. XML Web services. Windows services.For example, the Windows Forms classes are a comprehensive set of reusable types thatvastly simplify Windows GUI development. If you write an ASP.NET Web Formapplication, you can use the Web Forms classes.Client Application DevelopmentClient applications are the closest to a traditional style of application in Windows-based programming. These are the types of applications that display windows or forms on thedesktop, enabling a user to perform a task. Client applications include applications such asword processors and spreadsheets, as well as custom business applications such as data-entry
  9. 9. 9tools, reporting tools, and so on. Client applications usually employ windows, menus,buttons, and other GUI elements, and they likely access local resources such as the filesystem and peripherals such as printers. Another kind of client application is the traditionalActiveX control (now replaced by the managed Windows Forms control) deployed over theInternet as a Web page. This application is much like other client applications: it is executednatively, has access to local resources, and includes graphical elements.In the past, developers created such applications using C/C++ in conjunction with theMicrosoft Foundation Classes (MFC) or with a rapid application development (RAD)environment such as Microsoft® Visual Basic®. The .NET Framework incorporates aspectsof these existing products into a single, consistent development environment that drasticallysimplifies the development of client applications.The Windows Forms classes contained in the .NET Framework are designed to beused for GUI development. You can easily create command windows, buttons, menus,toolbars, and other screen elements with the flexibility necessary to accommodate shiftingbusiness needs. For example, the .NET Framework provides simple properties to adjustvisual attributes associated with forms. In some cases the underlying operating system doesnot support changing these attributes directly, and in these cases the .NET Frameworkautomatically recreates the forms. This is one of many ways in which the .NET Frameworkintegrates the developer interface, making coding simpler and more consistent.Unlike ActiveX controls, Windows Forms controls have semi-trusted access to a userscomputer. This means that binary or natively executing code can access some of theresources on the users system (such as GUI elements and limited file access) without beingable to access or compromise other resources. Because of code access security, manyapplications that once needed to be installed on a users system can now be safely deployedthrough the Web. Your applications can implement the features of a local application whilebeing deployed like a Web page.Server Application DevelopmentServer-side applications in the managed world are implemented through runtimehosts. Unmanaged applications host the common language runtime, which allows yourcustom managed code to control the behavior of the server. This model provides you with all
  10. 10. 10the features of the common language runtime and class library while gaining the performanceand scalability of the host server.The following illustration shows a basic network schema with managed code runningin different server environments. Servers such as IIS and SQL Server can perform standardoperations while your application logic executes through the managed code.Server-side managed codeASP.NET is the hosting environment that enables developers to use the .NETFramework to target Web-based applications. However, ASP.NET is more than just aruntime host; it is a complete architecture for developing Web sites and Internet-distributedobjects using managed code. Both Web Forms and XML Web services use IIS and ASP.NETas the publishing mechanism for applications, and both have a collection of supportingclasses in the .NET Framework. XML Web services, an important evolution in Web-basedtechnology, are distributed, server-side application components similar to common Websites. However, unlike Web-based applications, XML Web services components have no UIand are not targeted for browsers such as Internet Explorer and Netscape Navigator. Instead,XML Web services consist of reusable software components designed to be consumed byother applications, such as traditional client applications, Web-based applications, or evenother XML Web services. As a result, XML Web services technology is rapidly movingapplication development and deployment into the highly distributed environment of theInternet. If you have used earlier versions of ASP technology, you will immediately noticethe improvements that ASP.NET and Web Forms offers. For example, you can develop WebForms pages in any language that supports the .NET Framework. In addition, your code nolonger needs to share the same file with your HTTP text (although it can continue to do so ifyou prefer). Web Forms pages execute in native machine language because, like any othermanaged application, they take full advantage of the runtime. In contrast, unmanaged ASPpages are always scripted and interpreted. ASP.NET pages are faster, more functional, andeasier to develop than unmanaged ASP pages because they interact with the runtime like anymanaged application.The .NET Framework also provides a collection of classes and tools to aid indevelopment and consumption of XML Web services applications. XML Web services arebuilt on standards such as SOAP (a remote procedure-call protocol), XML (an extensible
  11. 11. 11data format), and WSDL ( the Web Services Description Language). The .NET Framework isbuilt on these standards to promote interoperability with non-Microsoft solutions.For example, the Web Services Description Language tool included with the .NETFramework SDK can query an XML Web service published on the Web, parse its WSDLdescription, and produce C# or Visual Basic source code that your application can use tobecome a client of the XML Web service. The source code can create classes derived fromclasses in the class library that handle all the underlying communication using SOAP andXML parsing. Although you can use the class library to consume XML Web servicesdirectly, the Web Services Description Language tool and the other tools contained in theSDK facilitate your development efforts with the .NET Framework.If you develop and publish your own XML Web service, the .NET Frameworkprovides a set of classes that conform to all the underlying communication standards, such asSOAP, WSDL, and XML. Using those classes enables you to focus on the logic of yourservice, without concerning yourself with the communications infrastructure required bydistributed software development. Finally, like Web Forms pages in the managedenvironment, your XML Web service will run with the speed of native machine languageusing the scalable communication of IIS.2.5.2 Active Server Pages.NETASP.NET is a programming framework built on the common language runtime thatcan be used on a server to build powerful Web applications. ASP.NET offers severalimportant advantages over previous Web development models:Enhanced Performance.ASP.NET is compiled common language runtime code running on the server. Unlikeits interpreted predecessors, ASP.NET can take advantage of early binding, just-in-timecompilation, native optimization, and caching services right out of the box. This amounts todramatically better performance before you ever write a line of code.World-Class Tool Support.The ASP.NET framework is complemented by a rich toolbox and designer in theVisual Studio integrated development environment. WYSIWYG editing, drag-and-dropserver controls, and automatic deployment are just a few of the features this powerful toolprovides.
  12. 12. 12Power and Flexibility.Because ASP.NET is based on the common language runtime, the power andflexibility of that entire platform is available to Web application developers. The .NETFramework class library, Messaging, and Data Access solutions are all seamlessly accessiblefrom the Web. ASP.NET is also language-independent, so you can choose the language thatbest applies to your application or partition your application across many languages. Further,common language runtime interoperability guarantees that your existing investment in COM-based development is preserved when migrating to ASP.NET.Simplicity.ASP.NET makes it easy to perform common tasks, from simple form submission andclient authentication to deployment and site configuration. For example, the ASP.NET pageframework allows you to build user interfaces that cleanly separate application logic frompresentation code and to handle events in a simple, Visual Basic - like forms processingmodel. Additionally, the common language runtime simplifies development, with managedcode services such as automatic reference counting and garbage collection.Manageability.ASP.NET employs a text-based, hierarchical configuration system, which simplifiesapplying settings to your server environment and Web applications. Because configurationinformation is stored as plain text, new settings may be applied without the aid of localadministration tools. This "zero local administration" philosophy extends to deployingASP.NET Framework applications as well. An ASP.NET Framework application is deployedto a server simply by copying the necessary files to the server. No server restart is required,even to deploy or replace running compiled code.Scalability and Availability.ASP.NET has been designed with scalability in mind, with features specificallytailored to improve performance in clustered and multiprocessor environments. Further,processes are closely monitored and managed by the ASP.NET runtime, so that if onemisbehaves (leaks, deadlocks), a new process can be created in its place, which helps keepyour application constantly available to handle requests.
  13. 13. 13Customizability and Extensibility.ASP.NET delivers a well-factored architecture that allows developers to "plug-in"their code at the appropriate level. In fact, it is possible to extend or replace anysubcomponent of the ASP.NET runtime with your own custom-written component.Implementing custom authentication or state services has never been easier.Security.With built in Windows authentication and per-application configuration, you can beassured that your applications are secure.Language SupportThe Microsoft .NET Platform currently offers built-in support for three languages:C#, Visual Basic, and JScript.
  14. 14. 142.5.3 ACTIVE X DATA OBJECTS.NETADO.NET ARCHITECHTUREFig2.5.3: ArchitectureDATA STOREADO.NET is an extension of the ADO data access model which consist of only theconnected architecture. The Microsoft organization has realized the data related operationsand have studied and analyzed different data related technologies among which they foundADO to be interesting , later on they extended the features of the ADO and defined own datarelated technology by refining the ADO and hence given the name as ADO.Net. TheMicrosoft organization, grouped some set of namespaces which can operates on data, and puttogether into technology called ADO.NET. The ADO.Net technology enhances the featuresDATASETDATA PROVIDERCONNECTIONCOMMANDDATA READERDATAADAPTERORACLE ACEESSMSSQLDataTable1DataRow/DataColumnDDATA RELATIONDataTable2XMLOUTPUTDATAVIEWDATAVIEW
  15. 15. 15of the ADO, which consist of only connected architecture where as in ADO.NET they haveintroduces a disconnected architecture.The connected architecture important feature is the data provider, which consists ofthe four important objects namely connection, command, data reader and data adapter.The connection object provides the connection to the data store nothing but to the back enddatabase servers. The connection class consists of default constructors and parameterizedconstructors. The constructor takes arguments, which provides the connection to the back endservers. The arguments that the connection class constructors takes are Data Source ,Database and security.The first parameter Data Source represents the server name to which our applicationneeds to be connected. That’s means from the available servers we need to select theparticular data base server which can be done through the data source parameter. The secondparameter indicates the database to which we are going to connect, that’s means in thatparticular database server, to which data base we want to connect can be done through thedata base parameter. The third parameter security indicates, the security provided for thedatabase server. If the server is running under windows authentication mode , than will useintegrated security to be true that’s means no need to specify the user name and passwordexplicitly why because the system will takes the prebuilt username and password which hasbeen set for the system. On the other hand if the back end server is running under sqlauthentication mode that will specify the username and password which has be set during theinstallation of the server, using the security parameter we can connect to the backenddatabase server.Also sqlconnection class consists of the methods such as open and close. The openmethod is used to open the connection to the database server. Whereas the close method isused to disconnect the connection from the server. Once the connection is opened while inthe application use, the connection should be closed when the application terminates.Another object of the data provider is the command object, using which one can write thequeries in order to manipulate data in the database. Once the connection is opened, thesqlcommand class makes use of the connection and will operate on the database. Thesqlcommand class will do manipulation using the queries or the stored procedures. Whichhas to be decided by the programmers whether they want to use the queries or the stored
  16. 16. 16procedures using the method command type? If we want to use queries than we need toselect the text query or else we need to select stored procedure option from the commandtype method.Command object consists of three methods namely execute non query, execute reader andexecute scalar. The execute non query will returns the integer values as an output whichindicates how many records have been updated, or modified etc. the second method executereader returns the complete records been affected by the operations , whereas execute scalarreturns the first row first column value remaining will be neglected. The third object in theconnected architecture is the data reader, which reads the data in a forward only mode, that’smeans, its retrieves the data from the data base server and forwards it to the application.The object is the data adapter which acts like an interface or bridge between theconnected architecture and disconnected architecture. In the disconnected architecture theimportant feature is the dataset. It’s a collection of data tables and data rows and the datatables will be linked using the data relations. When the dataset need to be filled, its request tothe data adapter which in turn fills the dataset by making use of fill method of data adapter.Features of ADO.NET are as follows: ADO.NET is the next evolution of ADO for the .Net Framework. ADO.NET was created with n-Tier, statelessness and XML in the forefront. Two newobjects, the Dataset and Data Adapter, are provided for these scenarios. ADO.NET can be used to get data from a stream, or to store data in a cache forupdates. There is a lot more information about ADO.NET in the documentation. Remember, you can execute a command directly against the database in order to doinserts, updates, and deletes. You dont need to first put data into a Dataset in order toinsert, update, or delete it. Also, you can use a Dataset to bind to the data, move through the data, and navigatedata relationships
  17. 17. 172.5.4 Sql server description:Microsoft SQL Server is a Structured Query Language (SQL) based, client/serverrelational database. Each of these terms describes a fundamental part of the architecture ofSQL Server.DatabaseA database is similar to a data file in that it is a storage place for data. Like a data file,a database does not present information directly to a user; the user runs an application thataccesses data from the database and presents it to the user in an understandable format. A database typically has two components: the files holding the physical database andthe database management system (DBMS) software that applications use to accessdata. The DBMS is responsible for enforcing the database structure, including: Maintaining the relationships between data in the database. Ensuring that data is stored correctly and that the rules defining data relationships arenot violated. Recovering all data to a point of known consistency in case of system failures.Client/ServerIn a client/server system, the server is a relatively large computer in a central location thatmanages a resource used by many people. When individuals need to use the resource, theyconnect over the network from their computers, or clients, to the server. Examples of serversare: In a client/server database architecture, the database files and DBMS software reside ona server. A communications component is provided so applications can run on separateclients and communicate to the database server over a network. The SQL Servercommunication component also allows communication between an application running onthe server and SQL Server.Server applications are usually capable of working with several clients at the sametime. SQL Server can work with thousands of client applications simultaneously. The serverhas features to prevent the logical problems that occur if a user tries to read or modify datacurrently being used by others. While SQL Server is designed to work as a server in aclient/server network, it is also capable of working as a stand-alone database directly on theclient. The scalability and ease-of-use features of SQL Server allow it to work efficiently ona client without consuming too many resources.
  18. 18. 182.5.5 Structured Query Language (SQL)To work with data in a database, you must use a set of commands and statements(language) defined by the DBMS software. There are several different languages that can beused with relational databases; the most common is SQL. Both the American NationalStandards Institute (ANSI) and the International Standards Organization (ISO) have definedstandards for SQL. Most modern DBMS products support the Entry Level of SQL-92, thelatest SQL standard (published in 1992).SQL Server FeaturesMicrosoft SQL Server supports a set of features that result in the following benefits:Ease of installation, deployment, and useSQL Server includes a set of administrative and development tools that improve yourability to install, deploy, manage, and use SQL Server across several sites.ScalabilityThe same database engine can be used across platforms ranging from laptopcomputers running Microsoft Windows® 95/98 to large, multiprocessor servers runningMicrosoft Windows NT®, Enterprise Edition.Data warehousingSQL Server includes tools for extracting and analyzing summary data for onlineanalytical processing (OLAP). SQL Server also includes tools for visually designingdatabases and analyzing data using English-based questions.System integration with other server softwareSQL Server integrates with e-mail, the Internet, and Windows.DatabasesA database in Microsoft SQL Server consists of a collection of tables that containdata, and other objects, such as views, indexes, stored procedures, and triggers, defined tosupport activities performed with the data. The data stored in a database is usually related toa particular subject or process, such as inventory information for a manufacturing warehouse.SQL Server can support many databases, and each database can store either interrelateddata or data unrelated to that in the other databases. For example, a server can have onedatabase that stores personnel data and another that stores product-related data. Alternatively,one database can store current customer order data, and another; related database can store
  19. 19. 19historical customer orders that are used for yearly reporting. Before you create a database, itis important to understand the parts of a database and how to design these parts to ensure thatthe database performs well after it is implemented.Entity Integrity Constraint:Entity Integrity Constraints are of two types: Unique Constraints Primary Key ConstraintsThe unique constraints designate a column or a group of columns as a unique key.The constraint allows only unique values to be stored in the column Sql Server rejectsduplication of records when the unique key constraint is used.The primary key constraint is similar to the unique key constraint. The primary keyconstraint just like the former avoids duplication of values. Its needs it best felt when arelation has to be set between tables, because in addition to prevent in duplication it also doesnot allow null values.Referential Integrity Constraint:The Referential Integrity Constraint enforces relationship between tables. Itdesignates a column or a combination of columns as a foreign key. The foreign keyestablishes a relationship with a specified primary or unique key in another table, called thereferenced key. In this relationship, the table containing the foreign key is called a childtable and the table containing the referenced key is called the parent table.
  20. 20. 203. SOFTWARE PROJECT MANAGEMENT PLAN (SPMP)3.1 Development Methodologies-Process ModelWhen we defining and constructing credit card validation systems will uncover manyrequirements that may be difficult at outset. Instead knowledge of the system andrequirements will grow as work progress the whole software engineering process is designedto uncover details and incompatibilities in the requirements that may not be obvious tocustomer and bankers at outset.Several cases or increments of software development additional increases will bebuild and delivered in successive increment system normally involves as are deliversuccessive new versions, the development of first version from sketch called green fielddevelopment is special case of incremental development the development of first incrementis an important activity series we establish the architectural base that must last for the entiresystem’s life time.3.2 Project Development Life Cycle3.2.1 WATERFALL LIFECYCLE MODEL:Waterfall model states that the phases (analysis, design, and coding, testing, support)are systematized in a linear order and each phase should accomplished entirely earlier of thenext phase begins. In this way the step by step phase initially analyzing phase is completedand that output takes place at the end of analyze phase after that output will be given as inputfor the design phase, depending on the inputs it generates all design steps, like ways allphases processed and produced all successful outputs, And will to find out whether theproject is pursuing on the exact path or not. If not the project may be discard or any otheraction takes place to continue. The model is the most commonly used and also known aslinear sequential lifecycle model.ADVANTAGES:1. This model is very easy to use and implement.2. Each phase is completed at a time and processed.3. This model better works for smaller projects if only the requirements are wellunderstood.4. In each phase have deliverables and that must be reviewed.
  21. 21. 21DISADVANTAGES:1. If the requirements are gathered are inaccurate then the final product is inaccurate andthe error is known in the final phase of the model. Any sort of errors that cannot bedetected in any previous phase.2. For long, object-oriented, complex and ongoing projects it’s a poor model.3. This model has high risks.Fig3.2.1: Waterfall Lifecycle Model
  22. 22. 224. SYSTEM AND SOFTWARE REQUIREMENT SPECIFICATIONS4.1 Software interfaces :Operating Systems: Windows 2003 Server / Windows XPMS- VS – 2005 or aboveC#, .NET 2.0 or above4.2 Hardware interfaces :Pentium 4 with 3GHzRAM: 2 GBHard Disk: 20 GB4.3 Communications interfaces : Not applicable
  23. 23. 235. SOFTWARE DESIGN DESCRIPTION5.1 Design OverviewThe design phase begins with the requirements specification for the software to bedeveloped. Design is the first step to moving from the problem domain towards the solutiondomain. Design is essentially the bridge between requirement specification and the finalsolution for satisfying the requirements. It is the most critical factor affecting the quality ofthe software.The design process for software system has two levels. System Design or Top level design Detailed Design or Logical DesignSystem Design:In the system design the focus on the deciding which modules are needed for thesystem, the specification of these modules and how these modules should be interconnected.Detailed Design:In detailed design the interconnection of the modules or how the specifications of themodules can be satisfied is decided. Some properties for a software system design are Verifiability Completeness Consistency Traceability Simplicity / Understandability
  24. 24. 241) Application Architecture:Fig 5.1: Application ArchitectureThe application which we are developing is using One-Tier or single Tier application.Within the same tier we are going to include the business functionalities as well the dataaccess functionalities. The frontend which we are going to develop is using the windowsform application. We will develop all the front end windows forms or User interface formsusing Windows application of .NET environment. Once after developing the user interfaceswe need to write the code behind in order to specify the business logic as well the data accesslogic. This coding will be done using In our application will use necessary functionalitiessuch as splitting the original file into segments, joining the file into segments. The C#language in our application, where will write all the necessary business logic code and in ourapplication will use necessary functionalities such as splitting the original file into segments,joining the file into segments. Data access code in order to access the backend databaseserver. In our application we are not going to use backend end database server that is MSSQL server 2005. In our application will use necessary functionalities such as splitting theoriginal file into segments, joining the file into segments. In the above application diagram ,in the User Interface block will include all the necessary front end screens and in the BALblock will include all the necessary business logic required for any business functionalitieswhereas in the DAL block will include all the necessary data access functionalities , such asUser InterfaceBALDALDatabase
  25. 25. 25establishing the connection to the data base server, than after connecting successfully will usethe data manipulation commands such as insert , delete, update ,select operations dependingupon the needs of the application. In order to use the ADO.NET objects in our application weneed to include the respective namespace provided by the ADO.NET. That’s in order toconnect to the MS SQL server2005; we need to include the System.sqlclient namespace inour application. The namespace sqlclient is to connect to the MS SQL server database. If wewant to connect to oracle database server we need to include oracle client namespace, if wewant to connect to ACCESS database server we need to include odbc namespace in ourapplication. But in our application we are not using backend data base server so need to havedata base connection.2) Software Architecture:Fig 5.2: Software ArchitectureIn this software architecture, the users block consists of end user or users of ourapplication. Will design all the forms necessary for the our application. So that when userwants to split and join the file, he can do by using the GUI feature provided by ourapplication.UsersSegmentationFile splitter DatabaseFile Joiner
  26. 26. 26In the business logic if we have any validations relating in our application than wehave to verify that all the validations are satisfied thoroughly. Once after all the validationsare evaluated to be true, will move with the data access logic.In the data access logic, will connect to the necessary database server by including therequired namespace. I.e. System.sqlclient if the database server we are using is MS SQLSERVER2005.But we don’t have database server, so no need to establish the connection.5.2 UML Design:Modeling is an activity that has been carried out over the years in softwaredevelopment. When writing applications by using the simplest languages to the mostpowerful and complex languages, you still need to model. Modeling can be asstraightforward as drawing a flowchart listing the steps carried out by an application.Why do we use modeling?Defining a model makes it easier to break up a complex application or a huge systeminto simple, discrete pieces that can be individually studied. We can focus more easily on thesmaller parts of a system and then understand the "big picture." Hence, the reasons behindmodeling can be summed up in two words: Readability ReusabilityReadabilityBrings clarity—ease of understanding. Understanding a system is the first step ineither building or enhancing a system. This involves knowing what a system is made up of,how it behaves, and so forth. Modeling a system ensures that it becomes readable and, mostimportantly, easy to document. Depicting a system to make it readable involves capturing thestructure of a system and the behavior of the system.ReusabilityIs the byproduct of making a system readable. After a system has been modeled tomake it easy to understand, we tend to identify similarities or redundancy, be they in terms offunctionality, features, or structure. The Unified Modeling Language, or UML, as it ispopularly known by its TLA (three-letter acronym!), is the language that can be used tomodel systems and make them readable. This essentially means that UML provides theability to capture the characteristics of a system by using notations. UML provides a wide
  27. 27. 27array of simple, easy to understand notations for documenting systems based on the object-oriented design principles. These notations are called the nine diagrams of UML.Different languages have been used for depicting systems using object-orientedmethodology. The prominent among these were the Rumbaing methodology, the Broochmethodology, and the Jacobson methodology. The problem was that, although eachmethodology had its advantages, they were essentially disparate. Hence, if you had to workon different projects that used any of these methodologies, you had to be well versed witheach of these methodologies. A very tall order indeed! The Unified Modeling Language isjust that. It "unifies" the design principles of each of these methodologies into a single,standard, language that can be easily applied across the board for all object-oriented systems.But, unlike the different methodologies that tended more to the design and detailed design ofsystems, UML spans the realm of requirements, analysis, and design and, uniquely,implementation as well. The beauty of UML lies in the fact that any of the nine diagrams ofUML can be used on an incremental basis as the need arises. Considering all these reasons, itis no wonder that UML is considered "the" language of choice. UML does not have anydependencies with respect to any technologies or languages. This implies that you can useUML to model applications and systems based on either of the current hot technologies; forexample, J2EE and .NET. Every effort has been made to keep UML as a clear and concisemodeling language without being tied down to any technologies.INTRODUCTION TO UML:The Unified Modeling Language (UML) is a standard language for specifying,visualizing, constructing, and documenting the artifacts of software systems, as well as forbusiness modeling and other non-software systems. The UML represents a collection of bestengineering practices that have proven successful in the modeling of large and complexsystems. The UML is a very important part of developing objects oriented software and thesoftware development process. The UML uses mostly graphical notations to express thedesign of software projects. Using the UML helps project teams communicate, explorepotential designs, and validate the architectural design of the software.
  28. 28. 28Goals of UMLThe primary goals in the design of the UML were: Provide users with a ready-to-use, expressive visual modeling language so theycan develop and exchange meaningful models. Provide extensibility and specialization mechanisms to extend the core concepts. Be independent of particular programming languages and development processes. Provide a formal basis for understanding the modeling language. Encourage the growth of the OO tools market. Support higher-level development concepts such as collaborations, frameworks,patterns and components. Integrate best practices.Why we use UML?As the strategic value of software increases for many companies, the industry looksfor techniques to automate the production of software and to improve quality and reduce costand time-to-market. These techniques include component technology, visual programming,patterns and frameworks. Businesses also seek techniques to manage the complexity ofsystems as they increase in scope and scale. In particular, they recognize the need to solverecurring architectural problems, such as physical distribution, concurrency, replication,security, load balancing and fault tolerance. Additionally, the development for the WorldWide Web, while making some things simpler, has exacerbated these architectural problems.The Unified Modeling Language (UML) was designed to respond to these needs.UML DiagramsThe underlying premise of UML is that no one diagram can capture the differentelements of a system in its entirety. Hence, UML is made up of nine diagrams that can beused to model a system at different points of time in the software life cycle of a system.
  29. 29. 29The nine UML diagrams are:Use case diagram:The use case diagram is used to identify the primary elements and processes that formthe system. The primary elements are termed as "actors" and the processes are called "usecases." The use case diagram shows which actors interact with each use case.Class diagram:The class diagram is used to refine the use case diagram and define a detailed designof the system. The class diagram classifies the actors defined in the use case diagram into aset of interrelated classes. The relationship or Apart from this, each class may have certain"attributes" that uniquely identify the class. association between the classes can be either an"is-a" or "has-a" relationship. Each class in the class diagram may be capable of providingcertain functionalities. These functionalities provided by the class are termed "methods" ofthe class. Apart from this, each class may have certain "attributes" that uniquely identify theclass.Object diagram:The object diagram is a special kind of class diagram. An object is an instance of aclass. This essentially means that an object represents the state of a class at a given point oftime while the system is running. The object diagram captures the state of different classes inthe system and their relationships or associations at a given point of time.State diagram:A state diagram, as the name suggests, represents the different states that objects inthe system undergo during their life cycle. Objects in the system change states in response toevents. In addition to this, a state diagram also captures the transition of the objects statefrom an initial state to a final state in response to events affecting the systemActivity diagram:The process flows in the system are captured in the activity diagram. Similar to a statediagram, an activity diagram also consists of activities, actions, transitions, initial and finalstates, and guard conditions.Sequence diagram:A sequence diagram represents the interaction between different objects in thesystem. The important aspect of a sequence diagram is that it is time-ordered. This means
  30. 30. 30that the exact sequence of the interactions between the objects is represented step by step.Different objects in the sequence diagram interact with each other by passing "messages".Collaboration diagram:A collaboration diagram groups together the interactions between different objects.The interactions are listed as numbered interactions that help to trace the sequence of theinteractions. The collaboration diagram helps to identify all the possible interactions thateach object has with other objects.Component diagram:The component diagram represents the high-level parts that make up the system. Thisdiagram depicts, at a high level, what components form part of the system and how they areinterrelated. A component diagram depicts the components culled after the system hasundergone the development or construction phase.Deployment diagram:The deployment diagram captures the configuration of the runtime elements of theapplication. This diagram is by far most useful when a system is built and ready to bedeployed. Now that we have an idea of the different UML diagrams, let us see if we cansomehow group together these diagrams to enable us to further understand how to usethem.UML Diagram Classification—Static, Dynamic, and ImplementationA software system can be said to have two distinct characteristics: a structural,"static" part and a behavioral, "dynamic" part. In addition to these two characteristics, anadditional characteristic that a software system possesses is related to implementation. Beforewe categorize UML diagrams into each of these three characteristics, let us take a quick lookat exactly what these characteristics are.Static:The static characteristic of a system is essentially the structural aspect of the system.The static characteristics define what parts the system is made up of.Dynamic:The behavioral features of a system; for example, the ways a system behaves inresponse to certain events or actions are the dynamic characteristics of a system.
  31. 31. 31Implementation:The implementation characteristic of a system is an entirely new feature thatdescribes the different elements required for deploying a system.The UML diagrams that fall under each of these categories are: Static Use case diagram Class diagram Dynamic Object diagram State diagram Activity diagram Sequence diagram Collaboration diagram Implementation Component diagram Deployment diagramFinally, let us take a look at the 4+1 view of UML diagrams.Views of UML DiagramsConsidering that the UML diagrams can be used in different stages in the life cycle ofa system, let us take a look at the "4+1 view" of UML diagrams. The 4+1 view offers adifferent perspective to classify and apply UML diagrams. The 4+1 view is essentially how asystem can be Each of these views represents how a system can be modeled. This will enableus to understand where exactly the UML diagrams fit in and their applicability. viewed froma software life cycle perspective. Each of these views represents how a system can bemodeled. This will enable us to understand where exactly the UML diagrams fit in and theirapplicability.The different views are:Design View:The design view of a system is the structural view of the system. This gives an idea ofwhat a given system is made up of. Class diagrams and object diagrams form the design viewof the system.
  32. 32. 32Process View:The dynamic behavior of a system can be seen using the process view. The differentdiagrams such as the state diagram, activity diagram, sequence diagram, and collaborationdiagram are used in this view.Component View:Component view shows the grouped modules of a given system modeled using thecomponent diagram.Deployment View:The deployment diagram of UML is used to identify the deployment modules for agiven system.Use case View:Finally, we have the use case view. Use case diagrams of UML are used to view asystem from this perspective as a set of discrete activities or transactions.5.2.1 CLASS DIAGRAM:The Class Diagram Represent the three Classes.LoginVarchar usernameVarchar passwordLogin()SegmentationVarchar segmentSizevarhcar FilepathCalculateSegments()FileSplittervarchar filesSplittedVarchar FilepathSplitFiles()FileJoinerVarchar filesjoinedvarchar FilepathJoinFiles()Fig 5.2.1: Class Diagram
  33. 33. 335.2.2 USECASE DIAGRAM:The Use Case Diagrams Represent the After Login the user was Select segments withsize and type and Split the file. After split the files join the file.SegmentationFileSplitterFileJoinerSelect the size of segmentsSelect the size typekilobytes or megabytesSplit the filesinto segmentsJoin the files usingsplitted filesUserLoginFig 5.2.2: Use case Diagram
  34. 34. 345.2.3 SEQUENCE DIAGRAM:The Diagram Represents the sequence of actions.Login Segmentation FileSplitter FileJoiner ApplicationUserSend usernameand passwordVerify Username and passwordValidate Username and passwordValid login or InvalidRequest for segmentationSend size of each segmentsCalcute the segmentsResponse for segmentationof particular fileRequest for FileSplittingSplit file based on segmentationSplit the File into SegmentationResponse for splittingRequest for file joiningUse segmentationJoin the segmentsResponse of Joining the segmentsFig 5.2.3: Sequence Diagram
  35. 35. 355.2.4 Activity Diagram:The Diagram represents the control flow of the information.LoginSegmentationFileSplitter FileJoinerValidate Usernameand PasswordFig 5.2.4: Activity Diagram
  36. 36. 365.2.5 Data Flow Diagram Design:Level 0Level 1Fig 5.2.5: Data Flow Diagrams5.3 Database Design:The data pertaining to proposed system is voluminous that a careful design of thedatabase must proceed before storing the data in the database. A database managementsystem provides flexibility in the storage and retrieval of data bad production of information.The DBMS is a bridge between the application program, which determines what data areneeded and how they are processed, and the operating system of the computer, which isresponsible for placing data on the magnetic storage devices. A schema defines the databaseand a subschema defines the portion of the database that a specific program will use.Data Model:The organization of the data is represented by a data model and identifies the logicalorganization of data. In a model of real world similar things are usually grouped into classesof object called object types.A data model is a pattern according to which data are logically organized. It consistsof the named logical units of data and expresses the relationships among the data asdetermined by the interpretation of the model of real world.The relational data model is a formal model for representing relationships amongattributes of an entity set and the association between entity sets. In the relational data modelUSERSegmentationUSERSegmentationFile SplitterFile Joiner
  37. 37. 37all attribute relationships and all associations are represented as relations. There is nodistinction even at the model level, between the different kinds or relations. Syntactically allthe relations are the same. The data model does not produce the introduction of additionalsemantic information to distinguish different relations according to their properties of modelsnamely: Network Model Hierarchical data model Relational Data modelRelational data ModelThe relational data model is a formal model for representing relationships amongattributes of an entity set and the association between entity sets. In the relational data modelall attribute relationships and all associations are represented as relations. There is nodistinction even at the model level, between the different kinds or relations. Syntactically allthe relations are the same. The data model does not produce the introduction of additionalsemantic information to distinguish different relations according to their properties.NORMALIZATIONNormalization theory is built around the concept of normal forms. A relation is saidto be in particular normal form if it satisfies a certain specified set of constraints.FIRST NORMALFORM:A relation R is in first normal form if and only if all underlying domains containedatomic values only.SECOND NORMALFORM:A relation R is said to be in second normal form if and only if it is in first normalform and every non-key attribute is fully dependent on the primary key.THIRD NORMALFORM:A relation R is said to be in third normal form if and only if it is in second normalform and every non key attribute is non transitively depend on the primary key.
  38. 38. 386. SCREEN SHOTS AND SAMPLE CODING6.1 Login formFig 6.1: Login Form
  39. 39. 396.2 Main formFig 6.2: Main Form
  40. 40. 406.3Split formFig 6.3: Spilt Form
  41. 41. 416.4Join formFig 6.4: Join Form
  42. 42. 426.5: Login Validate FormFig 6.5: Login Validate Form
  43. 43. 436.6: Main Segments validate FormFig 6.6: Main Segments validate Form
  44. 44. 446.3 SAMPLE CODEFileSplitterclass FileSplitter2{private static long m_segmentSize = 600 * 1024 * 1024;private static int blockSize = 1024;public int SplitFile(string fileName){FileStream fsIn = new FileStream(fileName, FileMode.Open, FileAccess.Read);string basePath = System.IO.Path.GetDirectoryName(fileName);int fileSize = (int) fsIn.Length;int segments = (int) (fileSize / m_segmentSize);int remainder = (int) (fileSize % m_segmentSize);if (remainder > 0) segments++;byte[] buffer = new byte[blockSize];for (int i = 0; i < segments; i++){FileStrea fsOut = new FileStream(fileName + "." + i, FileMode.Create,FileAccess.Write);int blocks = (int) (m_segmentSize / blockSize);if ( remainder > 0 && i < segments - 1){for ( int j = 0; j < blocks ; j++){fsIn.Read(buffer, 0, blockSize);fsOut.Write(buffer, 0, blockSize);}}else{int finalBlocks = (int) (remainder / blockSize);int lastBlock = (int) (remainder % blockSize);for (int k = 0; k < finalBlocks; k++){fsIn.Read(buffer, 0, blockSize);fsOut.Write(buffer,0,blockSize);}fsIn.Read(buffer, 0, lastBlock);fsOut.Write(buffer, 0, lastBlock);
  45. 45. 45}fsOut.Flush();fsOut.Close();}fsIn.Close();return (int) segments;}}FileJoinerpublic class FileJoiner{private int m_blockSize = 4096; //arbitraryprivate bool m_beenCleaned = false;public event ProgressNotifyHandler ProgressNotify;static void Main ( string[] args ){//TestCase2();TestCase1();}public void JoinFile ( string fileName ){this.JoinFile( fileName, null );}public void JoinFile ( string fileName, string outFile ){string basePath = System.IO.Path.GetDirectoryName( fileName );string baseFileName = Path.GetFileNameWithoutExtension( fileName );int baseFileNumber = Utilities.GetFileNumber ( fileName );if ( baseFileNumber != 0 ) {throw new ArgumentException ( "Invalid starting file name - must end in 0", "fileName");}ArrayList fileList = new ArrayList(System.IO.Directory.GetFiles( basePath, baseFileName+ @".*" ));CleanArrayList(fileList);
  46. 46. 46if ( outFile == null ) outFile = basePath + @"" + baseFileName;JoinFile( (string[]) fileList.ToArray( typeof(string) ), outFile );}public void JoinFile ( string[] fileList, string outFile ){fileList = CleanArrayList ( fileList );FileInfo[] fileInfo = new FileInfo[fileList.Length];for ( int i = 0; i < fileList.Length; i++ ){fileInfo[i] = new FileInfo( fileList[i] );if ( ! fileInfo[i].Exists )throw new IOException( String.Format("file {0} doesnt exist", fileList[i] ) );}//open outfile exclusivelyFileStream fsOut = null;try {fsOut = File.Open( outFile, FileMode.Create, FileAccess.Write, FileShare.None);int bytesRead = 0;byte[] buffer = new byte[m_blockSize];for ( int i = 0; i < fileList.Length; i++ ){FileStream fsIn = null;try {fsIn = File.Open( fileInfo[i].FullName, FileMode.Open, FileAccess.Read, FileShare.Read);while ( 0 < (bytesRead = fsIn.Read( buffer, 0, m_blockSize )) ){fsOut.Write( buffer, 0, bytesRead );}OnProgessNotify( Utilities.GetPercentComplete ( i, fileList.Length ));}finally {if ( fsIn != null ) fsIn.Close();}}
  47. 47. 47fsOut.Flush();}finally {if ( fsOut != null ) fsOut.Close();OnProgessNotify( 100 );}}private void CleanArrayList ( ArrayList arrList ){if ( ! m_beenCleaned ){for ( int i = 0; i < arrList.Count; i++) {if ( Utilities.GetFileNumber ( (string) arrList[i] ) == -1 ) {arrList.Remove( arrList[i] );}}arrList.Sort( new FileListComparer() );}m_beenCleaned = true;}private string[] CleanArrayList ( string[] fileList ){ArrayList arrList = new ArrayList( fileList );CleanArrayList ( arrList );return (string[]) arrList.ToArray( typeof(string) );}protected virtual void OnProgessNotify( int i){if ( ProgressNotify != null ){try {ProgressNotify( i );}catch {}//catch & sqaush the exceptions...}
  48. 48. 48}#region Testsstatic void TestCase1 (){FileJoiner fj = new FileJoiner();string[] files = new string[12];files[0] = @"";files[1] = @"";files[2] = @"";files[3] = @"";files[4] = @"";files[5] = @"";files[6] = @"";files[7] = @"";files[8] = @"";files[9] = @"";files[10] = @"";files[11] = @"";string resultFile = @"";fj.JoinFile( files, resultFile );}static void TestCase2 (){FileJoiner fj = new FileJoiner();fj.JoinFile( @"");}#endregion}class FileListComparer : IComparer{#region IComparer Memberspublic int Compare(object x, object y){if ( Utilities.GetFileNumber( (string)x) < Utilities.GetFileNumber( (string)y) )
  49. 49. 49return -1;if ( Utilities.GetFileNumber( (string)x) > Utilities.GetFileNumber( (string)y) )return 1;return 0;}#endregion}
  50. 50. 507. TESTING7.1 IntroductionSoftware testing is a critical element of software quality assurance and represents theultimate review of specification, design and coding. The increasing visibility of software as asystem element and attendant costs associated with a software failure are motivating factorsfor we planned, through testing. Testing is the process of executing a program with the intentof finding an error. The design of tests for software and other engineered products can be aschallenging as the initial design of the product itself.There of basically two types of testing approaches.One is Black-Box testing – the specified function that a product has beendesigned to perform, tests can be conducted that demonstrate each function is fullyoperated. The other is White-Box testing – knowing the internal workings of theproduct ,tests can be conducted to ensure that the internal operation of the productperforms according to specifications and all internal components have been adequatelyexercised. White box and Black box testing methods have been used to test thispackage. All the loop constructs have been tested for their boundary and intermediateconditions. The test data was designed with a view to check for all theconditions and logical decisions. Error handling has been taken care of by the use ofexception handlers.Strategies:Testing is a set of activities that can be planned in advanced and conductedsystematically. A strategy for software testing must accommodation low-level tests that arenecessary to verify that a small source code segment has been correctly implemented as wellas high-level tests that validate major system functions against customer requirements.Software testing is one element of verification and validation. Verification refers to the setof activities that ensure that software correctly implements as specific function. Validationrefers to a different set of activities that ensure that the software that has been built istraceable to customer requirements. The objective of software testing to uncover errors. Tofulfill this objective, a series of test steps unit, integration, validation and system tests areplanned and executed. Each test step is accomplished through a series of systematic test
  51. 51. 51technique that assist in the design of test cases. With each testing step, the level ofabstraction with which software is considered is broadened.7.2 Unit Testing:Unit testing focuses verification effort on the smallest unit of software design – themodule. The unit test is always white box oriented. The tests that occur as part of unittesting are testing the module interface, examining the local data structures, testing theboundary conditions, executing all the independent paths and testing error-handling paths.7.3 Integration Testing:Integration testing is a systematic technique for constructing the program structurewhile at the same time conducting tests to uncover errors associated with interfacing. Scopeof testing summarizes the specific functional, performance, and internal designcharacteristics that are to be tested. It employs top-down testing and bottom-up testingmethods for this case.7.4 White Box Testing:The purpose of any security testing method is to ensure the robustness of a system inthe face of malicious attacks or regular software failures. White box testing is performedbased on the knowledge of how the system is implemented. White box testing includesanalyzing data flow, control flow, information flow, coding practices, and exception anderror handling within the system, to test the intended and unintended software behavior.White box testing can be performed to validate whether code implementation followsintended design, to validate implemented security functionality, and to uncover exploitablevulnerabilities. White box testing requires access to the source code. Though white boxtesting can be performed any time in the life cycle after the code is developed, it is a goodpractice to perform white box testing during the unit testing phase.White box testing requires knowing what makes software secure or insecure, how tothink like an attacker, and how to use different testing tools and techniques. The first step inwhite box testing is to comprehend and analyze source code, so knowing what makessoftware secure is a fundamental requirement. Second, to create tests that exploit software, atester must think like an attacker. Third, to perform testing effectively, testers need to knowthe different tools and techniques available for white box testing. The three requirements donot work in isolation, but together.
  52. 52. 527.5 Black Box Testing:Also known as functional testing. A software testing technique whereby the internalworkings of the item being tested are not known by the tester. For example, in a black boxtest on software design the tester only knows the inputs and what the expected outcomesshould be and not how the program arrives at those outputs. The tester does not ever examinethe programming code and does not need any further knowledge of the program other than itsspecifications.The advantages of this type of testing include: The test is unbiased because the designer and the tester are independent of each other. The tester does not need knowledge of any specific programming languages. The test is done from the point of view of the user, not the designer. Test cases can be designed as soon as the specifications are complete.7.6 System Testing:System testing validates software once it has been incorporated into a larger system.Software is incorporated with other system elements and a series of system integration andvalidation tests are conducted. System testing is actually a series of different test whoseprimary purpose is to fully exercise the computer- based system. Once the system has beendeveloped it has to be tested. In the present system we have to take care of valid propertyand assessment numbers i.e. there should not exist any duplicate number in each case. Careshould be taken that the appropriate data is retrieved in response to the queries.VALIDATION:The terms verification and validations are used interchangeably we will describe boththese methods. Verification is the process of determining whether or not the products ofgiven phase of software development fulfill the specifications established in the previousphase. These activities include proving and reviews. Validation is the process of evaluatingthe software at the end of software development process, we find how well the softwaresatisfies the requirement specifications.The requirement of the software starts with requirement document and requirementspecifications without errors and specifying client’s requirements correctly. The validationprocess of evaluating the developed system at the end is to ensure that it must satisfy all the
  53. 53. 53necessary requirement specification. Requirement verification also checks the factors ascompleteness, consistency and testability of the requirements.As we all know that testing plays a crucial role in evaluation of the system. That is inorder to know whether the system working properly or not. In other words we can say that inorder to know whether the system which we have developed will give the expected output ornot can be know by doing the testing. Testing phase comes after coding phase. Usuallyorganizations or the software developing companies use different types of testing strategiesin order to evaluate the performance of a system. Also it gives the output which providesclear information regarding the project or system, whether the project which we havedeveloped will going to give the expected output or not , that is whether the system fails orsucceed in the market.We have many types of testing such as unit testing, integration testing, system testing,black box testing, white box testing and regression analysis testing and so on. In our projectSecure Cryptographic messaging we are using unit testing, integration testing, and systemtesting. Unit testing is the one in which each entity or objects in the module will be tested.Once the entity is evaluated to be tested successfully than will move further with the anotherkind of testing. That’s is once unit testing is done with all modules, than integration testingwill be done, on the every module or on group of two or three modules. Finally systemtesting will be done , in which all the modules of a system will be tested at once , there bygetting the overall performance of a system that means we can conclude the result on theentire system whether our system is working as per our requirements or as per ourexpectations or not. The advantage of developing or testing modules wise is that, we canreduce the effort, cost and time. Because if we are testing module wise than we can knowclearly which module is working fine and which module is not working, thereby the modulewhich is not working perfectly can be evaluated once again by going necessary modificationsunlike the system being tested on a whole, where if any errors comes in than the entiresystem need to be tested or evaluated which consumes more effort, time and cost.
  54. 54. 547.7 Test Cases:Test Case 1:FUNCTION EXPECTEDRESULTSACTUALRESULTSLOWPRIORITYHIGHPRIOTYSegmentationShould get thefile size,depending uponwhich willdecide the no ofsegments.Success -------- yesTable7.7.1: Test Case1Test Case 2:FUNCTION EXPECTEDRESULTSACTUALRESULTSLOWPRIORITYHIGHPRIOTYFile SplitterIf we select filesplitter, we needto split theoriginal filesbased onsegmentation.Success --------- YesFile JoinerThe splitted filescan be re joinedagain to obtainthe original file.The operationexecuted success.YesTable7.7.2: Test Case2
  55. 55. 558. Implementation8.1 Running Application:In order to run the web application the steps we need to follow are listed below:1) Open the visual studio IDE (Integrated Development Environment) that is VisualStudio2008 or other version.Fig8.1: Running Application
  56. 56. 562) Click on file -> open -> browse the folder in which the project is there then select theSolution file of the project.Fig 8.2: Open Application Project
  57. 57. 573) Click on open option. Than in the solution explorer you will find all the forms and classesthat are related to the project.Fig 8.3: View Project
  58. 58. 584) Run the application by pressing F5 or debugging button.Fig 8.4: Running Project
  59. 59. 59CONCLUSIONUsing our application, splitting of file will be for all types of files like text, document,image, audio, video, pdf, etc. The advantage of splitting the file is that, we can upload ordownload the splitted file easily, when there is a restriction in size of the file to be uploadedor downloaded. Small and lightweight, less than a megabyte in size, works fast. Splits large files at adjustable sizes, enter value in KB or MB. Files can also be joined, uses the .001, .002, .003 format. Can be portable, run it from the USB flash drive and split files.
  60. 60. 60FUTURE ENHANCEMENTAll most process of the proposed system has been completed. Each and Every phasein this project is developed keeping the goals in mind as per as an concerned. Every projecthas its own limitations. Similarly this project also has own limitations and when can beupgraded.The future enhancement of our project is we can split very large files which of TBsize. We can also use conversions from one file format to another file format (Ex: Mp3 toWAV) converter. We can also provide option for splitting multiple documents.create one shortcut (a class or a shell script or an xml descriptive file) after asplit to allows to do the join in one click and checksum verification, keep name of originalfile, etc. Add a zip command to prepare backup of multiple files or directory. Add web start links to this page. Allows saving directly on disks. Command line execution.
  61. 61. 61REFERENCESThe following books were referred during the analysis and execution phase of the project:SOFTWARE ENGINEERING By Roger S. Pressman, MSDN 2002, By Microsoft. Jeff Poise (2002). Programming Microsoft .NET. Microsoft Press.