Author:admin

Date:2008-09-18T13:59:54.000000Z


git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@11 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
jfiat
2008-09-18 13:59:54 +00:00
parent 96810f459e
commit 4f85462879
7 changed files with 51 additions and 12 deletions

View File

@@ -1,10 +1,12 @@
[[Property:title|4 COMPILING AND EXECUTING A SYSTEM]]
[[Property:link_title|Compiling and Executing a System]]
[[Property:weight|-12]]
[[Property:uuid|58494be3-f29f-3a15-a27e-e635bdc71c53]]
[[Help reading the EiffelStudio Guided Tour|Help reading this manual]]
EiffelStudio first comes up with a window and a dialog on top of it; the dialog looks like this (from here on the look-and-feel will be different on non-Windows platform, but the contents will be the same):
[[Image:index-2]] [[general/guided_tour/studio/index-2.png|(link)]]
[[Image:index-2]]
As this is our first project we want to <code> Add Project. </code> We could also
* " <code> Create project </code>", which would let you select one among the common schemes -- basic application, graphical Windows application, graphical multi-platform application, Microsoft .NET application -- and set up everything for you.
* " <code> Open project </code>", which would let you open a previously added project..
@@ -19,7 +21,8 @@ Right now you first have to add the project, so click on <code>Add Project</code
remember that <code> $ISE_EIFFEL </code> stands for the location of the Eiffel installation, such as <code> C:\Eiffel50 </code> ; ECF files are normally marked by the <code> .ecf </code> file extension).
Use the File Explorer to go to the directory <code> $ISE_EIFFEL/examples/studio/tour/ </code> and select the appropriate file. You will then be back on the startup dialog.
[[Image:index-3]] [[general/guided_tour/studio/index-3.png|(link)]]
[[Image:index-3]]
Click <code> Open </code> to confirm. This starts compilation of your project.
During Eiffel compilation, a progress bar displays the successive compilation steps, or "degrees". The bulk of our little project is the EiffelBase library, which the EiffelStudio installation procedure has precompiled; so just now there's only a few extra classes to compile, and the process is almost instantaneous on a state-of-the-art computer. Even if you had to compile the EiffelBase classes, EiffelStudio compilation is so fast that you would hardly have the time to read the "degree" messages; you can see them later in compilations of bigger classes and systems.

View File

