450 likes | 579 Views
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. .
E N D
New Vision Concept School Portal Phase II MSE Project SindhuThotakura Committee Members Dr. Mitchell Neilsen(Major Professor) Dr. GurdipSingh 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.
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 process- development 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 sqlcode 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
JakobNeilsen’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 invuniqueUserid: Student.allInstances -> forAll(s1, s2|s1<>s2 implies s1.userid <> s2.userid)
--- Every Teacher should have unique user name context Teacher invuniqueUserid: Teacher.allInstances -> forAll(t1, t2|t1<>t2 implies t1.userid <> t2.userid)
--- There are only 6 subjects context Subject invsixSubjects : 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