Presentation 2

advertisement
New Vision Concept School Portal
Phase II
MSE Project
Sindhu Thotakura
Committee Members
Dr. Mitchell Neilsen(Major Professor)
Dr. Gurdip Singh
Dr. Daniel Andresen.
Elaboration Phase
Second phase in the software
development cycle.
 develop an architectural design for the
project.

Outline
Action Items
 Architectural Design
 Formal Requirement Specification
 Test Plan
 Formal Technical Inspection
 Prototype Demo

Phase Deliverables
Vision Document 2.0
 Project Plan 2.0
 Architectural Design
 Test Plan
 Formal Requirement Specification
 Formal Technical Inspection Letters
 Architecture Prototype

Action Items
Dreamweaver and FrontPage
 Removed the register privileges
 Added few requirements to User
Interface

Technologies used
Client Side
 ASPX: ASP components are used in client
side to display all the controls
 HTML and CSS: CSS template is used for
styling and HTML is used in combination
with CSS
 JavaScript: few features were developed using
JavaScript
 Dreamweaver and Microsoft Front Page:
used for developing most of the pages as it
would be easy to edit in future.
Server Side
 C#: All the server side code is written in
C#, which connects to the database
Database
 SQL Server 2008: used to store all the
information
IDE
 Microsoft Visual Studio 2010
ASP.net






Reduces amount of code.
Safe and secure with built-in windows
authentication
better performance-early binding, just-in-time
compilation, native optimization, and caching
services
rich toolbox and designer-drag and drop,
automatic deployment
Provide simplicity- easy to perform common
tasks.
ASP.NET pages are easy to maintain and write as
source code and html are together.
Server side technology- Therefore ASP.NET
code executes on the server before it is sent
to the browser.
 language-independent-it allows you to
choose one language or partition your
application across many languages.
 Built in security through the Windows server
or through other
authentication/authorization methods
 Applications are faster and can
accommodate more number of users.

SQL Server 2008
Scalability
 Reliable – Performance Studio
 Security – Encrypt the entire database
 Fewer Database vulnerabilities
 Can easily be Integrated with ASP.Net
 Support backup
 Compatibility
 GUI for managing databases

Microsoft Visual Studio 2010
It reduces clutter and complexity.
 Supports multiple document windows and
floating tool windows.
 SQL Sever 2008 is integrated with Visual
Studio 2010.

3-Tier Architecture
Presentation Layer
acquire data from the user and render
data to the user.
 manage the visual layouts, styles and
general appearance of the application.
 Takes the input from user using
appropriate controls such as text boxes
 Manage control flow

Business Logic Layer
separates the business logic from other
modules
 withstand modifications or replacements
of the other two tiers
 could be rewritten to retrieve data from a
different database, without affecting any of
the business logic

Data Access Layer
interacts with persistent data usually
stored in a database or in permanent
storage.
 Business logic methods are mapped to
the data access layer.

Advantages



All business logic can be defined once within
the business layer and then shared by any
number of components within the
presentation layer.
Any changes to business rules can therefore
be made in one place and be instantly
available throughout the whole application.
Fewer JavaScript, thus simpler to the client
Superior performance for medium to high
volume environments
Disadvantages
More complex structure
 More difficult to setup and maintain
 The physical separation of application
servers containing business logic functions
and database servers containing databases
may moderately affect performance

Web Forms
User Interface (UI) elements that give
your Web applications their look and feel.
 Web Forms are made up of two
components:

◦ the visual portion (the ASPX file)
◦ code behind the form, which resides in a
separate class file.
User Controls





.ascx pages which are reusable components,
are independent of parent page.
user controls are easy to add to any web
page once you created
combine the other controls to create user
controls.
Convert whole pages into user control with
minor modifications
Speeds up the development processdevelopment is modularized which means
you have different functionalities available
by using just a simple tag in your web page.
Tables
List of Tables
 Student_Login
 HomeWorks
 Results
 Schedule
 BalanceDue
Stored Procedures

Atomicity- either all of the SQL statements in a stored procedure
will execute, or none will

Speed:
◦ run entirely on the database server(no need to pass sql
code over network)
◦ Are compiled when created.(unlike in line queries).
◦ storing execution information is time saver, especially if
the stored procedure is called many times.

