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 Técnico (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: -------- Carapuça, Prof. Rogério - Metodologia MESoft Pressman, Roger S. - Software Engineering, a Practitioner's Approach Projecto de Engenharia da Programaçäo 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