You are on page 1of 72

ABSTRACT Most of the general public may not have access to internet on the computers and also may

not be computer literate, especially in rural areas. But now-a-days, due to the revolution in telecommunication field for the last decade, mobile phone has become a minimal need and is being used very easily by general public. Also usage of "Internet enabled phone" is increasing and is handy (known as "smart phone") than sitting/working at a desktop for Internet usage. Even we can browse while traveling also; emergency needs may be attended. Taking the above facts into consideration, we have designed a unique "Text Editor" with FTP capabilities Download application, a tool through which a mobile user can Create Files and Directories, View Files in built-in browser, and with HTTP, the communication function has been added FTP. HTTP is normally only using a NSURLConnection, FTP is preserved SimpleFTPSample of Apple and Input symbols by accessory view. In creating files the user can edit or remove files from the existing, add new files, viewing existing files or folders and we can change the file name or folder name. The view of the user is in the form of a PDF file that can mailed to iPad held by the user. We can download and upload files.

Auroras Degree & PG College

Page 1

INTRODUCTION

PURPOSE: Our project aims to build information system on a mobile phone using the latest technology in the market namely iPad. Text Editor is an iPad application which helps developers to upload, download and edit files.

EXISTING SYSTEM: In present scenario, we will continue more and more away from the files of contents had been originally planned, would well, whatever. Innovations will a files content of this is extremely simple. In this we can edit those files, delete, and also we can apply undo and redo operations. Although there is the huge amount of free softwares available online but open-source softwares have numerous advantages, apart from their price (i.e. free), they provide you the right to modify and redistribute the software with modifications. The right to modify is important, it enables you to change the software the way you like, also there are plenty of softwares developed but never updated, in this case if you have the right to modify then they

can be very handy for needy people as anybody can update it. So looking at their importance, in this article we will feature 50 essential Text Editor applications for your Mac; those which will help in performing your daily life task easily. Problems in the existing system: Difficult to carry from one place to another. Storing bulk amount of data is difficult. Only we can add or edit or delete files but cant add images in text editor. 2.3 PROPOSED SYSTEM: In the proposed scenario, we design a mobile application where details about different files are provided. This helps the user to navigate to that particular text easily. This application also provides additional features by which we can edit the text, uploading files, downloading files, and also we can add input symbols to keypad. And set it as a Text View Accessory View of View made earlier. The method in the init of DetailViewController, simply assign an instance to inputAccessoryView of textView_. Accessory View will be displayed in this.

ADVANTAGES OVER EXISTING SYSTEM:


Auroras Degree & PG College Page 3

Easy to carry as it is a mobile application. All details are present at a single place. Easy to maintain and store large amount of data. Since it is a mobile app it can be accessed from anywhere at any time. Those files are saved automatically. SCOPE: The scope of Text Editor with FTP capabilities

application is as follows: To develop a user interface which provides the user the

ability to select the required file among the test.html, google.com, and class.txt. View information to the selected file using Google. Select his choice of download; upload files based on the

description given.

OVERVIEW: One of the fastest growing industries of information

technology is the mobile industry. The SDKS namely symbain, windows mobile SDK, iPad SDK and Android from Google which is supported for Google phones are described as next Generation mobiles. In our project, we intend to combine the unique technologies of both iPad and iPhone and create a powerful mobile application. Here, all the required information of a user visiting the above three files are present at the same folder. This includes information about how to download or upload files, where it is store. TEXT EDITOR WITH FTP CAPABILITIES is done by taking three important files namely test.html, google.com, and class.txt. Important download files by http download or upload files, and Accessory view details are provided. Apart from knowing where the file is located using the search, the user also knows information about the prominent download and upload files. This is made possible by browsing of information from several sources.

FEASIBILITY STUDY The next step in analysis is to verify the feasibility of


Auroras Degree & PG College Page 5

the proposed system. All projects are feasible given unlimited resources and infinite time". But in reality both resources and time are scarce. Project should confirm to time bounce and should be optimal in their consumption of resources. This place a constant is approval of any project. Feasibility has applied to digital tune pertains to the following areas: Technical feasibility Operational feasibility Economical feasibility TECHNICAL FEASIBILITY: To determine whether the proposed system is technically feasible, we should take into consideration the technical issues involved behind the system.

OPERATIONAL FEASIBILITY: To determine the operational feasibility of the system

