Architectural Design Document
|
|
|
- Scott Atkins
- 9 years ago
- Views:
Transcription
1 Bachelor Technische Informatica Kroket Kroket Architectural Design Document Project Manager: Sebastiaan Candel Authors: Peter van Heck ( ) Peter Koymans ( ) Kay Lukas ( ) Astrid Pieterse ( ) Robbert Raats ( ) Willem Sonke ( ) Roby Visser ( ) Quality Assurance Manager: Ronald van Zon Senior Management: Mark van den Brand, mf Lou Somers, mf Advisor: Erik Scheffers, mf Customer: Lex Lemmens, hg October 26, 2012 Eindhoven
2 Abstract This document contains descriptions of the architecture of the kroket application. This application is developed for the Software Engineering Project (2IP35) at Eindhoven University of Technology. The document complies with the Architectural Design Document (ADD) from the Software Engineering Standard, as set by the European Space Agency [1].
3 Contents Document Status Sheet 3 Document Change Records 4 1 Introduction Purpose Scope List of definitions and abbreviations Definitions Abbreviations List of references Overview System overview 9 3 System context External interface definition for OWIS Implementation of the interface External interface definition for NT authentication Implementation of the interface System design Design method Decomposition description List of components Dependencies between components Introduction to the Django framework Version of Django Models, templates and views Persistent storage Request processing Programming languages Integration of KROKET into the Django framework List of implemented views Templates
4 Kroket ARCHITECTURAL DESIGN DOCUMENT Mapping of URIs to views Internals of the KROKET webserver Code structure Component descriptions Description model Component identifier Type Purpose Function Subordinates Dependencies Interfaces Processing Data Server Subject data User data Major Package Recommendation Subject User Schedule Update database Client Layout Content Authentication Language Persistent data Print Search package Search subject Storage Studyplanner Validator Feasibility and resource estimates 47 7 Requirements traceability matrices SR to AD AD to SR A Future work 52 3
5 Document Status Sheet General Document title Identification Authors Document status Architectural Design Document Documentatie.ADD Peter Koymans, Astrid Pieterse, Robbert Raats Approved by Lex Lemmens Document history Version Date Author Reason of change Astrid Pieterse Initial version Peter Koymans, Robbert Raats First version not applicable Accepted by Lex Lemmens 4
6 Document Change Records General Date Document title Architectural Design Document Identification Documentatie.ADD Document history since Sections All Reason of change First version 5
7 Chapter 1 Introduction 1.1 Purpose The Architectural Design Document (ADD) describes the basic design of the software that will be made by kroket. It describes the decomposition of the software into components. Then for each component it describes the relation to external interfaces and the dependencies on other components. 1.2 Scope kroket is an application designed and developed by kroket group for the Bachelor College at the Eindhoven University of Technology. The application is designed to aid students in determining their choice for electives. 1.3 List of definitions and abbreviations Definitions AJAX Asynchronous JavaScript and XML: a group of interrelated web development techniques used on the client-side to create asynchronous web applications. Bachelor College The result of a reform of bachelor education at the TU/e. See URD [2] appendix B for a description. Bootstrap A free collection of tools for creating websites and web applications. It contains HTML and CSS-based design templates for typography, forms, buttons, charts, navigation and other interface components, as well as optional JavaScript extensions. Chrome An internet browser developed by Google. Cookie Usually a small piece of data sent from a website and stored in a user s web browser while a user is browsing a website. The data stored in the cookie can be retrieved by the website when the user browses the same website in the future. 6
8 Kroket ARCHITECTURAL DESIGN DOCUMENT Django A high-level Python Web framework. Excel A commercial spreadsheet application developed by Microsoft. Firefox An internet browser developed by Mozilla. Internet Explorer An internet browser developed by Microsoft. JavaScript Scripting language, especially for developing interactive web applications. jquery A fast and concise JavaScript Library. JSON A lightweight data-interchange format. KROKET Software engineering team developing the application. Microsoft Biztalk Microsoft Biztalk connects systems inside and across organizations for data exchange and process orchestration. NT authentication Employees and students of Eindhoven University of Technology are all assigned a NT account. Authentication of these accounts is possible through the NT authentication system. Opera An internet browser developed by Opera Software. Python An interpreted, interactive, object-oriented, extensible programming language. Safari An internet browser developed by Apple. PostgreSQL A powerful, open source object-relational database system Abbreviations ADD CSS CSV DDD Dienst ICT ECTS ESA GUI HTML HTTPS JSON KROKET LDAP MTV ORM OWIS Architectural Design Document Cascading Style Sheets Comma-Separated Values Detailed Design Document Information and Communication Technology Service European Credit Transfer System European Space Agency Graphical User Interface HyperText Markup Language HyperText Transfer Protocol Secure JavaScript Object Notation Kies niet Roekeloos maar Objectief Keuzevakken Efficiënt en Tevreden Lightweight Directory Access Protocol Model-Template-View framework Object-Relational Manager Onderwijs Informatie Systeem 7
9 CHAPTER 1. INTRODUCTION RDBMS SCR SQL SRD STU TU/e UCR URD URI USE Relational Database Management System Identification for Software Requirements Structured Query Language Software Requirements Document Education and Student Service Centre Eindhoven University of Technology Identification for User Requirements User Requirements Document Uniform Resource Identifier User, Society and Enterprise 1.4 List of references 1. ESA Board for Software Standardization and Control (BSCC). European space agency software engineering standards, February (ESA PSS-05-0 Issue 2). 2. kroket group, Software Requirements Document (SRD). 3. kroket group, User Requirements Document (URD). 4. Django, The Web framework for perfectionists with deadlines. Retrieved September 26, 2012, from 5. kroket group, Detailed Design Document (DDD). 1.5 Overview The remainder of this document gives a system overview in chapter 2. Chapter 3 covers the system context. We explain the relationship with each external system. Chapter 4 treats the system design. We give a name and reference of the method used. Furthermore, we give an overview of components. We will pay special attention to decomposition, dependencies and interfaces. In chapter 5 we discuss the components. For each component, we give the component identifier, type, purpose, function, subordinates, dependencies, interfaces, resources, references, processing and data. Chapter 6 covers feasibility and resource estimates. Lastly, we give a requirements traceability matrix in chapter 7. 8
10 Chapter 2 System overview For a description of kroket, see the User Requirements Document (URD) [3]. For a description of the relevant background and the environment in which kroket will operate, see the Software Requirements Document (SRD) [2]. kroket is a web-based information system. It can interact with various other information systems in its environment. Figure 2.1 shows how kroket is embedded into that environment. kroket server Internet TU/e Intranet kroket user using a web browser OWIS server NT-authentication server Figure 2.1: The environment of kroket 9
11 Chapter 3 System context This chapter describes the connections that kroket has with external systems. kroket must be able to operate properly without these connections. kroket interfaces with the OWIS and NT authentication systems. 3.1 External interface definition for OWIS The OWIS system is explained in section of the SRD [2]. OWIS is the educational system at the TU/e. Microsoft Biztalk provides a uniform interface for applications to OWIS. Therefore, kroket will send queries to Microsoft Biztalk in order to access OWIS. However, kroket also has its own database. This database stores all relevant subject information for the kroket application. Microsoft Biztalk is only used by kroket to update its own database with the latest subject information. This will be done on a regular basis Implementation of the interface This interface is currently not implemented in kroket, because STU did not give kroket access to the OWIS system. Therefore, kroket uses various other sources to obtain its data. This is described in appendix C of the SRD [2]. We will provide the implementation details for each data source. STU files Here, we will describe the format of the Excel file that was received from STU. The Excel file consists of three spreadsheets. We converted each spreadsheet to a separate CSV file for our own convenience. We will describe the contents of each spreadsheet. Note however that the provided spreadsheets are outdated and far from complete. Target group This spreadsheet contains the target groups for the Bachelor College. Target groups can be majors or coherent packages. The different fields are: Study year: contains the study year for the target group in yyyy-format. Main group code: 210 for majors, 212 for coherent packages. 10
12 Kroket ARCHITECTURAL DESIGN DOCUMENT Main group Dutch description: Bachelor College Major onderwijs for majors and Bachelor College Keuze Coherent for coherent packages. Main group English description: Bachelor College Major onderwijs for majors and Bachelor College Keuze Coherent for coherent packages. kroket does not know why the English description is given in Dutch. Target group code: an integer that uniquely identifies majors and coherent packages. Target group Dutch description: Dutch name for the major or coherent package. Target group English description: English name for the major or coherent package. Year code: 1 for the propedeuse, 2 otherwise. Year code Dutch: identical to the year code. kroket is unaware of this field s purpose. Year code English: identical to the year code. kroket is unaware of this field s purpose. Subjects This spreadsheet contains the subject information for the Bachelor College. It only contains subject information that is not due to change. An example of subject information that is due to change would be scheduling information. The different fields are: Study year: contains the study year for the subject in yyyy-format. Target group code: contains the target group of the subject. It references the target group code as described in the previous section. Year code: 1 for the propedeuse, 2 otherwise. Subject code: a string that uniquely identifies subjects. Subject description Dutch: the subject name in Dutch. Subject description English: the subject name in English. Difficulty level Dutch: Inleidend, Verdiepend or Gevorderd. It should be noted that this field is left empty for many subjects. Difficulty level English: Basic, Intermediate or Advanced. Basic corresponds to Inleidend and Intermediate corresponds to Verdiepend. ECTS: an integer with the total number of ECTS for the subject. This can be 0 or 5. Mandatory: a string that is either J or N. J indicates that the subject is mandatory for the major, while N indicates that the subject is not mandatory for the major. 11
13 CHAPTER 3. SYSTEM CONTEXT Planning This spreadsheet contains the subject information for the Bachelor College that is due to change. The different fields are: Study year: contains the study year for the subject in yyyy-format. Target group code: contains the target group of the subject. It references the target group code as described in Target group. Year code: 1 for the propedeuse, 2 otherwise. Subject code: a string that uniquely identifies subjects. Quartile start: an integer between 1 and 4. It represents the quartile that the subject starts (inclusive). Quartile end: an integer between 1 and 4. It represents the quartile that the subject ends (inclusive). Timeslot 1: a string which can be A, B, C, D or E. It represents the first timeslot in which the subject is given. Timeslot 2: a string which can be A, B, C, D or E. It represents the second timeslot in which the subject is given. Currently, kroket does not know how this should be interpreted. Either, this could mean that the subject can be taken in timeslot 1 or timeslot 2. Alternatively, this could mean that the subject uses two timeslots. OWInfo Since the data in the STU files is outdated and incomplete, kroket parses OWInfo to obtain additional subject data. This means that kroket relies on OWInfo. If the OWInfo website is changed, the parser may no longer work. Furthermore, the correctness of the kroket data depends on the correctness of the OWInfo data. kroket parses the corresponding subject page for each subject found in the STU files. The following fields are parsed from OWInfo: subject code: a string that uniquely identifies subjects. subject name: a string with the subject name. ECTS: an integer with the total number of ECTS for the subject. content: a string with a description of the subject content. study goal: a string with a description of the study goal for the subject. OWIS kroket has also been provided with access to a test server. This test server contains outdated and incomplete OWIS data. kroket has implemented this external connection, but it is currently not activated. The test server only contains a few subjects and is slow. 12
14 Kroket ARCHITECTURAL DESIGN DOCUMENT 3.2 External interface definition for NT authentication The NT authentication system is explained in section of the SRD [2]. We define credentials as a pair (NT-username, password). The NT authentication interface is used to authenticate credentials. Users send their credentials to kroket. This connection must be over HTTPS for security reasons. kroket sends the credentials to a server running LDAP of the NT authentication system Implementation of the interface This interface is currently not implemented in kroket, because Dienst ICT did not give kroket access to the NT authentication system. Therefore, kroket has created its own login system. The database side for the login system is described in section of the SRD [2], while the queries are described in section of the SRD [2]. 13
15 Chapter 4 System design This chapter describes the technical aspects of the design of kroket. 4.1 Design method kroket is implemented as a web application based on the Django framework. The framework supplies many useful components for the development of web applications. The structure and terminology of the framework determine the structure and terminology used in the description of kroket. Section 4.2 defines the components of kroket and their dependencies. Section 4.3 offers a short introduction to the Django framework. Please refer to the Django website for more information on Django [4]. Section 4.4 describes how kroket is integrated into the Django framework. 4.2 Decomposition description The decomposition of kroket into components is based on the requirements of the URD [3] and the SRD [2]. Section lists the components, which are further described in chapter 5. Figure 4.1 illustrates the dependencies between the components List of components The following components are identified: Server Database Subject data User data Query Major 14
16 Kroket ARCHITECTURAL DESIGN DOCUMENT Client Package Recommendation Subject User Schedule Update database GUI Layout Scripts Content Authentication Language Persistent data Print SearchPackage SearchSubject Storage Studyplanner Validator Dependencies between components Figure 4.1 illustrates the dependencies between the components of kroket. Arrows indicate a depends on relation between components. 4.3 Introduction to the Django framework A Django-based application consists of models, templates and views with additional dataprocessing components. Because of the Django terminology of models, templates and views, Django is sometimes called an MTV framework, which is similar to the Model- View-Controller pattern. Section introduces the terms model, template and view. Section describes how persistent storage is achieved. The use of programming languages is detailed in section Section describes how an HTTP-request is processed Version of Django Django is an open-source project that is under continuous development. Proper functioning of kroket is only guaranteed when installed on a server running an appropriate version of Django. kroket is developed using version of the Django framework. 15
17 CHAPTER 4. SYSTEM DESIGN Update database: Update database Database: Subject data User data Query: Major Package Subject Recommendation User Schedule Scripts: Authentication Language Persistent data Print SearchPackage Search Subject Storage Studyplanner Validator GUI: Layout Content Figure 4.1: Components of kroket and their dependencies 16
18 Kroket ARCHITECTURAL DESIGN DOCUMENT Models, templates and views Models Models describe the logical grouping of data and functionality, like classes in the objectoriented paradigm. Django uses the word model where object-oriented paradigm uses the word class. Objects are called model instances in Django. Django models are compatible with the object-oriented paradigm. Therefore, the kroket models include all attributes as described in the class diagram of the SRD. In addition, implementation-specific attributes are added, as described in the DDD [5]. Templates Templates define the looks of the user interface of a Django application. Templates consist of HTML code with special tags, which are replaced with information from specific model instances. When the template engine, an essential component of the Django MTV system, renders a template, it processes the template file and replaces all tags with the appropriate information. Views Views define the structure of a Django application. They group units of user functionality together and they describe the possible user interactions with the models. Mapping of URIs to views Each HTTP request contains at least a Uniform Resource Identifier (URI). Django can map URIs to specific views (i.e. user functionality). It uses regular expression pattern matching to map a URI to the appropriate view Persistent storage To enable persistent storage of data, Django ships with an Object-Relational Mapper (ORM). The ORM transparently keeps a persistent storage of all model instances created and modified in the Django application. An off-the-shelf Relational Database Management System (RDBMS) is used for the actual storage. For the programming perspective, the ORM translates between the object-oriented way of accessing data and the queries required to retrieve the correct data from the RDBMS. Figure 4.2 illustrates the position of the ORM in the architecture of an object-oriented application that uses an RDBMS for persistent storage. RDBMS kroket uses PostgreSQL 9.0 as RDBMS, but many other popular RDBMS systems are supported by Django and may be used instead. However, SQLite and MySQL 5.0 fail to execute some complex queries generated by the ORM. 17
19 CHAPTER 4. SYSTEM DESIGN Figure 4.2: Object-Relational Mapper Communicating with an RDBMS is a large bottleneck. To speed up the processing of requests by the web server, the ORM has a caching mechanism that reduces the number of database connections. The ORM queries related data as well: when the name of a subject is retrieved, it is likely that the subject code of the subject has to be retrieved too, so it is retrieved as well. When generating a report listing all subjects of a package, the ORM retrieves relevant data of all packages in one query and keep this in cache for later use. Relational data model The use of an ORM enables the developers of a Django application to abstract from the relational data model used by the RDBMS both for storage and for queries. Even the creation and alteration of tables is handled by the ORM. Therefore, although an RDBMS is part of kroket, no low-level Entity-Relationship Diagram (ERD) has to be designed. However, an high-level ERD is given in the SRD [2]. The relational data model that is used by the RDBMS is generated by the ORM from the models defined in KroketApp.models (see figure 4.4 in section 4.6) Request processing The way a user interacts with a web application can be described as a sequence of requests from the user to the application, each followed by response of the application. 18
20 Kroket ARCHITECTURAL DESIGN DOCUMENT HTTP requests and responses A web application transfers requests and responses between client and server using the HTTP protocol. An HTTP request typically consists of a Uniform Resource Identifier (URI) and optional GET and POST data. An HTTP response consists of a status code and a message body. Django HttpRequest and HttpResponse objects By means of HttpRequest and HttpResponse objects, Django offers functionality for handling HTTP requests at the server side and sending back HTTP responses to the client side Programming languages Django is built using Python, which is an interpreted high level programming language that supports object-oriented programming. Since kroket is built closely on top of Django, all code describing the models and views is written in Python. The GUI consists of a hierarchy of templates. Templates consist of HTML code with tags. To enable animation of GUI elements, Javascript is used. 4.4 Integration of KROKET into the Django framework This section describes the integration of kroket with the Django framework as described in section 4.3. This section discusses functionality that follows from the user requirements of the URD [3] and the software requirements of the SRD [2], but that is not captured in the components as discussed in chapter List of implemented views This section describes the decomposition of the GUI of kroket into views. For kroket, the are views on the database. The following views are defined: query/electivepackage/list; query/major/list; query/major/subjects; query/package/search; query/package/subjects; query/recommendation/subject; query/schedule/delete; query/schedule/list; query/schedule/load; 19
21 CHAPTER 4. SYSTEM DESIGN query/schedule/rename; query/schedule/save; query/schedule/validate; query/subject/info; query/subject/search; query/usepackage/list; query/user/change; query/user/login; query/user/logout; query/user/info; query/user/register Templates Templates are not used by kroket. Instead, JavaScript is used on the client-side Mapping of URIs to views kroket uses Django to map URIs to specific views. We use the following URI structure: query/model name/action We do not include parameters in the URI structure. Parameters are sent in the HTTP Post. 4.5 Internals of the KROKET webserver Figure 4.3 illustrates the internal server structure of kroket. The RDBMS runs on the same server as kroket. Running the RDBMS on an external server introduces additional connection overhead and there may be a bandwidth bottleneck in the network connecting the RDBMS with the webserver. Running the RDBMS on the same server as kroket reduces the costs of operation of the system and it will not harm performance because the expected server load is low. 20
22 Kroket ARCHITECTURAL DESIGN DOCUMENT Webserver running Django Static webserver kroket application Static files Data model RDBMS static file HTTP request Request processing logic ORM AJAX response HTTP request Interwubz 4.6 Code structure Figure 4.3: The internal server structure of kroket. Django prescribes a typical code structure that is preserved in kroket. Django code is structured into a project that consists of one or more apps. kroket comes in the form of one Django project consisting of one app, named KroketApp. The directory structure of kroket and a description of the most important files is given in figure 4.4. In Python, files are referenced by means of a dot notation, e.g. KroketApp.models. This dot notation per definition maps directly to the directory structure of the application s code directory, so the Python statement import KroketApp.models will import the file KroketApp/models.py. 21
23 CHAPTER 4. SYSTEM DESIGN /release_# /KroketApp init.py models.py admin.py views.py /query /electivepackage /media /major /package /recommendation /schedule /subject /usepackage /user /schedule index.html layout.css studyplanner.js validator.js /test /templates Defines database initialization procedures. Defines models. Defines views for specific models. Defines views not related to specific models. Outputs the package name and a list with subject codes. Outputs the major name. Contains searching a packet (USE or elective). Contains the recommendation of subjects. Contains all related things for saving, loading, renaming etc. of schedules. Contains searching a subject. Outputs the package name and a list with subject codes. Contains user-related things, like authentication. Updates the database daily. Contains client-side media referred to by template. Contains the style information for the website. Contains GUI layout for the website. Is the head javascript file. Defines the validator for checking the schedule. Contains QUnit testing. Contains HTML template definitions. Figure 4.4: Directory structure of KROKET. 22
24 Chapter 5 Component descriptions In this chapter we will describe every component of chapter 4 in detail. We will, however, start by giving a description model. 5.1 Description model In this section we specify how components are described. For each component we describe the component identifier, type, purpose, function, subordinates, dependencies, interfaces, processing and data Component identifier In the component identifier, we give a unique identifier to the component Type The type of a component can be either server or client. The server has two subtypes: database and query. The client also has two subtypes: GUI and script Purpose In the purpose of a component, we give a list of software requirements implemented. Some software requirements are not implemented by one component, but by several components together. In this case, it is included in the purpose of each component that contributes to its implementation. The software requirements can be found in section 3 of the SRD [2] Function In the function of a component, we describe what the component does Subordinates The subordinates of a component are child modules (modules called, files composed of, classes used). 23
25 CHAPTER 5. COMPONENT DESCRIPTIONS Dependencies The dependencies of a component consist of components to be executed before or after, and excluded operations during execution Interfaces In the interface of a component, we describe the data and control flow in and out Processing In the processing of a component, we describe the internal control and data flow. Since kroket is based on a client-server architecture, this will often dictate a natural ordening on the internal control and data flow as can be seen in the MSCs in section of the SRD [2]. We will therefore not describe the processing whenever this naturally follows from the component s description Data In the data of a component, we describe the internal data. 5.2 Server Subject data Component identifier Server.Database.Subject data. Type Database. Purpose The following software requirements are implemented: SCR1, SCR2, SCR3, SCR4, SCR5, SCR6, SCR7, SCR8, SCR9, SCR11, SCR12, SCR13, SCR14, SCR15, SCR16, SCR17, SCR21, SCR22, SCR23, SCR26, SCR27, SCR28, SCR29, SCR31, SCR32, SCR36, SCR37, SCR38, SCR41, SCR42, SCR43, SCR46, SCR51, SCR52, SCR53, SCR54, SCR55, SCR56, SCR57, SCR61, SCR66, SCR67, SCR68, SCR69, SCR70, SCR71, SCR72, SCR76, SCR81, SCR82, SCR83, SCR84, SCR85, SCR86, SCR87, SCR88, SCR89, SCR90, SCR91, SCR92, SCR93, SCR94, SCR95, SCR96, SCR97, SCR98. 24
26 Kroket ARCHITECTURAL DESIGN DOCUMENT Function This component of the database contains all subject information. It is closely related to the Python scripts for accessing this data. A complete list of Python scripts is given in section 3.1 of the SRD [2]. The component is used by the following queries of this list: subject/search; package/search; major/list; usepackage/list; electivepackage/list; major/subjects; package/subjects; subject/info. Subordinates Subject data does not have any child modules. It consists of several database entities and relations, as described in section of the SRD [2]. Dependencies The Subject data component depends on the Update data component to keep the subject data updated in the database. This update is automatically executed every day. kroket uses the concept of database transactions. In this way, the update can be performed, while the server is up. See figure 4.1. Interfaces This component is used by all queries mentioned in Function. AJAX is used for the communication between server and client. The Python script craft the corresponding database query and retrieve it from the database using Django. The query result is then sent to the client in JSON format. Detailed information per query can be found in section 3.1 of the SRD [2]. The Subject data component gets its data from the Update database component. The Update database component will update the database on a regular basis with the latest subject data. This is further described in appendix C of the SRD [2]. Processing The processing for this component is done automatically by Django. kroket only has to create models as discussed in chapter 4. 25
27 CHAPTER 5. COMPONENT DESCRIPTIONS Data See section of the SRD [2] User data Component identifier Server.Database.User data. Type Database. Purpose The following software requirements are implemented: SCR101, SCR102, SCR106, SCR111, SCR112, SCR116, SCR121, SCR122, SCR123, SCR126, SCR127, SCR131, SCR136, SCR137, SCR141, SCR146, SCR147, SCR148, SCR149, SCR151, SCR152, SCR156, SCR157, SCR158, SCR159, SCR160, SCR166, SCR171, SCR176, SCR181, SCR182, SCR186, SCR191, SCR192, SCR196, SCR197, SCR198, SCR199, SCR200, SCR201, SCR202, SCR203. Function This component of the database contains all user data, including schedules and recommendations. It is closely related to the Python scripts for accessing this data. A complete list of Python scripts is given in section 3.1 of the SRD [2]. The component is used by the following queries of this list: user/authenticate; user/change; recommendation/subject; schedule/save; schedule/load; schedule/list; schedule/delete; schedule/rename; schedule/validate. 26
28 Kroket ARCHITECTURAL DESIGN DOCUMENT Subordinates User data does not have any child modules. It consists of several database entities and relations, as described in section of the SRD [2]. Dependencies The User data component depends on the Update data component. The Update data component uses the schedules stored in the User data component to update the Recommendation relation, which is part of the User data component. This is automatically executed every day. Again, we use database transactions to perform this update. See figure 4.1. Interfaces This component is used by all Python scripts mentioned in Function. AJAX is used for the communication between server and client. Note that user/authenticate consists of four Python scripts: register, login, logout and info. The Python scripts craft the corresponding query and retrieve it from the database using Django. The query result is then sent to the client with JSON. Detailed information per query can be found in section 3.1 of the SRD [2]. The User data component is much more dynamic than the Subject data component. The Subject data component is updated on a regular basis, but the user data can be changed at any time. User/login and user/logout affect the session state. The session state is maintained by the server. It is not stored in the database. Processing The processing for this component is done automatically by Django. kroket only has to create models as discussed in chapter 4. Data See section of the SRD [2] Major Component identifier Server.Query.Major. Type Query. Purpose The following software requirements are implemented: SCR31, SCR32, SCR46, SCR51, SCR52, SCR53, SCR54, SCR55, SCR56, SCR57. 27
29 CHAPTER 5. COMPONENT DESCRIPTIONS Function This component provides all major-related Python scripts. Subordinates The component consists of the following Python scripts: major/list. major/subjects. Dependencies The Major component depends on the Subject data component: the Python scripts will retrieve data from this part of the database. For an overview of dependencies, see figure 4.1. Interfaces The GUI sends HTTP requests to the server. Django processes HTTP requests for us, but we will abstract from this when describing the queries. For the description, it is sufficient to know that Django can map HTTP requests to queries. A HTTP request is only accepted if it is an AJAX request and of type POST. Otherwise, a 403 Forbidden will be raised. Thus, the Python script receives a HTTP request from the GUI. The major/list query receives no parameter in the HTTP request. It will use Django to retrieve a list of all majors from the database. This list is returned to the client in JSON format. The major/subjects script receives a major as parameter in the HTTP request. It will use Django to retrieve a list of all mandatory subjects in the given major. This list is returned to the client in JSON format. Processing Follows from the component s function and interfaces. Data Not applicable Package Component identifier Server.Query.Package. Type Query. 28
30 Kroket ARCHITECTURAL DESIGN DOCUMENT Purpose The following software requirements are implemented: SCR21, SCR22, SCR23, SCR26, SCR27, SCR28, SCR29, SCR61, SCR66, SCR67, SCR68, SCR69, SCR70, SCR71, SCR72. Function This component provides all package-related Python scripts. Subordinates The component consists of the following Python scripts: package/search. package/subjects. Dependencies The Package component depends on the Subject data component: the Python scripts will retrieve data from this part of the database. For an overview of dependencies, see figure 4.1. Interfaces The package/search Python script receives a search request in the HTTP request. This HTTP request contains a search term with several other fields. These other fields are described in section of the SRD [2]. An appropriate query is created, after which Django is used to retrieve a search list from the database. This list is returned to the client in JSON format. Processing Follows from the component s function and interfaces. Data Not applicable Recommendation Component identifier Server.Query.Recommendation. Type Query. 29
31 CHAPTER 5. COMPONENT DESCRIPTIONS Purpose The following software requirements are implemented: SCR136, SCR137, SCR141. Function This component provides all subject-related Python scripts. Subordinates The component consists of the following Python scripts: recommendation/subject. Dependencies The Recommendation component depends on the User data component: the Python scripts will retrieve data from this part of the database. The Recommendation relation is updated by the Update database component. For an overview of dependencies, see figure 4.1. Interfaces The recommendation/subject Python script recommends subjects to users, given the current subjects in the schedule. The parameters for this script in the HTTP request are the major and an array of subjects. The script creates a corresponding database query, Django will then retrieve it from the database. This query uses the Recommendation relation. First, the 24 best matching subjects are retrieved. From the 24 best matching subjects, a total of 8 will be randomly selected. The better a subject matches, the higher the probability it is selected. A list of recommended subjects is returned in JSON format. Processing Follows from the component s function and interfaces. Data Not applicable Subject Component identifier Server.Query.Subject. Type Query. 30
32 Kroket ARCHITECTURAL DESIGN DOCUMENT Purpose The following software requirements are implemented: SCR1, SCR2, SCR3, SCR4, SCR5, SCR6, SCR7, SCR8, SCR9, SCR11, SCR12, SCR13, SCR14, SCR15, SCR16, SCR17, SCR76, SCR81, SCR82, SCR83, SCR84, SCR85, SCR86, SCR87, SCR88, SCR89, SCR90, SCR91, SCR92, SCR93, SCR94, SCR95, SCR96, SCR97, SCR98. Function This component provides all recommendation-related queries. Subordinates The component consists of the following Python scripts: subject/search. subject/info. Dependencies The Subject component depends on the Subject data component: the Python scripts will retrieve data from this part of the database. For an overview of dependencies, see figure 4.1. Interfaces The subject/search Python script receives a search request in the HTTP request. This search request contains a search term with several other fields. These other fields are described in section of the SRD [2]. An appropriate query is created, after which Django is used to retrieve a search list from the database. This list is returned to the client in JSON format. The subject/info Python script receives a subject code in the HTTP request. An appropriate query is created, after which Django is used to retrieve detailed subject information for the given subject code. The precise content of the detailed subject information is described in section of the SRD [2]. It is returned in JSON format. Processing Follows from the component s function and interfaces. Data Not applicable User Component identifier Server.Query.User. 31
33 CHAPTER 5. COMPONENT DESCRIPTIONS Type Query. Purpose The following software requirements are implemented: SCR101, SCR102, SCR106, SCR111, SCR112, SCR116, SCR121, SCR122, SCR123, SCR126, SCR127, SCR131. Function This component provides all user-related Python scripts. Subordinates The component consists of the following Python scripts: user/authenticate. user/change. Note that user/authenticate can further be decomposed into: user/register. user/login. user/logout. user/info. Dependencies The User component depends on the User data component: the Python scripts will retrieve data from this part of the database. For an overview of dependencies, see figure 4.1. Interfaces The user/authenticate consists of user/register, user/login, user/logout and user/info. We will discuss these queries individually. Session state is used to implement these queries, except for user/register. Session state is maintained by the server. The user/register Python script receives a username and a password in the HTTP request. The Python script checks if the username and password satisfy the constraints as given in section of the SRD [2]. If these constraints are fulfilled, an appropriate query is created that adds the user to the User data component. The success status is returned to the client in JSON format. 32
34 Kroket ARCHITECTURAL DESIGN DOCUMENT The user/login Python script receives a username and a password in the HTTP request. The Python script creates a corresponding query, which checks if the combination of username and password exists in the database. The success status is returned to the client in JSON format. Furthermore, a session is created for the user. The user/logout Python script does not need any arguments in the HTTP request. The server then removes the session corresponding to that user. Nothing will be returned to the client. The user/info Pythons script does not need any arguments in the HTTP request. The Python script checks if there is a session for the user. It returns if the user is logged in with JSON. If the user is logged in, it also returns the username as string. Furthermore, if the user has already loaded a schedule in the session, the name of that schedule is also returned. The user/change Python script receives the current password and a new password as arguments in the HTTP request. If the current password is correct and the new password satisfies the constraints for passwords as given in section of the SRD [2], the password will be changed. The success status is returned to the client in JSON format. Processing Follows from the component s function and interfaces. Data Not applicable Schedule Component identifier Server.Query.Schedule. Type Query. Purpose The following software requirements are implemented: SCR146, SCR147, SCR148, SCR149, SCR151, SCR152, SCR156, SCR157, SCR158, SCR159, SCR160, SCR166, SCR171, SCR176, SCR181, SCR182, SCR186, SCR191, SCR192, SCR196, SCR197, SCR198, SCR199, SCR200, SCR201, SCR202, SCR203. Function This component provides all schedule-related Python scripts. 33
35 CHAPTER 5. COMPONENT DESCRIPTIONS Subordinates The component consists of the following Python scripts: schedule/save. schedule/load. schedule/list. schedule/delete. schedule/rename. schedule/validate. Dependencies The Schedule component depends on the User data component: the Python scripts will retrieve data from this part of the database. For an overview of dependencies, see figure 4.1. Interfaces The schedule/save Python script receives a schedule, a name, a major and a year in the HTTP request. The Python script creates the corresponding query, so Django will add the schedule to the database. If a schedule with the given name already exists, it will be overwritten. Nothing will be returned to the client. The schedule/load Python script receives a username and a schedule name in the HTTP request. Note that we do not enforce uniqueness of schedule names, but the combination of username and schedule name is unique. The Python script creates a corresponding query, so Django will retrieve the schedule with the given schedule name for the given user. The success status is returned in JSON format. If successful, the schedule, major, major name and start year will also be returned in JSON format. The schedule/list Python script does not need any arguments in the HTTP request. It uses the session state to identify the user. The Python script uses Django to retrieve a list of all schedule names for that user. This list is returned in JSON format. The schedule/delete Python script receives a schedule name in the HTTP request. The session state is used to check if this request comes from the user owning the schedule. Therefore, the user must be logged in to use the query. A query is created, so that Django will delete the schedule from the database. The success status is returned in JSON format. The schedule/rename Python script receives the old schedule name and a new schedule name in the HTTP request. A query is created, so that Django will rename the schedule. The success status is returned in JSON format. The schedule/validate Python script receives a schedule and a major. The server performs four checks on the schedule. It returns the result for each schedule. We decided to create four separate checks, because this allows us to give sophisticated feedback. The result of these checks are returned in JSON format. More details can be found in section of the SRD [2]. 34
36 Kroket ARCHITECTURAL DESIGN DOCUMENT Processing Follows from the component s function and interfaces. Data Not applicable Update database Component identifier Server.Update database. Type Server. Purpose The following software requirements are implemented: SCR1, SCR2, SCR3, SCR4, SCR5, SCR6, SCR7, SCR8, SCR9, SCR11, SCR12, SCR13, SCR14, SCR15, SCR16, SCR17, SCR21, SCR22, SCR23, SCR26, SCR27, SCR28, SCR29, SCR31, SCR32, SCR36, SCR37, SCR38, SCR41, SCR42, SCR43, SCR46, SCR51, SCR52, SCR53, SCR54, SCR55, SCR56, SCR57, SCR61, SCR66, SCR67, SCR68, SCR69, SCR70, SCR71, SCR72, SCR76, SCR81, SCR82, SCR83, SCR84, SCR85, SCR86, SCR87, SCR88, SCR89, SCR90, SCR91, SCR92, SCR93, SCR94, SCR95, SCR96, SCR97, SCR98. Function This component of the server is for database maintenance: database is frequently updated with OWIS data. it makes sure the kroket Subordinates Update database does not have any child modules. Dependencies The Update database component does not depend on any other kroket components. See figure 4.1. Interfaces Control is passed to this component daily. The component scans the STU files and then starts parsing OWInfo as described in appendix C of the SRD [2]. The database is then updated with new subject data. 35
37 CHAPTER 5. COMPONENT DESCRIPTIONS Processing Follows from the component s function and interfaces. Data See appendix C of the SRD [2]. 5.3 Client Layout Component identifier Client.GUI.Layout. Type GUI. Purpose The following software requirements are implemented: none. Function This component is responsible for the GUI layout. Subordinates The component consists of the following CSS files: layout. printlayout. The CSS files are created with Bootstrap. Dependencies The Layout component does not depend on any other component. Interfaces No interfaces. Processing Not applicable. 36
38 Kroket ARCHITECTURAL DESIGN DOCUMENT Data Not applicable Content Component identifier Client.GUI.Content. Type GUI. Purpose The following software requirements are implemented: none. Function This component is responsible for the GUI content. Subordinates The component consists of the following HTML files: about. index. index-nl NL. printversion. Dependencies The Content component does not depend on any other component. Interfaces No interfaces. Processing Not applicable. Data Not applicable. 37
39 CHAPTER 5. COMPONENT DESCRIPTIONS Authentication Component identifier Client.Script.Authentication. Type Script. Purpose The following software requirements are implemented: SCR101, SCR102, SCR106, SCR111, SCR112, SCR116, SCR121, SCR122, SCR123, SCR126, SCR127, SCR131. Function This component provides the client-side part of authentication. Subordinates Authentication does not have any child modules. Dependencies The Authentication component depends on the User component. Interfaces Control is passed to this component whenever the user wants to register, log in or log out. When registering, the user has to enter his password and a confirmation of his password. We check on the client-side if these passwords are the same. The username and password constraints as described in section of the SRD [2] are also checked on the client-side. Next, the corresponding query in the User component is called. The component will then react based on the query response. Processing Follows from the component s function and interfaces. Data Not applicable. 38
40 Kroket ARCHITECTURAL DESIGN DOCUMENT Language Component identifier Client.Script.Language. Type Script. Purpose The following software requirements are implemented: SCR211, SCR212. Function This component provides translations for text in static HTML. Subordinates Language does not have any child modules. Dependencies The Language component depends on the Content component. Interfaces Since the Language component provides translations for text in static HTML, it interfaces with the Content component. In essence, this is a dictionary between keywords and translations. Processing Not applicable. Data A dictionary between keywords and translations Persistent data Component identifier Client.Script.Persistent data. 39
41 CHAPTER 5. COMPONENT DESCRIPTIONS Type Script. Purpose The following software requirements are implemented: none. Function This component provides storage for persistent data. Subordinates Persistent data does not have any child modules. Dependencies Persistent data does not depend on any other component. Interfaces Not applicable. Processing Not applicable. Data Persistent data locally stores the schedule of a user. This means that the schedule is not lost when the page is refreshed or closed Print Component identifier Client.Script.Print. Type Script. Purpose The following software requirements are implemented: none. Note that there are no software requirements for printing, because printing is GUI-related. This component implements UCR27. 40
42 Kroket ARCHITECTURAL DESIGN DOCUMENT Function This component allows users to print their schedule. Subordinates Print does not have any child modules. Dependencies This component uses the special print layout of the Layout component. Interfaces When the user clicks on Print schedule, control is passed to this component. The component uses the special print layout to generate a new page. This page only contains the schedule. Furthermore, a pop-up is created. This pop-up allows users to select printer options. Processing Follows from the component s function and interfaces. Data Not applicable Search package Component identifier Client.Script.Search package. Type Script. Purpose The following software requirements are implemented: SCR21, SCR22, SCR23, SCR26, SCR27, SCR28, SCR29, SCR61, SCR66, SCR67, SCR68, SCR69, SCR70, SCR71, SCR72. Function This component provides the client-side part of searching packages. Subordinates Search package does not have any child modules. 41
43 CHAPTER 5. COMPONENT DESCRIPTIONS Dependencies The Search package component depends on the Package component. Interfaces When the user searches for packages, control is passed to this component. The package/search query of the Package component is then called. It returns a list of packages, which is then displayed. When the user clicks on one of the packages, control is passed again to this component. The package/subjects query of the Package component is then called. This query gives subject information for each subject in a given package. Processing Follows from the component s function and interfaces. Data Not applicable Search subject Component identifier Client.Script.Search subject. Type Script. Purpose The following software requirements are implemented: SCR1, SCR2, SCR3, SCR4, SCR5, SCR6, SCR7, SCR8, SCR9, SCR11, SCR12, SCR13, SCR14, SCR15, SCR16, SCR17, SCR76, SCR81, SCR82, SCR83, SCR84, SCR85, SCR86, SCR87, SCR88, SCR89, SCR90, SCR91, SCR92, SCR93, SCR94, SCR95, SCR96, SCR97, SCR98. Subordinates Search subject does not have any child modules. Dependencies The Search subject component depends on the Package component. 42
44 Kroket ARCHITECTURAL DESIGN DOCUMENT Interfaces When the user searches for subjects, control is passed to this component. The subject/search query of the Package component is then called. It returns a list of subejcts, which is then displayed. When the user clicks on one of the subjects, control is passed again to this component. The subject/info query of the Package component is then called. This query gives detailed subject information for the subject. Processing Follows from the component s function and interfaces. Data Not applicable Storage Component identifier Client.Script.Storage. Type Script. Purpose The following software requirements are implemented: SCR146, SCR147, SCR148, SCR149, SCR151, SCR152, SCR156, SCR157, SCR158, SCR159, SCR160, SCR166, SCR171, SCR176, SCR181, SCR182, SCR186. Function This component provides the client-side part of saving and loading schedules. Subordinates Storage does not have any child modules. Dependencies The Storage component depends on the Schedule component. 43
45 CHAPTER 5. COMPONENT DESCRIPTIONS Interfaces When the user clicks on Load, Save or Save As, control is passed to this component. If the user clicks on Load, a list of schedule names is displayed. This list is retrieved from the server with the schedule/list query. The user can then select one of the schedule names. The user may choose to load this schedule, after which the corresponding schedule is retrieved from the server with the schedule/load query. Alternatively, the user may choose to delete the schedule. In this case, the schedule/delete query is used to delete schedules. If the user clicks on Save, the schedule/save query is used to save the schedule on the server. If the schedule has not been saved before, the user also has to provide a name for the schedule. If the user clicks on Save As, the user has to provide a new schedule name. In the case that the schedule name is not already used by that user, the schedule will be saved on the server. However, if the schedule name is already used by that user, kroket will ask if it should overwrite the schedule. Processing Follows from the component s function and interfaces. Data The local storage functionality of HTML 5 is used to achieve this Studyplanner Component identifier Client.Script.Studyplanner. Type Script. Purpose The following software requirements are implemented: SCR31, SCR32, SCR46, SCR51, SCR52, SCR53, SCR54, SCR55, SCR56, SCR57, SCR121, SCR122, SCR123, SCR123, SCR136, SCR137, SCR141. Function At the moment, Studyplanner is a multi-purpose component. following tasks: It is responsible for the Event handling. Global variables and definitions. 44
46 Kroket ARCHITECTURAL DESIGN DOCUMENT Helper functions. On load tasks. Subordinates Studyplanner does not have any child modules. Dependencies The Studyplanner component depends on all client scripts, the Major component, the Recommendation component and the User component. Interfaces For each event, Studyplanner calls the corresponding client script to handle this event. Simple events are however handled immediately by Studyplanner. Furthermore, Studyplanner contains all global variables and definitions. It also defines several helper functions that are useful for all other client scripts. One of the helper functions takes care of subject recommendation. New subject recommendations are shown each time a subject is added or removed from the schedule. New subject recommendations are also shown when a schedule is loaded from the server. Lastly, there are several on load tasks. We will discuss the most important tasks here. Firstly, we check if the user is still logged in. For this purpose, we use the user/info query. Secondly, a list of all majors is retrieved from the server with the major/list query. Processing Follows from the component s function and interfaces. Data Global variables and definitions Validator Component identifier Client.Script.Validator. Type Script. Purpose The following software requirements are implemented: SCR191, SCR192, SCR196, SCR197, SCR198, SCR199, SCR200, SCR201, SCR202, SCR
47 CHAPTER 5. COMPONENT DESCRIPTIONS Function This component provides schedule validation. Subordinates Validator does not have any child modules. Dependencies The Validator component depends on the Schedule component. Interfaces When the user clicks on Validate schedule, control is passed to this component. Processing Follows from the component s function and interfaces. Data Not applicable. 46
48 Chapter 6 Feasibility and resource estimates This chapter gives an estimation of the computer resources which are needed to develop and operate kroket. The requirements for the development of kroket are: CPU 1.0 GHz x86 or equivalent Memory 1 GB RAM Hard disk 1 GB free on hard disk Operating system Linux Software Python 2.7 or higher, Django 1.4.1, Firefox version 13 and above, Chrome version 20 and above, Internet Explorer version 9 and above, Safari version 5 and above, Opera version 12 and above and RDBMS supported by Django The requirements for operating kroket are: Server side: CPU Memory Hard disk Operating system Software Client side: CPU Memory Operating system Software 2.0 GHz x86 or equivalent 2 GB RAM 4 GB free on hard disk Linux Python 2.7 or higher, Django and RDBMS supported by Django 1.0 GHz x86 or equivalent 512 MB RAM Any supporting the software Firefox version 13 and above, Chrome version 20 and above, Internet Explorer version 9 and above, Safari version 5 and above or Opera version 12 and above 47
49 Chapter 7 Requirements traceability matrices Tracing software requirements to components is vital in the software production process. It allows developers to relate specific parts of the software to the user requirements. In this way, each developer should know what a component s purpose is. 7.1 SR to AD This section describes all components related to a certain software requirement. Hence, we can see which component were made to fulfill a certain software requirement. This gives a nice method to check the architectural design. For each software requirement, we inspect the related components and ask ourselves if the components are sufficient to fulfill the software requirement. If not, the components are probably incomplete. Several non-functional software requirements can not be linked to specific components. They impose a system-wide constraint for kroket. It should be noted that a software requirement is often linked to several components. This is indeed natural when we consider how the software requirements were specified. SR AD 1 Subject data, Update database, 2 Subject data, Update database, 3 Subject data, Update database, 4 Subject data, Update database, 5 Subject data, Update database, 6 Subject data, Update database, 7 Subject data, Update database, 8 Subject data, Update database, 9 Subject data, Update database, 11 Subject data, Update database, 12 Subject data, Update database, 13 Subject data, Update database, 14 Subject data, Update database, 15 Subject data, Update database, 16 Subject data, Update database, 48
50 Kroket ARCHITECTURAL DESIGN DOCUMENT 17 Subject data, Update database, 21 Subject data, Update database, Package, Search package 22 Subject data, Update database, Package, Search package 23 Subject data, Update database, Package, Search package 26 Subject data, Update database, Package, Search package 27 Subject data, Update database, Package, Search package 28 Subject data, Update database, Package, Search package 29 Subject data, Update database, Package, Search package 31 Subject data, Update database, Major 32 Subject data, Update database, Major 36 Subject data, Update database 37 Subject data, Update database 38 Subject data, Update database 41 Subject data, Update database 42 Subject data, Update database 43 Subject data, Update database 46 Subject data, Update database, Major 51 Subject data, Update database, Major 52 Subject data, Update database, Major 53 Subject data, Update database, Major 54 Subject data, Update database, Major 55 Subject data, Update database, Major 56 Subject data, Update database, Major 57 Subject data, Update database, Major 61 Subject data, Update database, Package, Search package 66 Subject data, Update database, Package, Search package 67 Subject data, Update database, Package, Search package 68 Subject data, Update database, Package, Search package 69 Subject data, Update database, Package, Search package 70 Subject data, Update database, Package, Search package 71 Subject data, Update database, Package, Search package 72 Subject data, Update database, Package, Search package 76 Subject data, Update database, 81 Subject data, Update database, 82 Subject data, Update database, 83 Subject data, Update database, 84 Subject data, Update database, 85 Subject data, Update database, 86 Subject data, Update database, 87 Subject data, Update database, 88 Subject data, Update database, 89 Subject data, Update database, 90 Subject data, Update database, 91 Subject data, Update database, 92 Subject data, Update database, 93 Subject data, Update database, 94 Subject data, Update database, 95 Subject data, Update database, 96 Subject data, Update database, 97 Subject data, Update database, 98 Subject data, Update database, 49
51 CHAPTER 7. REQUIREMENTS TRACEABILITY MATRICES 101 User data, User, Authentication 102 User data, User, Authentication 106 User data, User, Authentication 111 User data, User, Authentication 112 User data, User, Authentication 116 User data, User, Authentication 121 User data, User, Authentication 122 User data, User, Authentication 123 User data, User, Authentication 126 User data, User, Authentication 127 User data, User, Authentication 131 User data, User, Authentication 136 User data, Recommendation 137 User data, Recommendation 141 User data, Recommendation 146 User data, Schedule, Storage 147 User data, Schedule, Storage 148 User data, Schedule, Storage 149 User data, Schedule, Storage 151 User data, Schedule, Storage 152 User data, Schedule, Storage 156 User data, Schedule, Storage 157 User data, Schedule, Storage 158 User data, Schedule, Storage 159 User data, Schedule, Storage 160 User data, Schedule, Storage 166 User data, Schedule, Storage 171 User data, Schedule, Storage 176 User data, Schedule, Storage 181 User data, Schedule, Storage 182 User data, Schedule, Storage 186 User data, Schedule, Storage 191 User data, Schedule, Validator 192 User data, Schedule, Validator 196 User data, Schedule, Validator 197 User data, Schedule, Validator 198 User data, Schedule, Validator 199 User data, Schedule, Validator 200 User data, Schedule, Validator 201 User data, Schedule, Validator 202 User data, Schedule, Validator 203 User data, Schedule, Validator 211 Language 212 Language 213 System-wide 214 System-wide 215 System-wide 216 System-wide 217 System-wide 218 Layout, Content 219 Layout, Content 220 Layout, Content 221 Layout, Content 222 Layout, Content 223 Layout 7.2 AD to SR We now describe all software requirements related to a certain architectural design. Note that this should simply be the transpose of the relation in the previous table. This is indeed the case, which suggests that the software requirements and components match. If a component is not related to any software requirement, then this component is either superfluous or the software requirements are incomplete. Two components are not related to any software requirement. These components are Persistent Data and Print. However, no software requirements were made for the GUI as explained in section 4.1 of the SRD [2]. AD SR Subject data 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 21, 22, 23, 26, 27, 28, 29, 31, 32, 36, 37, 38, 41, 42, 43, 46, 51, 52, 53, 54, 55, 56, 57, 50
52 Kroket ARCHITECTURAL DESIGN DOCUMENT 61, 66, 67, 68, 69, 70, 71, 72, 76, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98 User data 101, 102, 106, 111, 112, 116, 121, 122, 123, 126, 127, 131, 136, 137, 141, 146, 147, 148, 149, 151, 152, 156, 157, 158, 159, 160, 166, 171, 176, 181, 182, 186, 191, 192, 196, 197, 198, 199, 200, 201, 202, 203 Major 31, 32, 46, 51, 52, 53, 54, 55, 56, 57 Package 21, 22, 23, 26, 27, 28, 29, 61, 66, 67, 68, 69, 70, 71, 72 Recommendation 136, 137, 141 Subject 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 76, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98 User 101, 102, 106, 111, 112, 116, 121, 122, 123, 126, 127, 131 Schedule 146, 147, 148, 149, 151, 152, 156, 157, 158, 159, 160, 166, 171, 176, 181, 182, 186, 191, 192, 196, 197, 198, 199, 200, 201, 202, 203 Update database 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 21, 22, 23, 26, 27, 28, 29, 31, 32, 36, 37, 38, 41, 42, 43, 46, 51, 52, 53, 54, 55, 56, 57, 61, 66, 67, 68, 69, 70, 71, 72, 76, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98 Layout 218, 219, 220, 221, 222, 223 Content 218, 219, 220, 221, 222 Authentication 101, 102, 106, 111, 112, 116, 121, 122, 123, 126, 127, 131 Language 211, 212 Persistent data Print Search package 21, 22, 23, 26, 27, 28, 29, 61, 66, 67, 68, 69, 70, 71, 72 Search subject 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 76, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98 Storage 146, 147, 148, 149, 151, 152, 156, 157, 158, 159, 160, 166, 171, 176, 181, 182, 186 Studyplanner 31, 32, 46, 51, 52, 53, 54, 55, 56, 57, 121, 122, 123, 123, 136, 137, 141 Validator 191, 192, 196, 197, 198, 199, 200, 201, 202,
53 Appendix A Future work In this appendix we discuss improvements to kroket that can be implemented in future projects. These features were not implemented, because we either did not get permission for it or did not have enough time. The following features were not implemented: Goal of the KROKET-app: When this project started, there where no real requirements. What was known is that we should help students with their choice. We did this from an engineering perspective and focused on scheduling. We tried to get a small and manageable list of subjects where students could choose from. This eventually made KROKET a scheduling application, which does not cover the total cycle of choosing. Choosing should be done by first exploring, then deepening finally followed by choosing a subject. We provide help with the deepening phase, but not with the exploring phase. This could be added by integrating several forms that are used by student-coaches. For example, there is a questionaire that finds out which majors fit the best with a student. This could be used very well with the option we already offer to look for deepening or broadening subjects. So focus on how should a student choose their electives and how can we support him/her with that? will greatly increase the scope and usability of kroket. We strongly advice to shift focus to this aspect before adding more technical possibilities because it could be that this changes the structure of kroket in a major way. Missing data: This project was based on a limited amount of data. This is due to the fact that the bachelor-college just started, but also because communication with STU was rather hard. The data we got from STU and the knowledge of Lex Lemmens where the only options we had to figure out database dependencies and possible interpretations of data. For example, a subject instance has a list of timeslots. We could not distinguish between this course is given in timeslot a AND b and this course is given in timeslot a OR b. A significant amount of existing dependencies or expected dependencies could be wrong or non-existent. Furthermore, precise rules for a valid bachelor study packet are not known yet. This means that the validator might have to be changed. We advice to look into this before continuing work on technical features. 52
54 Kroket ARCHITECTURAL DESIGN DOCUMENT OWIS: OWIS is used to get the latest subject information to update the database of kroket. This interface is currently not implemented in kroket, because STU did not give kroket access to the OWIS system. For the correct and latest information of subjects it is necessary to get access to this information. Most vital information are the subject codes of the courses that could be taken. Besides that the the information about the different majors, use- and coherent packages and their scheduling is quite important as well. Further additional course-info is useful as well since that is what students need to make a choice. More information can be read in section 3.1. OASE: OASE is the portal for students where they can subscribe for courses and read their . An integration with this website offers some pretty nice features. For example, a student could add his chosen subjects to his study packet just by saving, so that the student does not have to look for these same courses once more. NT-authentication: Since Dienst ICT did not grant permission to kroket, NT authentication is not implemented. Employees and students of Eindhoven University of Technology are all assigned a NT account and this account is used to register with the network of the university. It would be very useful for the website of kroket to get permission for the use of the NT authentication so that students do not have to register on this website with another username and password. NT authentication corresponds to URD3 of the URD [2]. More information can be read in section 3.2. URDs: There are some URDs that were not implemented because of time constraints. These are: UCR22, UCR24, UCR28, UCR32 and UCR35. Implementing these user requirements can be part of a future project to improve kroket. Similar projects: The TU/e has a significant number of students that do programming or web-development in their free time and during their study. These students might participate in future development of kroket or similar projects based on kroket. 53
Software Configuration Management Plan
Bachelor Technische Informatica Kroket Kroket Software Configuration Management Plan Project Manager: Sebastiaan Candel Authors: Peter van Heck (0649886) Peter Koymans (0748876) Kay Lukas (0758084) Astrid
Software Project Management Plan
Bachelor Technische Informatica Kroket Kroket Software Project Management Plan Project Manager: Sebastiaan Candel Authors: Peter van Heck (0649886) Peter Koymans (0748876) Kay Lukas (0758084) Astrid Pieterse
Software Requirements Specification For Real Estate Web Site
Software Requirements Specification For Real Estate Web Site Brent Cross 7 February 2011 Page 1 Table of Contents 1. Introduction...3 1.1. Purpose...3 1.2. Scope...3 1.3. Definitions, Acronyms, and Abbreviations...3
Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence
Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence Brief Course Overview An introduction to Web development Server-side Scripting Web Servers PHP Client-side Scripting HTML & CSS JavaScript &
PROJECT MANAGEMENT SYSTEM
Requirement Analysis Document v.2 14.12.2009 CENG-401 SOFTWARE ENGINEER PROJECT MANAGEMENT SYSTEM (Project Manager) Ahmet Edip SEÇKİN 07010555 (Developer) Erhan ŞEN 07010507 (Developer) Semih Serdar CENGİZOĞLU
Business Application Development Platform
Business Application Development Platform Author Copyright Last update Version Document type Sclable Business Solutions GmbH Attribution-NonCommercial-NoDerivatives 4.0 International 01/28/2014 1.0 Technical
Up and Running with LabVIEW Web Services
Up and Running with LabVIEW Web Services July 7, 2014 Jon McBee Bloomy Controls, Inc. LabVIEW Web Services were introduced in LabVIEW 8.6 and provide a standard way to interact with an application over
International Journal of Engineering Technology, Management and Applied Sciences. www.ijetmas.com November 2014, Volume 2 Issue 6, ISSN 2349-4476
ERP SYSYTEM Nitika Jain 1 Niriksha 2 1 Student, RKGITW 2 Student, RKGITW Uttar Pradesh Tech. University Uttar Pradesh Tech. University Ghaziabad, U.P., India Ghaziabad, U.P., India ABSTRACT Student ERP
Software Quality Assurance Plan
Software Engineering Project (2IP40) Project Group 1 Software Quality Assurance Plan version 0.1.3 (Internally Accepted), 14 June 2006 Project Team: Sven Bego 0550191 Roel Coset 0548132 Robert Leeuwestein
http://alice.teaparty.wonderland.com:23054/dormouse/bio.htm
Client/Server paradigm As we know, the World Wide Web is accessed thru the use of a Web Browser, more technically known as a Web Client. 1 A Web Client makes requests of a Web Server 2, which is software
Software Transfer Document
Software Transfer Document Eindhoven, January 15, 2010 std-1.0.3098 Project Manager: Wilco Belgraver Thissen, 0514143 Quality Assurance Manager: J elle Hellings, 0592127 Senior management: Mark van den
Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf
1 The Web, revisited WEB 2.0 [email protected] Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf 2 The old web: 1994 HTML pages (hyperlinks)
Software Requirement Specification For Flea Market System
Software Requirement Specification For Flea Market System By Ilya Verlinsky, Alexander Sarkisyan, Ambartsum Keshishyan, Igor Gleyser, Andrey Ishuninov 1 INTRODUCTION 1.1 Purpose 1.1.1 Purpose of SRS document
ICE Trade Vault. Public User & Technology Guide June 6, 2014
ICE Trade Vault Public User & Technology Guide June 6, 2014 This material may not be reproduced or redistributed in whole or in part without the express, prior written consent of IntercontinentalExchange,
Software Engineering I CS524 Professor Dr. Liang Sheldon X. Liang
Software Requirement Specification Employee Tracking System Software Engineering I CS524 Professor Dr. Liang Sheldon X. Liang Team Members Seung Yang, Nathan Scheck, Ernie Rosales Page 1 Software Requirements
Modern Web Development From Angle Brackets to Web Sockets
Modern Web Development From Angle Brackets to Web Sockets Pete Snyder Outline (or, what am i going to be going on about ) 1.What is the Web? 2.Why the web matters 3.What s unique about
Web Design Specialist
UKWDA Training: CIW Web Design Series Web Design Specialist Course Description CIW Web Design Specialist is for those who want to develop the skills to specialise in website design and builds upon existing
Seamless Web Data Entry for SAS Applications D.J. Penix, Pinnacle Solutions, Indianapolis, IN
Seamless Web Data Entry for SAS Applications D.J. Penix, Pinnacle Solutions, Indianapolis, IN ABSTRACT For organizations that need to implement a robust data entry solution, options are somewhat limited
Developing ASP.NET MVC 4 Web Applications MOC 20486
Developing ASP.NET MVC 4 Web Applications MOC 20486 Course Outline Module 1: Exploring ASP.NET MVC 4 The goal of this module is to outline to the students the components of the Microsoft Web Technologies
IT3503 Web Development Techniques (Optional)
INTRODUCTION Web Development Techniques (Optional) This is one of the three optional courses designed for Semester 3 of the Bachelor of Information Technology Degree program. This course on web development
Project Plan Log Monitoring Compliance
Project Plan Log Monitoring Compliance The Capstone Experience Team Spectrum Health Kathryn Bonnen Collin Lotus Will Seeger Wayne Stiles Department of Computer Science and Engineering Michigan State University
DreamFactory & Modus Create Case Study
DreamFactory & Modus Create Case Study By Michael Schwartz Modus Create April 1, 2013 Introduction DreamFactory partnered with Modus Create to port and enhance an existing address book application created
A Model of the Operation of The Model-View- Controller Pattern in a Rails-Based Web Server
A of the Operation of The -- Pattern in a Rails-Based Web Server January 10, 2011 v 0.4 Responding to a page request 2 A -- user clicks a link to a pattern page in on a web a web application. server January
Developing ASP.NET MVC 4 Web Applications
Course M20486 5 Day(s) 30:00 Hours Developing ASP.NET MVC 4 Web Applications Introduction In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools
How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip
Load testing with WAPT: Quick Start Guide This document describes step by step how to create a simple typical test for a web application, execute it and interpret the results. A brief insight is provided
Multifunctional Barcode Inventory System for Retailing. Are You Ready for It?
Multifunctional Barcode Inventory System for Retailing. Are You Ready for It? Ling Shi Cai, Leau Yu Beng, Charlie Albert Lasuin, Tan Soo Fun, Chin Pei Yee Abstract This paper explains the development of
Framework as a master tool in modern web development
Framework as a master tool in modern web development PETR DO, VOJTECH ONDRYHAL Communication and Information Systems Department University of Defence Kounicova 65, Brno, 662 10 CZECH REPUBLIC [email protected],
IT3504: Web Development Techniques (Optional)
INTRODUCTION : Web Development Techniques (Optional) This is one of the three optional courses designed for Semester 3 of the Bachelor of Information Technology Degree program. This course on web development
SAML-Based SSO Solution
About SAML SSO Solution, page 1 SAML-Based SSO Features, page 2 Basic Elements of a SAML SSO Solution, page 2 SAML SSO Web Browsers, page 3 Cisco Unified Communications Applications that Support SAML SSO,
Title: Front-end Web Design, Back-end Development, & Graphic Design Levi Gable Web Design Seattle WA
Page name: Home Keywords: Web, design, development, logo, freelance, graphic design, Seattle WA, WordPress, responsive, mobile-friendly, communication, friendly, professional, frontend, back-end, PHP,
Outline. CIW Web Design Specialist. Course Content
CIW Web Design Specialist Description The Web Design Specialist course (formerly titled Design Methodology and Technology) teaches you how to design and publish Web sites. General topics include Web Site
Short notes on webpage programming languages
Short notes on webpage programming languages What is HTML? HTML is a language for describing web pages. HTML stands for Hyper Text Markup Language HTML is a markup language A markup language is a set of
This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.
20486B: Developing ASP.NET MVC 4 Web Applications Course Overview This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications. Course Introduction Course Introduction
Web Architecture I 03.12.2014. u www.tugraz.at
1 Web Architecture I Web Architecture I u www.tugraz.at 2 Outline Development of the Web Quality Requirements HTTP Protocol Web Architecture A Changing Web Web Applications and State Management Web n-tier
An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0
An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Rational Application Developer, Version 8.0, contains
TravelMatch User Requirements Document Version 1.2.1
Version 1.2.1 D.J. van den Brand (0772180) S. He (0810831) J.M.A.P. van Hoof (0778486) G.C. Linders (0815449) M.J.M. Muijsers (0805654) G.H. Santegoeds (0890429) L.D. Stooker (0819041) J.W.J.H. Visser
SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1
SUBJECT TITLE : WEB TECHNOLOGY SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1 16 02 2. CSS & JAVASCRIPT Test
J j enterpririse. Oracle Application Express 3. Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX
Oracle Application Express 3 The Essentials and More Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX Arie Geller Matthew Lyon J j enterpririse PUBLISHING BIRMINGHAM
Programming Fundamentals of Web Applications Course 10958A; 5 Days
Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc Programming Fundamentals of Web Applications Course 10958A; 5 Days Course
CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ
CTIS 256 Web Technologies II Week # 1 Serkan GENÇ Introduction Aim: to be able to develop web-based applications using PHP (programming language) and mysql(dbms). Internet is a huge network structure connecting
The Web as a Client-Server System; TCP/IP intro!
The Web as a Client-Server System; TCP/IP intro! Engineering Software as a Service 2.1 2.2" Armando Fox! 2013 Armando Fox & David Patterson, all rights reserved 1! 2! Web at 100,000 feet! The web is a
Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph. Client: Brian Krzys
Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph Client: Brian Krzys June 17, 2014 Introduction Newmont Mining is a resource extraction company with a research and development
HTML5. Turn this page to see Quick Guide of CTTC
Programming SharePoint 2013 Development Courses ASP.NET SQL TECHNOLGY TRAINING GUIDE Visual Studio PHP Programming Android App Programming HTML5 Jquery Your Training Partner in Cutting Edge Technologies
Oct 15, 2004 www.dcs.bbk.ac.uk/~gmagoulas/teaching.html 3. Internet : the vast collection of interconnected networks that all use the TCP/IP protocols
E-Commerce Infrastructure II: the World Wide Web The Internet and the World Wide Web are two separate but related things Oct 15, 2004 www.dcs.bbk.ac.uk/~gmagoulas/teaching.html 1 Outline The Internet and
Software Requirements Specification
CSL740 Software Engineering Course, IIT Delhi Software Requirements Specification Submitted By Abhishek Srivastava (2011EEY7511) Anil Kumar (2009CS10180) Jagjeet Singh Dhaliwal (2008CS50212) Ierum Shanaya
Portals and Hosted Files
12 Portals and Hosted Files This chapter introduces Progress Rollbase Portals, portal pages, portal visitors setup and management, portal access control and login/authentication and recommended guidelines
Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led
Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led Course Description In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5
Christopher Zavatchen
Christopher Zavatchen [email protected] 330-558-1137 273 Bettie Lane Brunswick, Ohio 44212 Objective Seeking a career opportunity enabling me to fully utilize my web design and development skills while
How To Write A Web Server In Javascript
LIBERATED: A fully in-browser client and server web application debug and test environment Derrell Lipman University of Massachusetts Lowell Overview of the Client/Server Environment Server Machine Client
Advanced Web Development SCOPE OF WEB DEVELOPMENT INDUSTRY
Advanced Web Development Duration: 6 Months SCOPE OF WEB DEVELOPMENT INDUSTRY Web development jobs have taken thе hot seat when it comes to career opportunities and positions as a Web developer, as every
Checklist of Best Practices in Website
Checklist of Best Practices in Website An educational guide for anyone responsible for website performance and search engine optimization. Specialists in Direct & Digital Marketing Checklist of Best Practices
Web Design and Development ACS-1809
Web Design and Development ACS-1809 Chapter 1 9/9/2015 1 Pre-class Housekeeping Course Outline Text book : HTML A beginner s guide, Wendy Willard, 5 th edition Work on HTML files On Windows PCs Tons of
Front-End Performance Testing and Optimization
Front-End Performance Testing and Optimization Abstract Today, web user turnaround starts from more than 3 seconds of response time. This demands performance optimization on all application levels. Client
Manual. Netumo NETUMO HELP MANUAL WWW.NETUMO.COM. Copyright Netumo 2014 All Rights Reserved
Manual Netumo NETUMO HELP MANUAL WWW.NETUMO.COM Copyright Netumo 2014 All Rights Reserved Table of Contents 1 Introduction... 0 2 Creating an Account... 0 2.1 Additional services Login... 1 3 Adding a
XML Processing and Web Services. Chapter 17
XML Processing and Web Services Chapter 17 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of http://www.funwebdev.com Web Development Objectives 1 XML Overview 2 XML Processing
A Tool for Evaluation and Optimization of Web Application Performance
A Tool for Evaluation and Optimization of Web Application Performance Tomáš Černý 1 [email protected] Michael J. Donahoo 2 [email protected] Abstract: One of the main goals of web application
INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency
INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency 1. 420-PA3-AB Introduction to Computers, the Internet, and the Web This course is an introduction to the computer,
Syllabus INFO-GB-3322. Design and Development of Web and Mobile Applications (Especially for Start Ups)
Syllabus INFO-GB-3322 Design and Development of Web and Mobile Applications (Especially for Start Ups) Spring 2015 Stern School of Business Norman White, KMEC 8-88 Email: [email protected] Phone: 212-998
Smartphone Application Development using HTML5-based Cross- Platform Framework
Smartphone Application Development using HTML5-based Cross- Platform Framework Si-Ho Cha 1 and Yeomun Yun 2,* 1 Dept. of Multimedia Science, Chungwoon University 113, Sukgol-ro, Nam-gu, Incheon, South
Client-side Development using HTML, Javascript and CSS
Lab 1 Client-side Development using HTML, Javascript and CSS Authors: Sahand Sdjadee Alexander Kazen Gustav Bylund Per Jonsson Tobias Jansson Spring 2015 TDDD97 Web Programming http://www.ida.liu.se/~tddd97/
Software Requirements Specification
Software Requirements Specification Version 1.1 March 7, 2013 Prepared by Group Name: The Constructors Alex Hamstra 4506291 [email protected] Jared Roesch 4826574 [email protected] Kyle Jorgensen
601/8498/X IAO Level 3 Certificate in Web Design and Development (RQF)
601/8498/X IAO Level 3 Certificate in Web Design and Development (RQF) A summary of the qualification s content This is a regulated qualification designed to equip you with the knowledge and skills that
Criteria for web application security check. Version 2015.1
Criteria for web application security check Version 2015.1 i Content Introduction... iii ISC- P- 001 ISC- P- 001.1 ISC- P- 001.2 ISC- P- 001.3 ISC- P- 001.4 ISC- P- 001.5 ISC- P- 001.6 ISC- P- 001.7 ISC-
COURSE SYLLABUS EDG 6931: Designing Integrated Media Environments 2 Educational Technology Program University of Florida
COURSE SYLLABUS EDG 6931: Designing Integrated Media Environments 2 Educational Technology Program University of Florida CREDIT HOURS 3 credits hours PREREQUISITE Completion of EME 6208 with a passing
Server-Side Scripting and Web Development. By Susan L. Miertschin
Server-Side Scripting and Web Development By Susan L. Miertschin The OOP Development Approach OOP = Object Oriented Programming Large production projects are created by teams Each team works on a part
4.2 Understand Microsoft ASP.NET Web Application Development
L E S S O N 4 4.1 Understand Web Page Development 4.2 Understand Microsoft ASP.NET Web Application Development 4.3 Understand Web Hosting 4.4 Understand Web Services MTA Software Fundamentals 4 Test L
Web Hosting Features. Small Office Premium. Small Office. Basic Premium. Enterprise. Basic. General
General Basic Basic Small Office Small Office Enterprise Enterprise RAID Web Storage 200 MB 1.5 MB 3 GB 6 GB 12 GB 42 GB Web Transfer Limit 36 GB 192 GB 288 GB 480 GB 960 GB 1200 GB Mail boxes 0 23 30
WHITE PAPER. Domo Advanced Architecture
WHITE PAPER Domo Advanced Architecture Overview There are several questions that any architect or technology advisor may ask about a new system during the evaluation process: How will it fit into our organization
Course Information Course Number: IWT 1229 Course Name: Web Development and Design Foundation
Course Information Course Number: IWT 1229 Course Name: Web Development and Design Foundation Credit-By-Assessment (CBA) Competency List Written Assessment Competency List Introduction to the Internet
Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT
Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT AGENDA 1. Introduction to Web Applications and ASP.net 1.1 History of Web Development 1.2 Basic ASP.net processing (ASP
Cyber Security Workshop Ethical Web Hacking
Cyber Security Workshop Ethical Web Hacking May 2015 Setting up WebGoat and Burp Suite Hacking Challenges in WebGoat Concepts in Web Technologies and Ethical Hacking 1 P a g e Downloading WebGoat and Burp
SiteCelerate white paper
SiteCelerate white paper Arahe Solutions SITECELERATE OVERVIEW As enterprises increases their investment in Web applications, Portal and websites and as usage of these applications increase, performance
How is it helping? PragmatiQa XOData : Overview with an Example. P a g e 1 12. Doc Version : 1.3
XOData is a light-weight, practical, easily accessible and generic OData API visualizer / data explorer that is useful to developers as well as business users, business-process-experts, Architects etc.
Lesson Overview. Getting Started. The Internet WWW
Lesson Overview Getting Started Learning Web Design: Chapter 1 and Chapter 2 What is the Internet? History of the Internet Anatomy of a Web Page What is the Web Made Of? Careers in Web Development Web-Related
General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support
General principles and architecture of Adlib and Adlib API Petra Otten Manager Customer Support Adlib Database management program, mainly for libraries, museums and archives 1600 customers in app. 30 countries
FACULTY STUDENT MENTORSHIP PROGRAM. A Thesis. Presented to the. Faculty of. San Diego State University. In Partial Fulfillment
FACULTY STUDENT MENTORSHIP PROGRAM A Thesis Presented to the Faculty of San Diego State University In Partial Fulfillment of the Requirements for the Degree Master of Science in Computer Science by Pooja
<Company Name> ugather Event Management System Software Requirements Specification. Version 1.0
ugather Event Management System Version 1.0 Revision History Date Version Description Author 18/Feb/09 1.0 Initial creation of SRS document Confidential Page 2 Table of Contents 1. Introduction
esoc SSA DC-I Part 1 - Single Sign-On and Access Management ICD
esoc European Space Operations Centre Robert-Bosch-Strasse 5 64293 Darmstadt Germany Tel: (49)615190-0 Fax: (49)615190485 www.esa.int SSA DC-I Part 1 - Single Sign-On and Access Management ICD Prepared
Table of Contents. Open-Xchange Authentication & Session Handling. 1.Introduction...3
Open-Xchange Authentication & Session Handling Table of Contents 1.Introduction...3 2.System overview/implementation...4 2.1.Overview... 4 2.1.1.Access to IMAP back end services...4 2.1.2.Basic Implementation
Developer Tutorial Version 1. 0 February 2015
Developer Tutorial Version 1. 0 Contents Introduction... 3 What is the Mapzania SDK?... 3 Features of Mapzania SDK... 4 Mapzania Applications... 5 Architecture... 6 Front-end application components...
TERMS OF REFERENCE. Revamping of GSS Website. GSS Information Technology Directorate Application and Database Section
TERMS OF REFERENCE Revamping of GSS Website GSS Information Technology Directorate Application and Database Section Tel: Accra 0302 682656 Cables: GHANASTATS In case of reply the number and date of this
User Requirements Document
Software Engineering Project (2IP40) Project Group 1 User Requirements Document version 1.0.0 (Approved), 16th June 2006 Project Team: Sven Bego 0550191 Roel Coset 0548132 Robert Leeuwestein 0546746 Maarten
Software Design Specification
GROUP 7 SEVEN SOFTWARE PROJECT: ONLINE SCHEDULING SYSTEM COMPANY: VIA MAGNA GOTHENBURG SWEDEN GROUP MEMBERS: IBRAHIM KRVAVAC ALI BAHALOO HORE SEYED SAMAD GHASEMI KUHAN LOH DANIEL ASOVIC Software Design
HP Business Service Management
HP Business Service Management Software Version: 9.25 BPM Monitoring Solutions - Best Practices Document Release Date: January 2015 Software Release Date: January 2015 Legal Notices Warranty The only warranties
HP Business Process Monitor
HP Business Process Monitor For the Windows operating system Software Version: 9.23 BPM Monitoring Solutions Best Practices Document Release Date: December 2013 Software Release Date: December 2013 Legal
BillQuick Web i Time and Expense User Guide
BillQuick Web i Time and Expense User Guide BQE Software Inc. 1852 Lomita Boulevard Lomita, California 90717 USA http://www.bqe.com Table of Contents INTRODUCTION TO BILLQUICK... 3 INTRODUCTION TO BILLQUICK
LabVIEW Internet Toolkit User Guide
LabVIEW Internet Toolkit User Guide Version 6.0 Contents The LabVIEW Internet Toolkit provides you with the ability to incorporate Internet capabilities into VIs. You can use LabVIEW to work with XML documents,
10CS73:Web Programming
10CS73:Web Programming Question Bank Fundamentals of Web: 1.What is WWW? 2. What are domain names? Explain domain name conversion with diagram 3.What are the difference between web browser and web server
Web Programming. Robert M. Dondero, Ph.D. Princeton University
Web Programming Robert M. Dondero, Ph.D. Princeton University 1 Objectives You will learn: The fundamentals of web programming... The hypertext markup language (HTML) Uniform resource locators (URLs) The
CUNY TUMBLEWEED (SECURE TRANSPORT) USER GUIDE
CUNY TUMBLEWEED (SECURE TRANSPORT) USER GUIDE INTRODUCTION Tumbleweed (Secure Transport) is used to provide secure file transfer of critical business files, financial transactions and sensitive data such
What is a Web Browser? Web Site Functionality. A client program that uses HTTP to communicate with web servers.
What is a Web Browser? Web Site Functionality April 1, 2004 A client program that uses HTTP to communicate with web servers. HTML interpreter Reads HTML, determines how to display it A Simple HTML file
branddocs Technology edocument Solutions V.1.0.2013 V.11.0.2013
branddocs Technology V.1.0.2013 V.11.0.2013 edocument Solutions Contents 1.- Branddocs' Development Technology 03 2.- Development Technology Features 04 3.- Technical Architecture 05 4.- Description of
Visualizing a Neo4j Graph Database with KeyLines
Visualizing a Neo4j Graph Database with KeyLines Introduction 2! What is a graph database? 2! What is Neo4j? 2! Why visualize Neo4j? 3! Visualization Architecture 4! Benefits of the KeyLines/Neo4j architecture
Syllabus INFO-UB-3322. Design and Development of Web and Mobile Applications (Especially for Start Ups)
Syllabus INFO-UB-3322 Design and Development of Web and Mobile Applications (Especially for Start Ups) Fall 2014 Stern School of Business Norman White, KMEC 8-88 Email: [email protected] Phone: 212-998
INSTALLATION AND CONFIGURATION MANUAL EMAILENCODER
INSTALLATION AND CONFIGURATION MANUAL EMAILENCODER P R O F E S S I O N A L S O F T W A R E E N G I N E E R I N G Meridium AB 1 (19) 1(19) CONTENTS 1 INTRODUCTION... 4 1.1 How does it work?... 4 1.2 Browser
Software Engineering Project (2IP40) Project Group 1. Unit Test Plan. version 0.1.0 (Internally Accepted), 26 May 2006
Software Engineering Project (2IP40) Project Group 1 Unit Test Plan version 0.1.0 (Internally Accepted), 26 May 2006 Project Team: Sven Bego 0550191 Roel Coset 0548132 Robert Leeuwestein 0546746 Maarten
Elgg 1.8 Social Networking
Elgg 1.8 Social Networking Create, customize, and deploy your very networking site with Elgg own social Cash Costello PACKT PUBLISHING open source* community experience distilled - BIRMINGHAM MUMBAI Preface
Integration Test Plan
Software Engineering Project (2IP40) Project Group 1 Integration Test Plan version 0.1.0 (internally accepted), 29 May 2006 Project Team: Sven Bego 0550191 Roel Coset 0548132 Robert Leeuwestein 0546746
MBARI Deep Sea Guide: Designing a web interface that represents information about the Monterey Bay deep-sea world.
MBARI Deep Sea Guide: Designing a web interface that represents information about the Monterey Bay deep-sea world. Pierre Venuat, University of Poitiers Mentors: Brian Schlining and Nancy Jacobsen Stout
