DELTA 59 0 336 SVN‚]¨{¦y‚€¦y$ \maketitle In this document we will specify the requirements and interfaces of each component that is on the hierarchical path to the modules that we will design individually. These modules reside in the \textsc{Importer} and \textsc{Exporter} components. %IMPORTING \section{Importing} %First level \subsection{Importer} \textbf{Requirements:} \begin{itemize} \item Cue must have the ability to import files, scanned documents, weblinks, and classcasts into the database. \end{itemize} \noindent \textbf{Interface:} \begin{itemize} \item \emph{ImportFile(file)}: Will import the file specified by first processing it with the \emph{ContentAnalyzer} and then storing it with the \emph{DBController}. \item \emph{ImportScan()}: With a scanner connected, will signal user to scan document. It will ask if storing it as a pdf document is fine or ask for another user-specified file type. It will be processed with the \emph{ContentAnalyzer} and then stored with the \emph{DBController}. \item \emph{ImportWebLink(weblink)}: Will import the link by verifying that it is a valid link. It will then do an initial scan for possible course information and assignments posted on the webpage before being stored in the database with the \emph{DBController} to be periodically checked for updates. \item \emph{ImportClassCast(link)}: Will import the link by verifying that it is a valid link. It will then do an initial scan for course information and assignments posted on the classcast according to the xml format used. Afterwhich it will be stored in the database with the \emph{DBController}, to be periodicially checked for updates. \end{itemize} %Second level \subsection{Dynamic Importer} \textbf{Requirements:} \begin{itemize} \item Cue must be able to import weblinks in the database, but should first verify that the webpage is valid before storing it into the database or screenscraping it for information. Cue must be able to specifically handle importing dynamic sources of course information and assignments. \end{itemize} \noindent \textbf{Interface:} \begin{itemize} \item \emph{VerifyLink(link)}: Will check if a link (either a weblink or a classclast link) is valid before storing it into the database \end{itemize} %Third Level \subsection{Web Importer} \textbf{Requirements:} \begin{itemize} \item First requirement \end{itemize} \noindent \textbf{Interface:} \begin{itemize} \item Method \end{itemize} % EXPORTING \section{Exporting} In this section we will specify the \textsc{Exporter} component, then the \textsc{Publisher} component. Finally we will specify the \textsc{ClassCast} component, which is the module that will be elaborated in detail. %First level \subsection{Exporter} \textbf{Requirements:} Here is a list of the requirements that are applicable to this component: \begin{itemize} \item Cue must have the ability to export files from the database. It will export files: \begin{itemize} \item To a default e-mail program \item To an iPod \item To a specified disk, in a format that can be read and written by Cue \item To a calendar program \item To a server via the \textsc{ClassCast} feature \end{itemize} \end{itemize} \noindent \textbf{Interface:} To satisfy these requirements, the \textsc{Exporter} component will support the following public methods. Please note that the parameter file is a general type that can represent a single document, or a package containing a range of documents. \begin{itemize} \item \emph{exportToMail(file, names)}: Sends the given file to each recipient in the list \emph{names} via the default e-mail program. \item \emph{exportToiPod(file, location, boolean auto\_sync)}: If \emph{auto\_sync} is true, then Cue's database will be synchronized with the files on the iPod. Otherwise, the specified file will be sent to the specified location on the iPod. When \emph{auto\_sync} is true, this function can be called with a null file and location. \item \emph{exportToDisk(file, location)}: Sends the given file to the specified location. This location may be on the local disk, or on some other disk that is specified by the \emph{location} parameter. \item \emph{exportToCalendar(file, calendar)}: Publishes information from the database into a format readable by the specified type of calendar. If the type of calendar is not supported, exit gracefully informing the user to select a supported calendar program. \item \emph{exportToClassCast(file, class\_cast)}: Update the specified file on the specified \textsc{ClassCast}. \end{itemize} %Second level \subsection{iPod Exporter} \textbf{Requirements:} \begin{itemize} \item First requirement \end{itemize} \noindent \textbf{Interface:} \begin{itemize} \item First method \end{itemize} %Third Level \subsection{Sync} \textbf{Requirements:} \begin{itemize} \item First requirement \end{itemize} \noindent \textbf{Interface:} \begin{itemize} \item First method \end{itemize} \end{document} ENDREP id: 14.0.r78/5026 type: file pred: 14.0.r74/612 count: 8 text: 78 0 5004 5243 74d1233020ed863b3b05561887e89201 props: 66 0 29 0 ff5c3c1f7bdb48ba0201950780ae7e31 cpath: /project3/component_specs.tex copyroot: 0 / PLAIN K 20 architecture.graffle V 17 file 10.0.r67/291 K 16 architecture.tex V 18 file 13.0.r77/1095 K 24 architecture_diagram.pdf V 19 file 1a.0.r70/40896 K 19 component_specs.tex V 18 file 14.0.r78/5026 K 21 individual_components V 17 dir 15.0.r75/4271 K 16 project_plan.odt V 17 file z.0.r68/9460 K 11 svninfo.sty V 18 file 12.0.r49/5199 END ENDREP id: y.0.r78/5591 type: dir pred: y.0.r77/1661 count: 36 text: 78 5239 339 339 0fcdf2c7f98f8719fc223425c7438b37 cpath: /project3 copyroot: 0 / PLAIN K 8 project2 V 16 dir x.0.r41/3433 K 8 project3 V 16 dir y.0.r78/5591 END ENDREP id: 0.0.r78/5821 type: dir pred: 0.0.r77/1891 count: 78 text: 78 5734 74 74 a1bdc66c4a113a9ec429cc1e1b47f463 cpath: / copyroot: 0 / 14.0.t77-1 modify true false /project3/component_specs.tex 5821 5954