we should take into consideration the awareness level of the users. This system is operational feasible since the users are familiar with the technologies and hence there is no need to gear up the personnel to use system. Also the system is very friendly and to use. ECONOMIC FEASIBILITY: To decide whether a project is economically feasible, we have to consider various factors as: Cost benefit analysis Long-term returns Maintenance costs

SOFTWARE REQUIREMENT SPECIFICATIONS(SRS)

Auroras Degree & PG College

Page 7

SDLC Models There are various software development approaches defined and designed which are Used/employed during development process of software, these approaches are also referred as "Software Development Process Models". Each process model follows a particular life cycle in order to ensure success in process of software development. Software development life cycle is an extensive process which is often divided into phases or stages are to reduce the implementation complexity. There different design

principles of software development life cycle, which aim at developing a software model as per customer's requirements. Although, the ultimate aim of these principles is same, they greatly differ in their basic implementation approach. Prototyping Model: It begins with requirements gathering. Developer and customers meet and define the overall objectives of the Software, identify whatever requirements are known and identify the areas which require further definition. In many instances the client only has a general view of what is expected from the software product. In such a scenario where there is an absence of detailed information regarding the input to the system, the processing needs and the output requirements, the prototyping model may be employed. This model reflects an attempt to increase the flexibility of the development process by allowing the client to

interact and experiment with a working representation of the product. Merits: 1. It could serve as the first system. 2. The customer doesn't need to wait long as in the linear model. 3. Feedback from customers are received periodically and the changes don't come as a last minute surprise. Demerits: 1. Customer could believe the prototype as the working version. 2. Developer also could make the implementation compromises where he could make the quick fixes to the prototype and make is as a working version. 3. Often clients expect that few minor changes to the prototype will more than suffice their needs. They fail to realize that no consideration was given to the overall quality of the software in the rush to develop the prototype.

Auroras Degree & PG College

Page 9

Requirements Gathering:

The basic step to start any kind of project is the requirements gathering phase. It includes the process of collection the requirements of the customer or client.

But when we started this application all the requirements was not available. We started this application with some basic requirements.

All the requirements are mentioned in the SRS. With this basic requirements we conducted a precise analysis and started working on the designing the prototype which is the newt phase of the prototype model.

It included the process of identifying the technologies to be used.

Developing a Prototype:

In this phase we started the proceeding by design based on the initial requirements. Here we developed a dummy application with the XML pages which are the static screens.

XML pages provide the Graphical User Interface. "This process of developing a duplicate is called as Prototyping".

Auroras Degree & PG College

Page 11

According to the screens we designed we started the designing which included the Data Flow Diagrams an ER Diagrams.

The Data Base was also designed in this phase only. This was the first prototype developed by us. The application is needed to be developed according to the requirements specified by the customer.

Review the Prototype:

Here the developed prototype will shown to the customer, this process includes taking the feedback from the customers and making the changes accordingly.

After developing the prototype based on the feedback of the customers again the reviews will be conducted on the prototype. This process continues till all the requirements of the customers will satisfy.

The next is the review of the prototype developed in the previous phase. While conducting the reviews the requirements were coming in, as per the requirements we updated the prototype.

Updating includes the changes in the database, the UI, designing. This phase included the redesigning of the system according to the requirements.

Development:

This phase includes actual coding of the application i.e., the development of the application. Here the total system will be built using the technologies.

We used XML for the front end static pages, to make these pages dynamic we used JSP, Servlets. JSP's were used for the presentation logic; Servlets were used for the business logic.

Here the development is done based on the designing which was done in the previous phase.

Deployment and Maintenance:

Deployment is all of the activities that make a software system available for use.

The general deployment process consists of several interrelated activities with possible transitions between them. These activities can occur at the producer site or at the consumer site or both.

Because every software system is unique, the precise processes or procedures within each activity can hardly be defined. Therefore, deployment" should be interpreted as a general process that has to be customized according to specific requirements or characteristics. A brief description of each
Auroras Degree & PG College Page 13

activity will be presented later.

Maintenance is the modification of a software product after delivery to correct faults, improve performance, or other product attributes, or to adapt the product to a new or changing environment.

REQUIREMENTS ANALSIS

