Sunday, October 27, 2019

African Insurgency Groups: Causes and Responses

African Insurgency Groups: Causes and Responses Daniel Silberstein In response to a spate of violent attacks from the Kenyan capital to the coast President Uhuru Kenyatta has decreed that they â€Å"will not flinch in war against terrorists†, specifically against the Al-Shabaab militant group headquartered in Somalia. His publicly declared position of a robust, aggressive, and continued response against what he refers to as an, â€Å"extremist caliphate† intent on asserting dominance in the region, is certain to be met with both solidarity and criticism amongst Kenyans, Africans, and the global community. Nigeria, home to Africa’s largest economy (according to an April BBC report) also finds itself on the brink of a larger conflict. Flanked by militant insurgency, attributed mostly to the Boko Haram, in the north and the new capital of piracy on its southern shores. The reverberations of these conflicts are uncertain. But, in order to foresee, and perhaps assuage, the consequences of this campaign, and to limit the devastation w e are likely to witness, it is paramount that international interventions adapt and correlations be drawn between this rising contention and contemporary conflicts that define modern warfare. Firstly, this should not be perceived as merely a symptom of the popularized narrative of another African affliction. This is to say that, historically, aggressions were relatively limited in regional scope. This does not downplay the reprehensible past conflicts in Africa: the horrors of genocide – such as Rwanda, Darfur, etc. and entrenched prolonged warfare – such as Mali, Democratic Republic of Congo, etc. This is simply, and necessarily, to illustrate that the ramifications of warfare in Africa is quickly becoming a global hazard. The overwhelming contribution to this crises so far? Money, and quite literally tons of it. A 2009 WSJ article by Dambisa Moyo estimated over $1 trillion in fact. So, while the hopes of assisting in curtailing violence and degradation in the region have existed for decades, through foreign aid and, military and political partnerships, it is apparent that the structures in place for facilitation and management have failed to meet expectations. The current system of aid in Africa has become almost farcical. Broad strokes of assistance have missed the mark at best and have been actively harmful at worst. Much of the governmental fixtures that have grown from the influx of poorly distributed aid have actually stifled the genuine progress of their respective constituencies. Political institutions have propagated mostly as middle-men, profiteering from the flow of aid. In 2013, Transparency International placed all but five Sub-Saharan nations on the bottom half of its corruption rankings list. A new course of action is imperative to foster safety and augment economic growth. A discourse about the patronage of wealthy nations in intelligent intervention and investment is becoming more and more vital. That being said, undeterred by turmoil Africa is on the verge of a new day. Racked between geo-political vestiges of imperialism and vulnerable as potential prey to an aloof globalized economy, the region has desperately been seeking for a foothold of stability since the end of WW2. Despite a gridlock of corruption, sectarian violence, and humanitarian disasters, this century is poised to see African nations propelled into an elevated global status, both politically and economically. Countries like Botswana, Angola, and many others are experiencing an enormous growth in their middle-class sectors, which according to â€Å"The Economist† is projected to equal India’s middle-class sometime in 2015. While not the equivalent of the Western standard for middle-class this, consumer base will exponentially increase the marketability and influence of Africa’s economic bids. The consequences of increased economic pertinence is apparent throughout. A budding group of billi onaires speckle the continent, twenty-nine in fact according to Forbes in March. This is up from twenty only one year earlier. Granted, many are South African or hail from Northern Africa, countries not normally framed with Sub-Saharan Africa, but the proximity itself imparts salience. While functional and profitable large businesses develop, along with a stable middle-class, many African nations’ governments are beginning to politically mature. Even pockets of success from more circumspect aid programs exist, especially with micro-grants and loans to ground-level African entrepreneurs, demining initiatives, and the proliferation of educational opportunities. Considering Africa’s historical failures, and a perhaps tenuous grip upon a wave of rapid development, what are the right answers to best facilitate peace and stability? The necessity of foreign aid and intervention still exists. Reevaluating the distribution and access of aid, and developing prudent intervention strategies to comply with measurable outcomes is the only hope for these nations to surmount the magnitude of adversity that haunts the continent. Invariably, it seems to me, certain criteria must be met before a nation can hope to flourish: security and stability, transparency and accountability, and the development of business and infrastructure. While these guidelines are by no means exclusive of one another, nor strictly chronological in implementation. However, some semblance of this order is necessary, especially considering the familiar detachment of government policies to the populations they manage. The regression of the security situation, particularly Nigeria and Kenya the rising stars of self-reliance, threatens to derail these upwardly mobile countries by the very real potential of a conflict whose scope can easily exceed any in African history. The most significant distinction of this rising conflict are the links to a well-funded and ambitious international terrorist culture. Though intelligence is inherently faulty when evaluating extremist groups, links between African insurgency groups and organizations like A l Qaeda and (if not already, certainly soon) ISIS are all but assured. In light of emerging conflicts with borderless extremist organizations, and new found wealth, African defense budgets have soared 65% since 2004, according to The Economist, greater than any other region in that time frame. Almost without fail, since the onset of the Cold War era, ballooning defense budgets are often indicative of impending crises, not only in terms of violence but in the cessation of civil liberties and international instability. To ameliorate this the sale of materiel must follow a strict and discriminatory guideline. This is why the international community must be cohesive and cognizant, even apprehensive, as Kenya and Nigeria embark on their very own â€Å"War on Terror†. Unfortunately, the profit margin for manufacturing in the lucrative arms market is quickly establishing a place in Africa. The same Economist article divulged that â€Å"four major European arms manufacturers have set up African subsidiaries this year†. These will no doubt become e conomic boons but they carry with them the latency of war. One of McNamara’s lessons becomes relevant, â€Å"Proportionality should be a guideline in war†, indeed both in the manner in which it is waged and in the prevention of needless aggression. Problems arise with inflated military spending, the accessibility of war and the justification of expenditures compels nations to treat every problem like a nail with the hammers of automatic rifles. This is the often overlooked criticism of drone warfare. They are often more precise, accurate, and less apt to error than manned machines. A drone pilot in Nevada, overseen by hordes of high-ranking officials and lawyers, is less vulnerable to primal survival instincts and rash decisions. However, accessibility draws us into conflict. When the fear of casualty counts are not smeared on news broadcasts, a sense of invulnerability obfuscates wisdom. In the face of a ravenous enemy it is understandable, though undesirable, that one seeks safety behind the acquisition of arms and muzzle fla shes. Some strides have been made in anticipation of incautious military action. The U.N.’s Forward Intervention Brigade and African Union Peacekeepers have had success in presenting a unified front; the term coalition should be avoided these days to avoid negative connotations. These organizations also lend some transparency to unilateral operations and a more honest assessment of the aftermath of military operations. Obviously these methods of waging war are by no means faultless, it is a step in the right direction. Mutual policing will be fundamental in preventing atrocity. Andrew Muzonzini, the lead for Zimbabwe’s external intelligence agency offers a precocious insight in a Business Insider Article that is in line with the appropriate approach, â€Å"Ahead of time, we should seek to understand (the Islamic State) modus operandi if we are to anticipate and predict challenges ahead†. This conclusion, hopefully shared amongst the milieu of African politics, will (hopefully) be indicative of a circumspect and deliberate course of action to repel extremist behavior. A strong internal defense approach combined with precisely defined and rigidly tailored tactical excursions, targeting only locally substantiated objectives, should be the tenets of this nascent conflict. The global community needs to facilitate such equitable actions. More valuable than financial support, more accurate than high-tech weaponry, we must impart the lessons of an ineffective and prolonged conflict. The manner in which we defend ourselves should not be so broad as to alienate us from the world at large. Africa’s Muslim population’s safety must be assured. Sovereign nations must not be disaffected. And perhaps in the end Africa may edify the global community on how to maintain morality when confronting monsters. What is Online Examination System? What is Online Examination System? Online examinations, sometimes referred as e-examinations, are the examinations conducted through the internet or in an intranet (if within the Organization) for a remote candidate(s). Most of the examinations issue results as the candidate finish the examination, when there is an answer processing module also included with the system. They can be used to efficiently evaluate the candidate thoroughly through a fully automated system that not only saves lot of time but also gives fast results. For students they give papers according to their convenience and time and there is no need of using extra thing like paper, pen etc. These examinations are conducted as open-book type examinations. Candidate is given a limited time to answer the questions and after the time expiry the answer paper is disabled automatically and answers is sent to the examiner. The examiner will evaluate answers, either through automated process or manually and the results will be sent to the candidate through email or made available in the web site. Today many organizations are conducting online examinations worldwide successfully and issue results online. There are advantages and disadvantages in online examinations. The main advantage is that it can be conducted for remote candidates and evaluation of answers can be fully automated for Multiple Choice questions and other essay type questions can be evaluated manually or through automated system, depending on the nature of the questions and the requirements. Also online examinations can be conducted at any time and does not incur higher cost as traditional exam scenario as there is no paper work involved(eg: printing exam papers, prepare paper admissions etc) , there is no invigilators, also no need of arrangement of exam centers. When comparing with traditional exam scenario the cost for an online examination will be almost zero after the online exam system is establishment and if maintenance cost is not considered. The disadvantage of the e-examination is the inability of invigilating. There are methodologies used in these examinations, when registering candidates and presentation of questions, so that to test candidates knowledge and skills. However with a limited time, candidate is not capable of totally depend on the reference materials or a supporting person. AIM OF THE PROJECT The aim of this project is to develop an online examination system by applying software engineering principles and best practices. The system will be built using popular Java/J2EE web technologies and framework available for web development. The system will be designed to be scalable, secure and robust. The online examination system will help in speeding up the process of conducting examination. Teachers will be able to create examinations by composing a set of questions. The questions can be multiple choice questions or single (text) answer question. The system will have the ability to automatically process the results of examination based on the question database. The system will have intelligent capabilities to mark the text based answers not only when there is an exact match, but it will also recognize similar answers by finding the synonyms of the words used in the answer. The system will also provide manual override feature where in the teacher can manually mark or update the result for an exam. The system will also have the capability to resume the examination from last save point, i.e., a student can stop the examination in the middle and can start again at any other time. When the student will start the same examination again, the exam will start from the same point where i t was stopped. The system will present a easy to use interface for Teachers, Students and Administrators. Once logged in, students will be able to see the examinations due and can take the examination. CHAPTER 2 BACKGROUND RESEARCH AND ANALYSIS EVALUATION OF EXAMINATION SYSTEM Paper -Based Examination: Paper -based examination are carrried out on fixed days and according to a fixed schedule. Therefore, the absentees rarely have another chance to take up the exam again. Moreover, they involve a lot of paper work (e.g. printing of exam papers, arranging answer sheets, etc ). The evaluation of these exam is also very tedious job,after the students complete their exams, theteacher has to mark each paper manually and then consolidate the result. This process is very cumbersome and takes a lot of time and hard work. Web- Based Examination: With the emergence of online examinations, the World Wide Web opens up the possibility of giving the exams online. The online examination system helps in speeding up the process of conducting examination. Teachers will be able to create examinations by composing a set of questions. The system will have intelligent capabilities to mark the text based answers not only when there is an exact match, but it will also recognize similar answers by finding the synonyms of the words used in the answer. The system will also provide manual override feature where in the teacher can manually mark or update the result for an exam. The system will also have the capability to resume the examination from last save point, i.e., a student can stop the examination in the middle and can start again at any other time. When the student will start the same examination again, the exam will start from the same point where it was stopped. The system will present a easy to use interface for Teachers, Students and Administrators. Once logged in, students will be able to see the examinations due and can take the examination. TECHNOLOGIES RESEARCH Web applications are either service oriented or presentation oriented. A presentation oriented web application involves generally mark up languages (e.g. XML and HTML) with dynamic contents responding to requests. On the other hand, a service oriented web applications implements the endpoint of the web service. Below is an analysis on Postgres, Hibernate, Spring and Wicket used to implement my project. POSTGRES PostgreSQL is an object-relational database management system (ORDBMS) based on POSTGRES,Version 4.2 (http://s2k-ftp.CS.Berkeley.EDU:8000/postgres/postgres.html), developed at the University of California at Berkeley Computer Science Department. The POSTGRES project, led by Professor Michael Stonebraker, was sponsored by the Defense Advanced Research Projects Agency (DARPA),the Army Research Office (ARO), the National Science Foundation (NSF), and ESL, Inc. PostgreSQL is an open-source descendant of this original Berkeley code. It provides SQL92/SQL99language support and other modern features. POSTGRES pioneered many of the object-relational concepts now becoming available in some commercial databases. Traditional relational database management systems (RDBMS) support a data model consisting of a collection of named relations, containing attributes of a specific type. In current commercial systems, possible types include floating point numbers, integers, character strings, money,and dates. It is commonly recognized that this model is inadequate for future data processing applications. The relational model successfully replaced previous models in part because of its simplicity. However, as mentioned, this simplicity often makes the implementation of certainapplications very difficult. Postgres offers substantial additional power by incorporating the following additional concepts in such a way that users can easily extend the system: inheritance data types functions Other features provide additional power and flexibility: constraints triggers rules transaction integrity These features put Postgres into the category of databases referred to as object-relational. SPRING Spring Features Spring is a layered Java/J2EE application platform, based on code published in  Expert One-on-One J2EE Design and Development  by Rod Johnson (Wrox, 2002). Spring includes: The most complete lightweight container, providing centralized, automated configuration and wiring of your application objects. The container is  non-invasive, capable of assembling a complex system from a set of loosely-coupled components (POJOs) in a consistent and transparent fashion. The container brings agility and leverage, and improves application testability and scalability by allowing software components to be first developed and tested in isolation, then scaled up for deployment in any environment (J2SE or J2EE).    A common abstraction layer for transaction management, allowing for pluggable transaction managers, and making it easy to demarcate transactions without dealing with low-level issues. Generic strategies for JTA and a single JDBC DataSource are included. In contrast to plain JTA or EJB CMT, Springs transaction support is not tied to J2EE environments.    A JDBC abstraction layer  that offers a meaningful exception hierarchy (no more pulling vendor codes out of SQLException), simplifies error handling, and greatly reduces the amount of code youll need to write. Youll never need to write another finally block to use JDBC again. The JDBC-oriented exceptions comply to Springs generic DAO exception hierarchy.    Integration with Toplink, Hibernate, JDO, and iBATIS SQL Maps: in terms of resource holders, DAO implementation support, and transaction strategies. First-class Hibernate support with lots of IoC convenience features, addressing many typical Hibernate integration issues. All of these comply to Springs generic transaction and DAO exception hierarchies.    AOP functionality, fully integrated into Spring configuration management. You can AOP-enable any object managed by Spring, adding aspects such as declarative transaction management. With Spring, you can have declarative transaction management without EJB even without JTA, if youre using a single database in Tomcat or another web container without JTA support.    A flexible MVC web application framework, built on core Spring functionality. This framework is highly configurable via strategy interfaces, and accommodates multiple view technologies like JSP, Velocity, Tiles, iText, and POI. Note that a Spring middle tier can easily be combined with a web tier based on any other web MVC framework, like Struts, WebWork, or Tapestry. HIBERNATE Hibernate is popular open source object relational mapping tool for Java platform. It provides powerful, ultra-high performance object/relational persistence and query service for Java. Hibernate lets you develop persistent classes following common Java idiom including association, inheritance, polymorphism, composition and the Java collections framework. The Hibernate Query Language, designed as a minimal object-oriented extension to SQL, provides an elegant bridge between the object and relational worlds. Hibernate also allows you to express queries using native SQL or Java-based Criteria and Example queries. Hibernate is now the most popular object/relational mapping solution for Java. Hibernate maps the Java classes to the database tables. It also provides the data query and retrieval facilities that significantly reduces the development time. Hibernate is not the best solutions for data centric applications that only uses the stored-procedures to implement the business logic in database. It is most useful with object-oriented domain modes and business logic in the Java-based middle-tier. Hibernate allows transparent persistence that enables the applications to switch any database. Hibernate can be used in Java Swing applications, Java Servlet-based applications, or J2EE applications using EJB session beans. Features of Hibernate Hibernate 3.0 provides three full-featured query facilities: Hibernate Query Language, the newly enhanced Hibernate Criteria Query API, and enhanced support for queries expressed in the native SQL dialect of the database. Filters for working with temporal (historical), regional or permissioned data. Enhanced Criteria query API: with full support for projection/aggregation and subselects. Runtime performance monitoring: via JMX or local Java API, including a second-level cache browser. Eclipse support, including a suite of Eclipse plug-ins for working with Hibernate 3.0, including mapping editor, interactive query prototyping, schema reverse engineering tool. Hibernate is Free under LGPL: Hibernate can be used to develop/package and distribute the applications for free. Hibernate is Scalable: Hibernate is very performant and due to its dual-layer architecture can be used in the clustered environments. Less Development Time: Hibernate reduces the development timings as it supports inheritance, polymorphism, composition and the Java Collection framework. Automatic Key Generation: Hibernate supports the automatic generation of primary key for your. JDK 1.5 Enhancements: The new JDK has been released as a preview earlier this year and we expect a slow migration to the new 1.5 platform throughout 2004. While Hibernate3 still runs perfectly with JDK 1.2, Hibernate3 will make use of some new JDK features. JSR 175 annotations, for example, are a perfect fit for Hibernate metadata and we will embrace them aggressively. We will also support Java generics, which basically boils down to allowing type safe collections. EJB3-style persistence operations: EJB3 defines the create() and merge() operations, which are slightly different to Hibernates saveOrUpdate() and saveOrUpdateCopy() operations. Hibernate3 will support all four operations as methods of the Session interface. Hibernate XML binding enables data to be represented as XML and POJOs interchangeably. The EJB3 draft specification support for POJO persistence and annotations. WICKET Features Swing-like OO Component Model : Pages and Components in Wicket are real Java objects that support encapsulation, inheritance and events. Ease of Development : Because Wicket is Java and HTML, you can leverage what you know about Java or your favorite HTML editor to write Wicket applications. Separation of Concerns : Wicket does not mix markup with Java code and adds no special syntax to your markup files. The worlds of HTML and Java are parallel and associated only by Wicket ids, which are attributes in HTML and Component properties in Java. Since Wicket HTML is just HTML and Wicket Java is just Java, coders and designers can work independently to a large degree and without relying on any special tools. Secure : Wicket is secure by default. URLs do not expose sensitive information and all component paths are session-relative. Explicit steps must be taken to share information between sessions. There are plans for the next version of Wicket to add URL encryption to support highly secure web sites. Transparent, Scalable Clustering Support : All Wicket applications will work on a cluster automatically and without additional work. Once bottlenecks are understood, Wicket enables tuning of page state replication. The next version of Wicket will support client-side models for zero-state scalability. Transparent Back Button Support : Wicket supports configurable page version management. When users submit a form or follow a link from a page they accessed with the back button in their browser, Wicket is able to revert the page object to the state it was in when the page was originally rendered. This means you can write web applications that support the back button with very little work. Multi-tab and multi-window support : Wicket provides an easy way to write application that supports multi-window and multi-tab usage allowing developer to react properly when users open new browser window or tab Reusable Components : Reusable components in Wicket are particularly easy to create. Not only can you extend existing components with the Java extends keyword, but you can also create Panel components which associate a group of components as a reusable unit. Simple, Flexible, Localizable Form Validation : It is trivial to write and use validators in Wicket. It is also quite easy to customize and localize the display and content of validation error messages. Typesafe Sessions : Wicket eliminates the need to manage HttpSession attributes by hand. Page and component objects are transparently stored in the session and your application can create a custom session subclass with typesafe properties as well. All objects stored in the session can automatically participate in clustering replication. Factory Customizable : Wicket is very extensible. Most operations are customizable through factories or factory methods. Detachable Models : Model objects in Wicket can be very lightweight in terms of memory and network use in a cluster. When a model is used, it can attach, populating itself with information from persistent storage. When the model is no longer in use, transient information can be reset, reducing the size of the object. Border Components : Wicket Border components enable the decoration of pages in a reusable fashion. This is especially useful for inheritance of common navigational structures or layout. Support for All Basic HTML Features : Wicket supports image tags, links, forms and everything else that youre used to using in your web application development. Programmatic Manipulation of Attributes : Wicket Components can programmatically change any HTML tag attribute. Automatic Conversions : Once a Form validates, the model can be updated using Wicket converters. Most ordinary conversions are built-in and it is easy to write new converters. Dynamic Images : Wicket makes image use, sharing and generation very easy. Dynamic images can be created by simply implementing a paint method. Pageable ListView : ListViews in Wicket are extremely powerful. You can nest any kind of component in a ListView row, even other ListViews. PageableListView supports navigation links for large lists. Tree Component : Out of the box tree component for navigating and selecting nodes. Localization : HTML pages, images and resource strings can all be localized. CHAPTER-3 REQUIREMENTS AND SPECIFICATIONS The requirement analysis stage consists in collecting and analyzing information about the part of the organization that is supported by the application. This information helps us to identify the users requirements for the new system. This will enable us to define the various functionalities of the new system. The identification of the requirements is important as a system with incomplete functionality can lead to a project failure. 3.1 DATA GATHERING USER IDENTIFICATION Users of the system can be categorized as : Student Teacher Admin(Administrator) FUNCTIONAL REQUIREMENTS The system aims to be an improvement on the existing one, the paper based system by : Fully automated system. Less time and effort consuming. Database should be well maintained with well structured database tables. The system should be scalable. Allow student and teachers to view the available exams. Allow student and teacher to view marks. Allow admin to manage the user system and exam system NON FUNCTIONAL REQUIREMENTS Security : Each user is required to log into the system. This is done using a valid username and password. Login and password should be kept secret. Reliability : The system would be used by more than 200 students in the Computer Science Department, which includes academic and administrative staff. The system should ensure minimum downtime and be able to handle multiple requests. Ease of Use : All the user screens should be easy to use and intuitive. Contact details should be provided in order to get in touch with the administrator. Scalability : It is possible to extend the current features for future use of the system. Performance : The system should have a quick response time . DOMAIN REQUIREMENTS Specific functionality provided to the Admin: Manage User System : Admin can create a new user. Activate/deactivate an existing user.Admin can delete and edit a user. Manage Examination : Admin can edit an exam and assign exam to students. Admin can activate/deactivate any exam. Admin can also delete an exam. Specific functionality provided to the Teacher: Manage Examination : Teacher can create a new exam, edit existing exam. Create questions is one of the important functionality. Question can be textual or it can be single/multiple choice. Mark Exam : Teacher can do the marking of the exam either manually or it can be automated. Specific functionality provided to the Student : Answer Exam : Student can answer the exam assigned. View Point : Student can view the point of a question. He can also view his marks in a particular exam. PROJECT PLANNING Task no. Task Name Duration(days) Comments 1 Project Proposal 4 Deadline 30th September 2010 2 Requirements Specifications Ongoing Identify the users needs. 3 Research For technologies required by the system Ongoing Investigate the technologies to be used, the data structure. Identify important features which can be applied to the project implementation. 4 Architectural Design Ongoing Define different layers of the system and apply appropriate technologies to each layer. 5 Database Design 4 Apply Database schema provided by the School IT support team. Add necessary tables and relationships between them to make the application functional. 6 Prototype 3 Design Mock Interfaces of the application. 7 First Inspection 1 Start on 10th October 2010 8 Design Model 7 Class Diagrams Sequence Diagrams 9 Coding Phase 28 It will include connections to the database server. Develop the interfaces. And implement the functionalities of the system. Deadline 10th December 2010 10 Testing 5 Test all the features of the web application. 11 Final Inspection 1 Start on 20th December 2010 12 Dissertation Ongoing Write the dissertation. 13 Dissertation Submission 1 Deadline 7th January 2011 CHAPTER-4 SYSTEM AND DATABASE DESIGN 4.1 DATABASE DESIGN Table Name Description Answer Answer table is used to save all answer of student and right answer of teacher for each question configuration Configuration is used to save configuration information such as: term condition, mark ratio Examination Examination table is used to save exam Examuser ExamUser table is used to save user Question Question table is used to save question Role Role table is used to save role information studentexamination StudentExamination table is used to save the students which are assigned a particular exam. One student can have many examination and one examination can belongs to many students. user_role UserRole table is used for linking many-to-many relationship between user and role. 4.2 SYSTEM FUNCTION DESIGN At the start of the application , a Welcome Page is displayed. On the left side there are three buttons namely Home, Help and Log in. To log into the application , the user has to press the log in button. It displays a login page. The user is prompted to enter a username and a password. Any wrong login using invalid username and password will generate error message requiring the user to try again. During the user authentication check, the system will determine the type of user (admin, student,teacher) and redirect the user to the correct page with appropriate features. ADMINPAGE If the user logged in is admin, then Adminpage shows up. It has the following links Manage Examination : Admin can manage the Examination System. It can view all the examinations created. The Admin can assign students the exams. Manage User : Admin can manage the User System. This is used to manage the user data. Admin can create a new user, edit an existing , delete a user, enable / disable a user. Configuration : This is used to change the configuration of the exam like terms conditions and the marks ratio. ROLE OF ADMIN CREATE USER When the admin opts to create a new user, he inputs the user information like firstname, lastname, e-mail , username, password, course, role in the user management system. There it is checked whether the user exists or not, and the user information entered is valid or not. If it is valid it is saved into the database. Otherwise, an error message is displayed. ACTIVATE/DEACTIVATE A USER Admin can activate/deactivate any user. For this admin chooses a user from the user system, activate/deactivate the user. Then save it into the database. MANAGE EXAMINATION Admin can assign a particular exam to students. Admin can activate or deactivate any exam. TEACHER PAGE If the user logged in is teacher, Teacherpage shows up. It has the following links : Manage Examination : This is used to manage the existing exams in the database. A teacher can edit exam, create questions for a particular exam, view questions of a exam and mark a exam manually. Create Question : This is used to create question. A question can be textual, single choice or multiple choice. A teacher can also edit the existing questions in the database. Create Examination : This is used to create a new exam. Help : This is to help the teacher in creating a question. ROLE OF TEACHER CREATE EXAM When the teacher opts to create an exam, he inputs the exam name, duration of the exam, description of the exam, mark type into the exam system. There it is checked whether exam name exists or not, duration of the exam is valid or not. If all is valid it is saved into the data base otherwise an error message is returned back to the teacher. A teacher can also edit the existing exam in the database. CREATE QUESTION When the teacher opts to create a question for an exam. He chooses the exam from the exam system and creates a question for it. In the question management system it is checked whether the question content is correct or not. If it is correct, it is saved into the database otherwise an error message is returned to the teacher. MARK MANUALLY When the teacher opts to mark an exam manually, he chooses the exam to be marked from the exam system. He iterates each question and marks them. Then he saves the marks into database. STUDENT PAGE If the user logged in is a student, studentpage shows up. It has the following link : View Point : This is used to view the point assigned to a particular student. Answer Exam : This is used to answer the exam assigned to the student. ROLE OF STUDENT VIEW MARKS A student can view his marks in any exam . ANSWER AN EXAM A student can answer any particular exam assigned to him. He can view point assigned to a question also. INTERFACE DESIGN Figure: Welcome Screen This is the Welcome Screen of our application. On the left hand side there are three buttons : Home, Help, Log in. These enable the user to get to Home Page, Help and Log in helps the user to get logged into the system. The same header and footer will be applicable to every page to preserve the consistency and integrity of the application. We use the ApplicationContext.xml file to define some Java beans like dataSource, SessionFactory, etc so that we can retrieve them in the application. In this way we can reimplement the classes and use alternatively different implementations by just changing the configuration in the ApplicationContext.xml file. Once you have a sessionfactory, your application asks the factory for a session. Your application will use Hibernate sessions to manage the persistent objects. An application context configuration file is created for the entire application named applicationcontext.xml destroy-method=close> ${hibernate.dialect} ${hibernate.show-sql} ${hibernate.hbm2ddl-auto} I need to define a web.xml File contextConfigLocation classpath:application-context.xml;classpath:security-context.xml org.springframework.web.context.ContextLoaderListener Deploying the application will create a database called exam as shown below in the Figure CHAPTER 5- IMPLEMENTATION AND TESTING APPLICATION IMPLEMENTATION Create User By Admin CreateUser.java String firstName = firstNameModel.getObject(); String lastName = lastNameModel.getObject(); String email = emailModel.getObject(); String course = courseModel.getObject(); ExamUser user = new ExamUser(); user.setUsername(username); user.setPassword(passwordEncoder.encodePassword(password, null)); user.setFirstName(firstName); user.setLastName(lastName); user.setEmail(email); user.setCourse(course); String selectedRoleName = roleModel.getObject().trim(); userService.createUser(user); Manage User By Admin ManageUser.java List> columns = new ArrayList>(); columns.add(new PropertyColumn(new Model(ID), id) { @Override public String getCssClass() { return numeric; } }); columns.add(new PropertyColumn(new Model(

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.