1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185
|
Graduation software Project
---------------------------
Spreadsheet
ABACUS (97/98)
15 of January 1998
"ABACUS" is software project that is being developed in conformance with the
Software Engineering graduation course at Instituto Superior Tcnico
(http://www.ist.utl.pt) in Portugal - Lisbon.
The team is composed by two finalists who are working at INESC (http://www.inesc.pt)
under the co-ordination of the teacher Arlindo Oliveira. We will next present some
technical details so that you may have a main picture of what is being made.
o Introduction
o Project Description and Development methodology
o Task List
o Bibliography
Introduction
------------
This project aims for the creation of a spreadsheet with full functionality similar
to the already existing software in the marketplace.
We can consider that this software project is composed by two components: the first
one is interpreted code which is responsible for the user interface and lighter
processing components; the second is compiled code which is responsible for the "hard"
calculation work.
The development will have the following stages:
o Evolution of an initial prototype.
o Generation of an a version, that has an initial functionality for
future development.
o INTERNET distribution of this version in order to get some feedback so
that we can improve ABACUS to better serve the final user.
o Creation of new features (suggested by the users or already planed ones),
and correction of some problems that may have occurred.
o Code evolution to a multiplatform version specially to the most popular
ones.
Project Description and Development methodology
-----------------------------------------------
Since this project is composed by a sequence of stages until the last
version,which may be considered as being an evolutionary process, and
simultaneously it needs a strict control so that it wont slip in time
needs, we chose to develop this project with the typical "spiral model"
for the software engineering.
This model produces a precise time planning of the work to be made,
which will contribute to a higher quality level.
This model encompasses the best features of both the classical life
cycle and prototyping,at the same time it adds the new element of risk
analysis.
The model defines four major activities represented by the four quadrants
of the spyral.
o Planning- Determination of objectives, alternatives and
constraints;
o Risk analysis- Analysis of the alternatives and identification/
resolution risks;
o Engineering- development of the "next" level product;
o Customer evaluation- assessment of the results of engineering.
The main idea is that the project begins at the centre and works
outwards in a sequence of iterations around the spiral. Each iteration in
the model means that there is a progressively more complete version of the
software.
The culmination of the risk analysis results in the "go,no-go" decision
where it is weighted the risks of continuing or not the project. If the risks
are to great the project should be terminated.
So, the main advantages of this model confronting with others are:
o It is the most realistic model;
o It adds risk analysis;
o It is an evolutionary and iterative process ,which is a more
natural project life cycle;
Task List
---------
o Initial analise of the already existing prototype and familiarisation
with the functionality and development methodology already existent.
o Prototype actualisation with the new versions of TCL/TK inclusion of
some new basic functionality.
o It supposed to engineer the Prototype in order to become a more robust
application so that we can prevent future complications.
o Develop function Cell order .
o Initial version of spreadsheet graphics.
o Functional Toolbar.
o Select Columns and rows .
o CSV file format import/export.
o Undo/Redo.
o Distribute an a version through INTERNET, get some user feedback about
the performed work, Incorporation of user suggestions and
o problem correction.
o Project optimisation (rewrite the existing objects so that they will
perform the same goals but with greater functionality and efficiency.
o Interactive graphics edition, through a mini-editor which is able to
produce direct manipulation of the graphics.
o Image introduction in the spreadsheet, (they will not be editable).
o Add cell colours.
o Import/Export of other formats.
o Macro support, using the same interpreted language used for the
construction of this software project.
o Help system, context sensible to the user needs.
o Investigate the possibility of the evolution of ABACUS to other platforms.
Bibliography
------------
Planning:
--------
Carapua, Prof. Rogrio - Metodologia MESoft
Pressman, Roger S. - Software Engineering, a Practitioner's Approach
Projecto de Engenharia da Programao 96/97 - Grupo 14
Tcl/Tk:
------
Welch, Brent - Practical Programming in Tcl and Tk 2nd Edition
- Prentice-Hall PTR
Ousterhout, John K. - Tcl and the Tk Toolkit - Addison Wesley
Linux/Xwindows/Graphical Interfaces:
-----------------------------------
The X Window System in a Nutshell - O Reilly & Associates
Douglas A. Young - The X Window System Programming with Applications and XT
2nd Edition - Prentice-Hall PTR
Foley; van Dam; Feiner; Hughes - Computer Graphics Principles and Practice
- Addison-Wesley
C/C++:
-----
Kernighan, Brian ; Ritchie, Dennis - The C Programming Language 2nd Edition
- Prentice-Hall Software Series
Lippman, Stanley - C++ Primer, 2nd Edition - Addison Wesley
Stroustrup, Bjorn The C++ Programming Language, 2nd Edition - Addison Wesley
|