Wednesday, August 12, 2009

Objectives

Reviewing changing a design allows you to fix assumptions and problems before they become expensive to correct.

Categories of evaluation
1. Evaluate the logical design
2. Evaluate the Physical design

Evaluate the logical design

Evaluations groups are
Run-time evaluation- Performance, Scalability, Availability, recover ability and security
Architectural evaluation - maintainability and extensibility
Requirement evaluation- Business use case

Performance evaluation

For web application 3 tier is enough. More tiers is poor design. Remove unnecessary level of abstraction.

Scalability Evaluation

This mean allowing your application to work well withing a web farm and with load balance rs.
Consider about state handling. If you put serialization to your application , it can move web farm session state, sticky load balancing sessions and other mechanisms without changing your objects.

Availability and recoverability evaluation

They ll use reliable transaction such as database transactions , Microsoft message queuing, or distributed transaction

It should support reconstruction of corrupted files and configuration to save data outside a transaction

It should allow failover to different hosting centers.

Security Evaluation

Consider about authentication and authorization. Anonymous authenticate good for publicly available web site. Windows authenticate good for intranet or Virtual private network(VPN)

If you want work with mobile and lightweight client you ll need to consider cookie-less authenticate .

Use store procedure and parametrized queries to prevent SQL injection attack.

You should sign your assemblies with strong name to prevent inject dangerous code to your application


Maintainability Evaluation

Extensibility Evaluation
Consider about code reusing. The more of your design reuse its better investment to the technology.

Data integrity Evaluation

Decide what what type of concurrency you want. Optimistic or pessimistic
Optimistic has fewer database lock.

Business Use case Evaluation
Review use case against the design you ll almost always find inconsistencies(or ambigusties) that need to be address.

Evaluating the physical design


The physical design of web project includes how the project is going to look when deployed and ready for use.

Performance Evaluation

This depend on Content, Network and database implementation.

Consider about content you have to care about user connection is it broad band or narrow band.
If its narrow band you have to reduce page size viewstate sizes and images size.

If the middle tier will tax the web servers by using a lot of memory or processors cycles, you would choose to separate the user interface tier and the middle tier into separate machines.

Scalability Evaluation

Physical and logical Evaluations are mostly same. You need to determine whether the system can adapt to handling higher-sized loads.


Availablity and Recoverability Evaluation
Keep backup web servers and database servers with correct version of code and data.

You need strategy for backing up data in system for recovery purposes.

Security Evaluation

Code should have strong named to prevent inject.

Review directory structure. and review role base security to ensure that only the correct users have access to the required portion of web site.

Use strong password

Maintainability Evaluation

Component should use common directory structure.

Extensibility Evaluation

Web controls, web parts and other component place central location. Then multiple web application can use same controls.

Data integrity Evaluation

Keep validation in user interface to keep data constraint. Reduce go to database to find data inconsistency.







No comments:

Post a Comment