Software Requirement Specification (SRS) is the starting point of the software developing activity. As system grew more complex it became evident that the goal of the entire system cannot be easily comprehended. Hence the need for the requirement phase arose. The software project is initiated by the client needs. The SRS is the means of translating the ideas of the minds of clients (the input) into a formal document (the output of the requirement phase). The SRS phase consists of two basic activities: PROBLEM/REQUIREMENT ANALYSIS The process is order and more nebulous of the two, deals with understand the problem, the goal and constraints. The requirements which are gathered from the customers will be analyzed to understand the problem. This makes the people include in the project easier understanding of

what the client is expecting. REQUIREMENT SPECIFICATION: Here, the focus is on specifying what has been found giving analysis such as representation, specification languages and tools, and checking the specifications are addressed during this activity. The Requirement phase terminates with the production of the validate SRS document. Producing the SRS document is basic goal of this phase.

NON FUNCTIONAL REQUIREMENTS: Maintainability: All the modules must be clearly separate to allow different user interfaces to be developed in future. Thoughtful and effective software engineering, all steps of the software development process will be well documented to ensure maintainability of the product throughout its life time. All development will be provided with good documentation.

Performance:

Auroras Degree & PG College

Page 15

The response time, utilization and throughput behavior of the system. Care is taken so as to ensure a system with comparatively high performance. While we searching the data from the mobile using our mobile system app its performance is high and it takes the less time to getting precise data. Usability: The ease of use and training the end users of the system is usability. System should have qualities like-learning ability, efficiency, affect, control. Portability: The ability of the system to run under different computing environments. The environment types can be either hardware or software, but is usually a combination of two. Reusability: The extent to which existing application can be reused in new application. Our application can be reused a number of times without any technical difficulties. CorrectnessExtent to which program satisfies

specifications, fulfills user's mission objectives. Reliability- The probability of failure-free operation of

computer program in a specified environment for a specified time. The application is reliable because of the qualities that are inherited from the chosen platform java. Also, well proven technologies like Text editor are used to connect with the server which facilitates reliability. SOFTWARE REQUIREMENTS: OS Language IDE Design Tool Testing Tool Output View : : : : : : Mac OS Lion Objective C X-Code Interface Builder Instruments Simulator

HARDWARE REQUIREMENTS: Processor RAM HDD Keyboard : : : : Inter Core 2 Duo 2 GB 20 GB 108 Standards

DESIGN Modules:

Auroras Degree & PG College

Page 17

Make Files and Directories Connect to FTP Download files by HTTP Download and Upload files by FTP Input symbols by Accessory View Create Directories and Files: Using this module, developers can create new directories and files. If youre going to go bargain basement on a text editor that also syncs with Drop box, Plaintexts (free. but $5 to remove adds) is very hard to beat. Its a basic, no frills app that just lets you get down to writing. Writings for iPad ($5) (Disclosure: I was in the private beta test, so I received the app for free while testing.) is a much more elegant app for the iPad. It also has Drop box syncing, but adds a really nice UI on top of the usual features. It doesnt allow you to create folders like PlainText does, but the extras like being able to create docs to and from the clipboard, tying into the Edit in dialogs and a nice full screen focus mode

View Files in Built-in Browser: Using this module, developers can check their HTML files with in the application.

The iPhone and iPad may come loaded with Safari, but that does not mean you're stuck with just that browser. Several good iPhone browser apps have been released, giving you more options for your mobile browsing experience. We found iPhone browsers that can play Flash video (sort of) or navigate web pages significantly faster than Safari. There's even a browser app that can stream audio and video to an Apple TV. See which iPhone browsers earn a recommendation.

Download Files by HTTP: Using this module, developers can download files by HTTP i.e., port 80. That's why Text Editor is so popular. Whether you simply need a powerful replacement for Notepad, a tool for editing your web pages, or a programming IDE, Text Editor does what you want, the way you would expect. It's available from this web site on a try before you buy basis, so please download your trial copy now, and find out just how productive you can be.

Download or Upload files by FTP:

Using this module, developers can download or upload files by FTP i.e., port 21. In the language of the Internet, FTP refers to a network protocol
Auroras Degree & PG College Page 19

responsible for transferring files from one computer to another over a TCP computer network or the Internet, which explains the origin of its name, formed as an acronym of File Transfer Protocol. To take an advantage of FTP you must have an active Internet connection, a hosting server from or to where the files will be transferred and FTP account creation rights. All web hosting plans offered by NTC Hosting feature an integrated FTP Manager, allowing users to create several.