@@ -1,6 +1,7 @@
[[Property:title|2 COPYING THE EXAMPLE FILES]]
[[Property:link_title|Copying the Example Files]]
[[Property:weight|-14]]
[[Property:uuid|bb8ff7d7-2e93-d150-339c-d9afb967bc98]]
[[Help reading the EiffelStudio Guided Tour|Help reading this manual]]
{{note|If you are using Eiffel on a personal computer under Windows, you can work directly on the installation directory and don't need to make copies of files as per the present section. Skip directly to the next section, 3. Do read the present section and apply its instructions if you work under Unix, or may have to share the Eiffel installation with other users, do not have write permissions on the installation, or want to keep the installation unchanged.}}
@@ -12,7 +13,7 @@ To copy all the files of the example to <code> YOURDIR </code>:
* On Unix execute the shell command
<code> cp $ISE_EIFFEL/examples/studio/tour/* YOURDIR</code>
* On VMS execute the command
* On OpenVMS execute the command
<code> copy $ISE_EIFFEL:[examples.studio.tour]*.* YOURDIR</code>

View File

@@ -1,5 +1,6 @@
[[Property:title|EiffelStudio: A Guided Tour]]
[[Property:weight|0]]
[[Property:uuid|4d68a136-f7c2-ddd3-d30d-e16ee7692302]]
==Interactive Software Engineering==
===[[MANUAL IDENTIFICATION AND COPYRIGHT|MANUAL IDENTIFICATION AND COPYRIGHT]]===

View File

@@ -0,0 +1,32 @@
[[Property:title|5 A LOOK AT THE PROJECT DIRECTORY]]
[[Property:link_title|A Look at the Project Directory]]
[[Property:weight|-11]]
[[Property:uuid|d82eae3f-fe0d-3e27-008e-61afd05f8cb0]]
[[Help reading the EiffelStudio Guided Tour|Help reading this manual]]
Before we proceed with the facilities of the environment, let's take a look at the way EiffelStudio organizes project files.
With EiffelStudio, you build projects. Most projects yield an executable system, although you can also build a project just to define a library for use by such systems.
Every session is relative to a project; you can start a new project from within EiffelStudio by going to the <code> File </code> <code> --> </code> <code> New Project </code> menu, but please '''don't select that menu entry now''' as we have many more things to do with our current project first.
Every project has a '''project directory''' which will contain the files generated and managed by EiffelStudio. The project directory may also host some of the source files containing your Eiffel classes, the ECF (eiffel configurationl file), and external software written in other languages, but that is not required; the source files and ecf may reside anywhere. Some users, in fact, like to put nothing else than the EiffelStudio-generated files in the project directory; this separates user-managed and system-managed files, and can facilitate configuration management, backups and porting.
In this simple Tour, things have been set up so that all the files of interest, source texts as well as generated ones, will appear in the project directory <code> YOURDIR </code> (either <code> $ISE_EIFFEL\examples\studio\tour </code> or the copy that you have made). Go to that project directory using the Windows explorer or a <code> cd </code> command, and look at its contents (using <code> ls </code> on Unix/Linux):
<div> [[Image:index-7]] [[general/guided_tour/studio/index-7.png|(link)]] </div>
The contents of this <code> YOURDIR </code> directory include the following:
* First you see a number of files with the extension <span>.</span> <code> e </code>, for "Eiffel": <code> heir.e </code>, <code> invalid.e </code> and others. These are the Eiffel source files, each containing one class. The recommended convention is to store a class of name <code> CLASS_NAME </code> into a file of name <code> class_name </code> <code> .e </code>, where <code> class_name </code> is the lower-case version of <code> CLASS_NAME </code> ; here, file <code> heir.e </code> contains the class <code> HEIR </code> and so on. As you may remember, Eiffel is case-insensitive, but the standard convention for class names is to write them in all upper case. Calling the file <code> class_name </code> <code> .e </code> is only a recommendation, not an obligation; but you <span>are</span> required to store one class per file. This keeps things simple and facilitates project and configuration management.
* You also notice a file with an <code> ecf </code> extension. This is the configuration file that specifies this project. As you remember, the ECF file for this example was available as part of the delivery; we used it to compile the project. In most practical cases, however, you won't need to build an ECF; if you use the " <code> Create project </code>" option of EiffelStudio (remember the first screen [[EiffelStudio General: A Guided Tour|here]] ), EiffelStudio will build the ECF for you; if you change the Project Settings during a session, EiffelStudio will update the ECF. ECF are written in a xml notation.
* Finally you will notice a subdirectory called <code> EIFGENs </code>, for " <code> EIF </code>fel <code> GEN </code>eration<code>s</code>". <code> EIFGENs </code> is created and maintained by the compiler to store information about your project, including generated code for execution. EiffelStudio manages your project in such a way that <code> EIFGENs </code> can always be re-generated if need be; this means in particular that if things go wrong for any reason and you want to make a fresh start you can always delete this directory and recompile your system. This also means that you should not add any files into this directory, or modify any of its files, since a later compilation is free to change or regenerate whatever it chooses in <code> EIFGENs </code>.
Later on, we will see that EiffelStudio may generate three more subdirectories of the project directory: <code> Diagrams </code>, if you produce graphical system diagrams; <code> Documentation </code>, if you request system documentation, for example HTML; and <code> Metrics </code>, if you perform measurements on your system. Other than these directories, <code> EIFGENs </code> EiffelStudio will not touch anything in the project directory, so you may safely add and change whatever files and subdirectories you like.
You seldom need to look into <code> EIFGENs </code>, although you should know that it's there. Right now if you check the contents of the project directory <code> YOURDIR </code> (using the Windows Explorer on Windows, the <code> ls </code> command on Unix, or some equivalent mechanism), you will see that <code> EIFGENs </code> has been created, itself with a subdirectory called <code>classic</code> which is the name of the target and which has some subdirectories, including <code> W_Code </code> which contains the generated code ( <code> W </code> for "Workbench" -- we'll see the reason later). Feel free to browse through it if you like, but don't change anything.
By the way, we are now done with any platform-specific instructions. Everything in the rest of this Tour, other than the graphical look-and-feel, will work the same across all EiffelStudio platforms.
[[4 COMPILING AND EXECUTING A SYSTEM|<< Previous]] [[6 STARTING TO BROWSE|Next >>]]

View File

@@ -1,6 +1,7 @@
[[Property:title|1 OVERVIEW AND PREREQUISITES]]
[[Property:link_title|Overview and Prerequisites]]
[[Property:weight|-15]]
[[Property:uuid|acf5433b-14e9-1d21-c8cf-997db7821550]]
[[Help reading the EiffelStudio Guided Tour|Help reading this manual]]
EiffelStudio is the central tool of Eiffel Software's implementation of Eiffel, letting you design, develop, debug, document, measure, maintain, revise and expand systems using the full power of object technology and Design by Contract <span>TM</span>.
@@ -53,7 +54,7 @@ The more you already know about object technology and object-oriented environmen
==A note on platform differences==
EiffelStudio is one of the most portable environments in the industry, running in an almost identical fashion on Windows, on the new Microsoft .NET environment, on many variants of Unix, on Linux, on VMS.
EiffelStudio is one of the most portable environments in the industry, running in an almost identical fashion on Windows, on the new Microsoft .NET environment, on many variants of Unix, on Linux, on OpenVMS.
Once an EiffelStudio session has been started, you can largely forget about the operating system. But a few operations -- mostly at the beginning, to launch EiffelStudio -- require platform-dependent mechanisms: starting a program, traversing the file structure, selecting a file. These cases will be marked accordingly below.
@@ -61,7 +62,7 @@ Windows users should particularly note the following two conventions of terminol
* Operating systems store files into hierarchically nested structures called <span>folders</span> or <span>directories</span>. Although "folder" is the more common term for Windows, we will mostly speak of "directories". It's exactly the same thing.
* A file has a full <span>path name</span>, used to describe how to reach it from the root of its file system, as in <code> c:\d1\d2\f </code>. This example uses the Windows notation, which separates successive components of a path name by a backward slash character <code> \ </code>. On Unix and Linux, the separator is a forward slash <code> / </code>, as in <code> /d1/d2/f </code> ; this is also the convention on the Internet for denoting addresses (URLs). Most file names in this manual appear in this Unix/Internet style. On Windows you will normally have to use the backslash convention, although EiffelStudio also accepts forward slashes. In any case you must be consistent: don't mix backward and forward slashes in the same path name. Also note that some names, such as those of object files to be linked with your system, will be passed to outside tools -- C compilers, loaders -- that may not accept the forward slash.
VMS users may similarly use either the Unix convention or the specific VMS path naming convention.
OpenVMS users may similarly use either the Unix convention or the specific OpenVMS path naming convention.
If you are a one-platform person, just ignore, for the next few pages, all references to any platform other than your heart's favorite. They will quickly go away.
@@ -69,8 +70,8 @@ If you are a one-platform person, just ignore, for the next few pages, all refer
To run the example you must have installed EiffelStudio and set up the environment. Check in particular the following:
* On Windows, you must have run the installation procedure; it will have put EiffelStudio in the Programs section of the start menu, subsection "EiffelStudio version", where version is the version number, e.g. 6.0.
* The environment variable <code> ISE_EIFFEL </code> must be set to the installation directory, and the environment variable <code> ISE_PLATFORM </code> to the platform. On Windows this is taken care of automatically by the installation procedure, but on Unix/Linux and VMS you must update your path and environment manually. Throughout this discussion the notations <code> $ISE_EIFFEL </code> and <code> $ISE_PLATFORM </code> will refer to the values of these variables -- the installation directory, and the platform. (The Windows notation would be <code> %ISE_EIFFEL% </code> and <code> %ISE_PLATFORM% </code>.)
* On Unix/Linux and VMS, your "path" must include the place where EiffelStudio executables reside. (On Windows the installation procedure takes care of this.)
* The environment variable <code> ISE_EIFFEL </code> must be set to the installation directory, and the environment variable <code> ISE_PLATFORM </code> to the platform. On Windows this is taken care of automatically by the installation procedure, but on Unix/Linux and OpenVMS you must update your path and environment manually. Throughout this discussion the notations <code> $ISE_EIFFEL </code> and <code> $ISE_PLATFORM </code> will refer to the values of these variables -- the installation directory, and the platform. (The Windows notation would be <code> %ISE_EIFFEL% </code> and <code> %ISE_PLATFORM% </code>.)
* On Unix/Linux and OpenVMS, your "path" must include the place where EiffelStudio executables reside. (On Windows the installation procedure takes care of this.)
* Also, the discussion assumes that as part of the installation you have included the EiffelBase library, in precompiled form. EiffelBase is automatically included if you have installed another precompiled library, such as WEL, the Windows Eiffel Library. The installation procedure takes care of precompiling EiffelBase.
==Locating the example==
@@ -78,7 +79,7 @@ To run the example you must have installed EiffelStudio and set up the environme
Please take a moment to locate the example files on your installation. They all appear in the following directory, part of the Eiffel delivery:
<code>$ISE_EIFFEL/examples/studio/tour</code>
(Windows users: remember that instead of the slash <code> / </code> your platform uses a backslash <code> \ </code>. VMS users: this is to be replaced by the VMS path naming conventions.)
(Windows users: remember that instead of the slash <code> / </code> your platform uses a backslash <code> \ </code>. OpenVMS users: this is to be replaced by the OpenVMS path naming conventions.)
[[2 COPYING THE EXAMPLE FILES|Next >>]]

View File

@@ -1,9 +1,10 @@
[[Property:title|3 STARTING EIFFELSTUDIO AND OPENING A PROJECT]]
[[Property:link_title|Starting EiffelStudio and Opening a Project]]
[[Property:weight|-13]]
[[Property:uuid|676cf329-5640-69c4-d10b-b56fcd3f2ff9]]
[[Help reading the EiffelStudio Guided Tour|Help reading this manual]]
In the rest of this Tour <code> YOURDIR </code> denotes the directory where the example resides (the original, <code> $ISE_EIFFEL/examples/studio/tour </code>, or a copy). Launching will use the operating system's mechanism for starting a program, so we look separately at Windows and at Unix/VMS.
In the rest of this Tour <code> YOURDIR </code> denotes the directory where the example resides (the original, <code> $ISE_EIFFEL/examples/studio/tour </code>, or a copy). Launching will use the operating system's mechanism for starting a program, so we look separately at Windows and at Unix/OpenVMS.
==Launching EiffelStudio under Window==
@@ -14,9 +15,9 @@ where <span>Version</span> is the version number, e.g. 6.0. Alternatively, you c
If this is the first time you are using EiffelStudio, you may get a dialog asking for an unlock code or inviting you to register the product. See <span> [[Software Installation for EiffelStudio 6.2|your platform installation instructions]] </span> for registration information.
==Launching EiffelStudio under Unix or VMS==
==Launching EiffelStudio under Unix or OpenVMS==
To launch EiffelStudio on Unix or VMS, change directory to <code> YOURDIR </code> and, from the command line, type
To launch EiffelStudio on Unix or OpenVMS, change directory to <code> YOURDIR </code> and, from the command line, type
<code> estudio</code>
In general you can start EiffelStudio from any directory, but to make things simple for this Tour '''please make sure''' indeed to execute the <code> estudio </code> command from <code> YOURDIR </code>. (This will allow us to use relative rather than absolute names for some of the files involved.)

View File

@@ -6,7 +6,7 @@
Here you can learn about the Eiffel development method and Eiffel the language.
At the heart of the Eiffel Development Framework is the Eiffel method. Everything else, the language, the tools, the libraries exist because of the method. The method is laid out in detail in Object-oriented Software Construction, 2nd Edition. But you will find some introductory material here. An "invitation" to Eiffel which is fairly short, and a tutorial which is more detailed.
At the heart of the Eiffel Development Framework is the Eiffel method. Everything else, the language, the tools, the libraries exist because of the method. The method is laid out in detail in [http://www.eiffel.com/doc/oosc/ Object-oriented Software Construction, 2nd Edition]. But you will find some introductory material here. An "invitation" to Eiffel which is fairly short, and a tutorial which is more detailed.
In order for us to communicate effectively about the activities of the method we must some way to record the products of those activities. That is what Eiffel the language does for us ... with the added benefit that, ultimately, we implement whole running software systems in the language.