Process Control
◦ advantage of control flow statements such as IF...ELSE, for
etc
◦ handle some quite complex logical operations from within
SQL code.
◦ Without stored procedures, we'd need to create an object
in the data layer to handle looping

Reduce Network Traffic
◦ enables a client application to pass control to a stored
procedure on the database server
◦ Enables intermediate processing on the database
server
◦ processes large amounts of data using stored
procedures returns only the data that is needed by
the client

Modularization
◦ writing reusable code units
◦ maximizing team talents
◦ easier maintenance- reuse existing stored procedures
List of Stored Procedures
usp_update
 usp_update_results

How is Performance handled?
Reduced html content
 Used Stored Procedures
 User Controls
 Caching using Sessions

Caching

Separate volatile data from non volatile data
◦ Designed usercontrols that encapsulates static
content and keep them separate from non
volatile data. This allows you to cache that
decreases load on your server.

Evaluate frequency of use: - Sessions
◦ Caching data or output that is frequently used.
User specific data is specifically stored in
database

Implemented Page Output Caching -
◦ keeps a copy of the HTML that was sent in
response to a request in memory
@OutputCache

To implement page cache

<%@ OutputCache Duration="60"
VaryByParam="*" %>
Stored Procedures contribution in
Performance

Reduced Network traffic
◦ Performs immediate processing on the
database server without transmitting
unnecessary data.

Tunable:
◦ source code modification can be eliminated.

Reusability also improves performance
Stored procedures improve security

Stored Procedures ◦ By including database privileges with stored
procedures that use static SQL, the database
administrator (DBA) can improve security

Security is also improved by
Authentication for users
Class Diagram
Sequence Diagram
Flow diagram of website
Jakob Neilsen’s Rules
◦ Facilitates scanning
◦ Placing Logo on every page
◦ Placing Home Link all through the site
◦ Do the same as everybody else
◦ Writing simple headlines
◦ Update the users with ongoing information
◦ Using user’s language not system oriented terms
◦ Providing proper error messages
◦ Proper navigation
Formal Specification
Use 2.4.0
 All classes are specified with the
necessary attributes and operations.
 Associations
 Constraints

--- Every Student should have unique user
name
context Student
inv uniqueUserid:
Student.allInstances -> forAll(s1, s2|s1<>s2
implies s1.userid <> s2.userid)
--- Every Teacher should have unique user
name
context Teacher
inv uniqueUserid:
Teacher.allInstances -> forAll(t1, t2|t1<>t2
implies t1.userid <> t2.userid)
--- There are only 6 subjects
context Subject
inv sixSubjects :
Subject.allInstances -> size=6
Formal Inspection Checklist








Do the symbols used in class diagram conform to UML 2.0?
Do the symbols used in sequence diagram conform to UML 2.0?
All the classes represented in the class diagram are described in
the Architecture Document or not?
All the classes in OCL model are represented in the class diagram
or not?
All the attributes, multiplicities in the OCL model have been
depicted in the class diagram or not?
Are the sequence diagrams unambiguous and understandable?
The attributes in the USE model are consistent with the attributes
of the corresponding class diagrams or not?
All the requirements in the Software requirements specification
have been covered in the Architecture Design Document or not?
Test Plan
◦ Functional Testing
◦ Usability Testing
◦ Compatibility Testing
◦ Performance Testing
◦ Testing Tools
Requirements to be tested


















SR1 – The user can view only one page at a time in the website.
SR2 – The user can register only if the user is either staff or a student who is studying 8th, 9th or 10th
class.
SR3 – The users can send the feedback.
SR4 – The users should be able to contact the management using the contact form.
Students
SR5 – The student can view the individual results obtained during exams which are posted by teacher.
SR6 – The student can view the class results which are posted by teacher.
SR7 – The student can view the Balance Due.
SR8 – The student can view the Class Schedule.
SR9 – The student can view the Homework posted by the teachers.
SR10 – The student can view the Comments posted by the teachers.
Teachers
SR11 – The teacher can update the results of the students.
SR12 – The teacher can write the comments about the students.
SR13 – The teacher can add or delete a student from the class.
SR14 – The teacher can post the Homework.
SR15 – The teacher can write the comments about the students.
SR16 – Appropriate graphs should be shown for the information.
Test Deliverables
Test design specification
 Test case specification
 Test procedure
 Test Log
 Test summary report

To be done
Logout button
 Link to Homepage

Demo
Questions/Comments???
Download