The FTP service is provided through a TCP network protocol. In order to establish an FTP connection the user needs to point his FTP client to an FTP server. The information needed includes an FTP host, FTP account credentials (username or password) and an FTP port. The FTP host is the domain or sub domain address of the FTP server The FTP account credentials are the unique username and its corresponding password for a specific FTP account. The FTP account must be previously created on the FTP host server. Also, there is an option for the FTP server to allow connections withanonymouslogindetails. The FTP port is the network port on the server where the server's ftp service is listening for incoming connections. By default, the FTP port is set to 21, but it can be easilysettoanotherport.

Active mode - When the FTP server is set to use connections in Active mode it waits for the user's FTP client to open a dynamic port. Then the client sends a PORT command containing the dynamic port number on which it is listening over the control stream and waits for a connection from the FTP server. When the FTP server initiates the data connection to the FTP client it binds the source port to port 20 on the FTP server. Once you have established a connection to a server, you can now start transferring files between your computer and the remote FTP server.

In this example, we will go through the steps to upload a file to a website. When creating a website, you have to upload your web pages to the FTP server so that the rest of the internet can view them via a web browser. One of the more common files you will deal with is an index.html file. This file is the first file that will be browsed when someone goes to visit your website. Your files on your computer are displayed in the local directory listing which is on the left side of the screen. This tutorial assumes you know how to locate your files on your hard drive. Many web page editors will put your files in your "My Documents" or other easy to find places. To upload a file to the FTP server, all you have to do is select (highlight) the index.html file in the local directory listing, and then click on the upload button. You can
Auroras Degree & PG College Page 21

alternatively right click on the selected file, and select upload, or click and drag the file over to the remote directory listing

Input Symbols by Accessory view: Using this module, developers can insert special

characters with accessory view. ARCHITECTURE: Technical Architecture: Technical Architecture is one of several architecture domains that describes the structure and behavior of the technology infrastructure of an enterprise, solution or system. It covers the client and server nodes of the hardware configuration, the infrastructure applications that run on them, the infrastructure services they offer to applications, the protocols and networks used. Our project uses the 2 tier architecture consisting of the Mobile User and the database as shown below. Data Flow Diagrams: A graphical tool used to describe and analyze the moment of data through a system manual or automated including the process, stores of data, and delays in the system. Data Flow Diagrams are the central tool and the basis from which other components are developed. The transformation of data from

input to output, through processes, may be described logically and independently of the physical components associated with the system. The DFD is also know as a data flow graph or a bubble chart. DFDs are the model of the proposed system. They clearly should show the requirements on which the new system should be built. Later during design activity this is taken as the basis for drawing the systems structure charts. The Basic Notation used to create a DFDs are as follows: 1. Dataflow: Data move in a specific direction from an origin to a destination.

2.

Process: People, procedures, or devices that use or The physical component is not

produce (Transform) Data. identified.

3. Source: External sources or destination of data, which may be People, programs, organizations or other entities.

Auroras Degree & PG College

Page 23

UNIFIED MODELING LANGUAGE WHY WE NEED A MODEL: A successful software organization is one that consistently deploys quality software that meets the needs of its user. An organization that can develop such software in a timely and predictable fashion with an efficient and effective use of resources is one that has a sustainable business. Modeling is a central part of all activities that lead up to the deployment of good software. We build models to communicate the desired structure and behavior of our system to visualize and control the systems architecture. A model is simplification of reality. We build model so that we can better understand the system we are developing. We cant comprehend complex system in its entities. The choice of what models to create has a profound influence on how a problem is attacked and how a solution is shaped. Every model may be expressed at different levels of
Auroras Degree & PG College Page 25

perception. The best models are connected to reality. No single model is sufficient. Every nontrivial system is best approached through a small set of nearly independent models.

INTRODUCTION TO UML The Unified Modeling Language (UML) is a standard and appropriate language for writing software blueprint and for modeling systems ranging from enterprise information system to distributed web based applications and even to hard real embedded systems. OVERVIEW The UML is a language for Visualizing Specifying Constructing Documenting The artifacts of software intensive system. A modeling language is a language whose vocabulary and roles focus on conceptual and physical representation of a system that yields an understanding of the different views of evolution of software development lifecycle.

In visualizing we communicate the conceptual model to others to eradicate errors and developer who cut the code never writes the models, so we visualize. Specifying means building models that are precise,

unambiguous and complete. Things that are best expressed graphically are done so graphically in UML, where as things that are best expressed language, textually mapping are done as in programming permits forward

engineering and constructing. Documenting includes: Requirements Architecture Designing Source code Project plans Tests Prototype Releases The UML address the documentation of system architecture and all of its details like expressing requirements and modeling activities of project planning and release management. UML can be effectively used for domain such as:
Auroras Degree & PG College Page 27

Enterprise information systems Banking financial services Telecommunications Transportations Distributed web-based services CONCEPTUAL MODEL The conceptual model of UML requires learning three major elements: the UMLs basic building blocks, the rules that dictate how those building blocks may be put together and some common mechanism that applying throughout the UML. DIAGRAMS IN UML A diagram is the graphical presentation of a set of elements, most often rendered as a connected graph of vertices (things) and arcs (relationships). We draw diagrams to visualize most trivial systems from different perspectives, so a diagram is a projection into a system. UML includes nine such diagrams: Class Diagram Object Diagram Use case Diagram Sequence Diagram Collaboration Diagram State chart Diagram Activity Diagram

Component Diagram Deployment Diagram A class diagram shows a set of classes, interfaces, and collaborations and their relationships. These diagrams address the static design view of a system. An object diagram shows a set of objects and their relationships. They represent the static design or static process view of a system. A use case diagram shows a set of use cases and actors and their relationships. These include especially diagrams important in organizing and modeling the behavior of a system. USE CASE DIAGRAMS: A use case diagram in the Unified Modeling Language (UML) is a type of behavioral diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical overview of the functionality provided by a system in terms of actors, their goals (represented as use cases), and any dependencies between those use cases. The main purpose of a use case diagram is to show what system functions are performed for which actor. Roles of the actor in the system can be depicted. The use case diagrams in this application show how user
Auroras Degree & PG College Page 29

can access the functionalities of the application. The use cases are the functionalities that the user can perform. In this application the user can get all the Slam Information which is shown in use case diagram of text editor module. The user can add the information that is shown in use case diagram of make file module. The use can get. The user can get the information of text which is shown in use case diagram of Ftp module.

System

Cr e a t ing file s a nd fo lde r s

Vie w fille s in built _in br o ws e r

Us e r 1

Do wnlo a d file s b y HTTP

Do wnlo a d / Uplo a d file s by FTP

I np ut s y m b ols b y a cce s s o r y v ie w

SEQUENCE DIAGRAM: A sequence diagram in Unified Modeling Language(UML) is a kind of interaction diagram that shows how processes operate with one another and in what order. It is a construct of a Message Sequence Chart. Sequence diagrams are sometimes called event diagrams, event scenarios, and timing diagrams.

Auroras Degree & PG College

Page 31

/ Use r

/ A ccess

/ Cr ea t e files

/ Input sy m bols

/ Public_ht m l

/ FTP Se rv e r

1 : Username, password() 3

2 : Acknowledgement()

4 : create() 5 : Rename()

6 : Accessory view() 7

8 : Download()

9 : Upload() 10 11 : connect to ftp()

12

ACTIVITY DIAGRAM:
Activity diagrams describe the workflow behavior of a system. Activity diagrams are similar to state diagrams because activities are the state of doing something. The diagrams describe the state of activities by showing the sequence of activities performed. Activity diagrams can show activities that are conditional or parallel. Activity diagrams should be used in conjunction with other modeling techniques such as interaction diagrams and state diagrams. The main reason to use activity diagrams is to model the workflow behind the system being designed. Activity Diagrams are also useful for: analyzing a use case by describing what actions need to take place and when they should occur; describing a complicated sequential algorithm; and modeling applications with parallel processes.

Auroras Degree & PG College

Page 33

Setting Bundle

Server, User id, Passward

Verify

Select public_html

Download

Upload

IMPLEMENTATION SELECTED SOFTWARE: MAC OS LION: Mac OS is a series of graphical user interface-based operating systems developed by Apple Inc. (formerly Apple Computer, Inc.) for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface. The original form of what Apple would later name the "Mac OS" was the integral and unnamed system software first introduced in 1984 with the original Macintosh, usually referred to simply as the System software.

The "classic" Mac OS is characterized by its total lack of a command line; it is a completely graphical operating system. Versions of Mac OS up through System 4 only ran one application at a time. Even so, it was noted for its ease of use. Mac OS gained cooperative multitasking with System 5, which ran on the Mac SE and Macintosh II. It was criticized for its very limited memory management, lack of protected memory, and susceptibility to conflicts among operating system "extensions" that provide additional functionality (such as networking) or support for a particular device. Some extensions may not work properly together, or work only when loaded in a particular order. Troubleshooting Mac OS extensions could be a timeconsuming process of trial and error. The Macintosh originally used the Macintosh File System
Auroras Degree & PG College Page 35

(MFS), a flat file system with only one level of folders. This was quickly replaced in 1985 by the Hierarchical File System (HFS), which had a true directory tree. Both file systems are otherwise compatible. Mac OS X Lion (version 10.7; marketed as OS X Lion) is the eighth and current major release of Mac OS X, Apple's desktop and server operating system for Macintosh computers. A preview of Lion was publicly unveiled at Apple's "Back to the Mac" event on October 20, 2010. It brings many developments made in Apple's iOS, such as an easily navigable display of installed applications, to the Mac, and includes support for the Mac App Store, as introduced in Mac OS X Snow Leopard version 10.6.6.On February 24, 2011, the first developer's preview of Lion (11A390) was released to subscribers of Apple's developers program. Other developer previews were subsequently released, with Lion Preview 4 (11A480b) being released at WWDC 2011. Lion achieved golden master status on July 1, 2011, followed by its final release via the Mac App Store on July 20, 2011. Apple reported over 1 million Lion sales on the first day of its release. As of October 2011, Mac OS X Lion has sold over 6 million copies worldwide.

OBJECTIVE C: Objective-C is a reflective, object-oriented programming language that adds Smalltalk-style messaging to the C programming language. Today, it is used primarily on Apple's Mac OS X and iOS: two environments derived from the Open Step standard, though not compliant with it. Objective-C is the primary language used for Apple's Cocoa API, and it was originally the main language on NeXT's Next STEP operating system. Generic Objective-C programs that do not use these libraries can also be compiled for any system supported by gcc or Clang. Objective-C is a thin layer on top of C, and moreover is a strict superset of C; it is possible to compile any C program with an Objective-C compiler, and to freely include C code within an Objective-C class. Objective-C derives its object syntax from Smalltalk. All of the syntax for non-object-oriented operations (including primitive variables, pre-processing, expressions, function declarations, and function calls) are identical to that of C, while the syntax for object-oriented features is an implementation of Smalltalk-style messaging.

MYSQL:

MySQL ( "My S-Q-L",officially, but also commonly "My


Auroras Degree & PG College Page 37

Sequel") is the world's most used relational database management system (RDBMS) that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, my. The SQL phrase stands for Structured Query Language.

The MySQL development project has made its source code available under the terms of the GNU General Public License, as well as under a variety of proprietary agreements. MySQL was owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, now owned by Oracle Corporation.

Free-software-open source projects that require a fullfeatured database management system often use MySQL. For commercial use, several paid editions are available, and offer additional functionality. Applications which use MySQL databases include: TYPO3, Joomla, WordPress, phpBB, Drupal and other software built on the LAMP software stack. MySQL is also used in many high-profile, large-scale World Wide Web products, including Wikipedia, Google (though not for searches), Facebookand Twitter.

XCODE: Xcode is an Integrated Development Environment (IDE) containing a suite of software development tools developed by Apple for developing software for OS X and iOS. First released in 2003, the latest stable release is version 4.3.2 and is

available via the Mac App Store free of charge for Mac OS X Lion users.Registered developers can download preview releases and previous versions of the suite through the Apple Developer website. The main application of the suite is the integrated development environment (IDE), also named Xcode. The Xcode suite also includes most of Apple's developer documentation, and built-in Interface Builder, an application used to construct graphical user interfaces. The Xcode suite includes a modified version of the GNU Compiler Collection as well as, in Xcode 3.1 and later, Apple's llvm-gcc compiler, with front ends from the GNU Compiler Collection and a code generator based on LLVM, and, in Xcode 3.2 and later, Apple's LLVM Compiler, with the clang front end and a code generator based on LLVM, and the Clang Static Analyzer. It supports C, C++, Objective-C, Objective-C++, Java, AppleScript, Python and Ruby source code with a variety of programming models, including but not limited to Cocoa, Carbon, and Java. Third parties have added support for GNU Pascal, Free Pascal, Ada, C#, Perl, and D. The Xcode suite used the GNU Debugger as the back-end for its debugger. As of version 4.2 the Apple LLVM Compiler became the default compiler. LLDB became the default debugger as of Xcode 4.3

INTERFACE BUILDER: Interface Builder is a software development application for Apple's Mac OS X operating system. It is part of Xcode
Auroras Degree & PG College Page 39

(formerly Project Builder), the Apple Developer Connection developer's toolset. Interface Builder allows Cocoa and Carbon developers to create interfaces for applications using a graphical user interface. The resulting interface is stored as a .nib file, short for NeXT Interface Builder, or more recently, as a .xib file. Interface Builder is descended from the Next STEP development software of the same name. A version of Interface Builder is also used in the development of Open Step software, and a very similar tool called Gorm exists for GNU step. On March 27, 2008, a specialized iPhone version of Interface Builder allowing interface construction for iPhone applications was released with the iPhone SDK Beta 2. As of Xcode 4, Interface Builder no longer exists as a separate application, and its functionality is directly integrated into Xcode. Interface Builder provides palettes, or collections, of user interface objects to an Objective-C developer. These user interface objects contain items like text fields, data tables, sliders, and pop-up menus. Interface Builder's palettes are completely extensible, meaning any developer can develop new objects and add palettes to Interface Builder.

IPAD SIMULATOR: iPad Simulator is a web application to test your iPad Web Applications or iPad version of your website. In a demonstration of the official version of the Apple iPad SDK simulator, or emulator, users describe the process by which the

simulator works and how someone would acquire the software. Users must have a iPad developer account with Apple to download the software, which will allow them to test their prospective applications on computers prior to sending them in for approval from Apple. An iPad simulator replicates the Apple iPad operating system on a desktop computer. The tool is used by developers to test iPhone applications without needing to upload the software to an iPad.Apple released an official iPad Simulator with their iPad Developer SDK tool kit. Other versions of the iPad simulator can be found online and used for free, though not all simulators provide the same features Website designers can also use the iPad simulator to see how their layout will look on an iPad screen. The simulated web browser works with Internet Explorer, Mozilla Firebox and Safari. It can be used on either a PC or a Mac computer.

Auroras Degree & PG College

Page 41

SCREEN SHOTS

Auroras Degree & PG College

Page 43

Auroras Degree & PG College

Page 45

Auroras Degree & PG College

Page 47

Auroras Degree & PG College

Page 49

Auroras Degree & PG College

Page 51

Auroras Degree & PG College

Page 53

Auroras Degree & PG College

Page 55

Auroras Degree & PG College

Page 57

Auroras Degree & PG College

Page 59

Auroras Degree & PG College

Page 61

Auroras Degree & PG College

Page 63

TESTING Testing can never completely identify all the defects within software. Instead, it furnishes a criticism or comparison that compares the state behavior of the product against principles or mechanisms by which someone might recognize a problem. These oracles may include(but are not limited to ) specifications, contracts, comparable products, past versions of the same product, inferences about intended or expected purpose, user or customer expectations, relevant standards, applicable laws, or other criteria. Every software product has a target audience. For example, the audience for video game software is completely different from banking software. Therefore, when an organization develops or otherwise invests in a software product, it can assess whether the software product will be acceptable to its end users, its target audience, its purchasers, and other stakeholders. Software testing is the process of attempting to make this assessment. 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 of software implementation.

Auroras Degree & PG College

Page 65

Test techniques include, but are not limited to, the process of executing a program or application with the intent of finding software bugs. There are different kinds of tests to be conducted to make sure that the developed application satisfies the requirements of the customers. It also includes the test of the code, functionally, validations etc, Software testing, depending on the testing method employed, can be implemented at any time in the development process. However, most of the test effort occurs after the requirements have been defined and the coding process has been completed. As such, the methodology of the test is governed by the software development methodology adopted.

TESTING OBJECTIVE: Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding. Testing is the exposure of the system to trial input to see whether it produces correct output. There are various types of Testing:

WHITE BOX TESTING White box testing is when the tester has access to the internal data structures and algorithms including the code that implement these. Types of white box testing are: White box testing methods can also be used to evaluate the completeness of a test suite that was created with black box testing methods. This allows the software team to examine parts of a system that are rarely tested and ensures that the most important function points have been tested. Two common forms of code coverage are: 1. Function coverage, which reports on functions executed. 2. Statement coverage, which reports on the number of lines executed to complete the test. They both return code coverage metric, measured as a percentage. Unit testing: In computer programming unit testing is a procedure used to validate that individual units of source code are working properly. A unit is the smallest testable part of an application. In procedural programming a unit may be an
Auroras Degree & PG College Page 67

individual program, function, procedure, etc., while in objectoriented programming, the smallest unit is a method, which may belong to a base/super class, abstract class or derived/child class. The goal of unit testing is to isolate each part of the program and show that the individual parts are correct. A unit test provides a strict, written contract that the piece of code must satisfy. As a result, if affords several benefits. Unit testing allows the programmer to refractor code at a date, and make sure the module still works correctly (i.e., regression testing). Integration Testing: Objective of Integration testing is to make sure that the interaction of two or more components produces results that satisfy functional requirement. In integration testing, test cases are developed with the express purpose of exercising the interface between the components. Integration testing can also be treated as testing assumption of fellow programmer. During the coding phase, lots of assumptions are made. Assumptions can be made for how you will receive data from different components and how you have to pass data to different components. During Unit Testing. These assumptions are not tested. Purpose of unit testing is also to make sure that these assumptions are valid.

There could be many reasons for integration to go wrong, it could be because. Interface Misuse A calling component calls another

component and makes an error in its use of interface, probably by calling/passing parameters in the wrong sequence. BLACK BOX TESTING: Black box testing treats the software as a black boxwithout any knowledge of internal implementation. Black box testing methods include: equivalence partitioning, boundary value analysis, all-pairs testing, fuzz testing, model-based testing, exploratory testing and specification-based testing. Specification based testing: Specification-based testing aims to test the functionality of software according to the applicable requirements. Thus, the tester inputs data into, and only sees the output from, the test object. This level of testing usually requires thorough test cases to be provided to the tester, who then can simply verify that for a given input, the output value (or behavior), either is or is not the same as the expected valued specified in the test case. Specification-based testing is necessary, but it is insufficient to guard against certain risks.

Auroras Degree & PG College

Page 69

Merits & Demerits: The black box tester has no bonds with the code, and a testers perception is very simple: a code must have bugs. Using the principle, Ask and you shall receive, black box testers find bugs where programmers do not. On the other hand, black box testing has been said to be like a walk in a dark labyrinth without a flashlight, because the tester doesnt know how the software being tested was actually constructed. As a result, there are situations when (1) a tester writes many test cases to check something that could have been tested by only one test case, and/or (2) some parts of the back-end are not tested at all. Therefore, black box testing has the advantage of an unaffiliated opinion, on the one hand, and the disadvantage of blind exploring, on the other.

CONCLUSION The Project entitled Text Editor is an iPad application which helps developers to upload, download and edit files. The primary features of the project entitled Text Editor are design flexibility and easy availability. The central concept of the application is to allow the developers to create a directory, input symbols by accessory view, send files via HTTP and download or upload files through FTP. By default iPad does not provide any code editor or file upload feature and this application fills the above gap.

Bibiolography 1. Become an Xcoder


Auroras Degree & PG College Page 71

2. www.cocoalab.com/BecomeAnXcoder.pdf 3. Apress Beginning iPad 4 Development - Exploring the iOS SDK 4. http://www.apress.com/9781430230243 5. Apple HIG - Human Interface Guidelines 6. http://developer.apple.com/library/ios/#documentation/Us erExperience/Conceptual/MobileHIG/Introduction/Introducti on.html 7. The Objective-C Programming Language 8. https://developer.apple.com/library/ios/documentation/Coc oa/Conceptual/ObjectiveC/Introduction/introObjectiveC.ht ml#//apple_ref/doc/uid/TP30001163 9. IOS Application Programming Guide 10.https://developer.apple.com/library/ios/documentation/iPa d/Conceptual/iPadOSProgrammingGuide/Introduction/Intro duction.html#//apple_ref/doc/uid/TP40007072 11.Programming in Objective C 2.0 by Stephen G. Kochan 12.http://www.amazon.com/Programming-Objective-C-2-02nd-Edition/dp/0321566157.

You might also like