|Title||Analyzing Requirements and Defining Solution Architectures for Microsoft .NET|
|Date||Tuesday, March 31, 2009|
|Sectional Results |
Monday, March 30, 2009
Sunday, March 29, 2009
|Product Management||Overall goals; identify customer needs, requirements; vision/scope document||Conceptual design; business requirements analysis; communications lan||Customer expectations||Communications plan execution; launch planning||Customer feedback, assessment, sign-off|
|Programme Management||Design goals Solution concept; project structure||Conceptual and logical design; functional specification; master project plan and master project schedule, budget||Functional specification management; project tracking; updating plans||Project tracking; bug triage||Solution/scope comparison; stabilization management|
|Development||Prototypes; development and technology options; feasibility analysis||Technology evaluation; logical and physical design; development plan/schedule; development estimates||Code development; infrastructure development; configuration documentation||Bug resolution; code optimization||Problem resolution; escalation support|
|User Experience||User performance needs and implications||Usage scenarios/use cases, user requirements, localization/accessibility requirements; user documentation/training plan/schedule for usability testing, user documentation, training||Training; updated training plan; usability testing; graphic design||Stabilization of user performance materials; training materials||Training; training schedule management Testing Performance testing; problem|
|Testing||Testing strategies; testing acceptance criteria; implications||Design evaluation; testing requirements; test plan/schedule||Functional testing; issues identification; documentation testing; updated test plan||Testing; bug reporting and status; configuration testing.||Peformance testing; problem identification, definition, resolution, and reporting|
|Release Management||Deployment implications; operations management and supportability; operational acceptance criteria||Design evaluation; operations requirements; pilot and deployment plan/schedule||Rollout checklists, updated rollout and pilot plans; site preparation checklists||Pilot setup and support; deployment planning; operations and support training||Site deployment management; change approval|
- Establish standards. Standards can apply to development documentation, coding, code review, UI, and testing.
- Release Management is responsible for designing and implementing the solution's deployment plan.
- Establish processes. Processes include reviewing development documentation, reviewing code, creating builds, tracking issues, managing source code, managing change, managing release, and establishing maintenance tasks. Methods include Microsoft Visual Studio .NET Enterprise Templates.
- Creatinga Web Setup project is a lot of overhead for deploying a Web application to a server. Practically, it is better to use XCopy or Copy.
- Establish quality and performance metrics to evaluate project control, organizational performance, and return on investment.
- STRIDE = Spoofing Identify; Tampering Data; Repudiatte Attack; Information Disclosure; Denial of Service; Elevation of Privilege
- Select the appropriate technologies for the physical design of the solution..
- Implement Wizard-type app via dialog box (forces sequence)
- Create the physical design for the solution
- Implementation stage: determin a programming model and specify component interfaces, attributes and services
- Create the physical design for deployment
- Release Management: Evaluates infrastructure implications; defines infrastructure requirements; operational requirements; deployes solution
- Create the physical design for maintenance
- Research stage: create physical design, determine constraints; requirements; identify infrastructure changes
- Create the physical design for the data model
- Stored Procedures are not best to implement Business Logic in Data Layer. COM component and call from data component.
- Validate the physical design
- Scalability requries asynchronous not Load Balancing (which is useful for Availability).
Thursday, March 26, 2009
- Create the logical design for the solution.
- Deliverables are: logical object model; high-lvel UI design; logical data model
- In UML, parent-child relationship is depicted as a Generalization
- Create the logical data model
- Program manager: drive the logical design deliverables
- Validate the proposed logical design
- Testers: define high-level test plan/ validate logical design against conceptual design
- Don't use Windows application when you can use Web Service: can log onto it; can activate it via system process.
- Create a conceptual model of business requiremnts or data requirements
- The outputs of the Envisioning phase are: vision/scope doc; projct structure doc; risk assessment doc
- Conceptual design looks at solution from perspective of user and business
- Legacy component must be registered (with RegSvr32) first
- Should create one merge module for each common assembly for deployment to intranet
- Validate the conceptual design
- Walk-through; role-playing; prototype are techniques to validate concept
- Transform requirements into functional specifications.
- Tasks include: design features; identify cultures (not identify methodologis)
- Transform functional specifications into technical specifications
- Authentication to identitfy the clients of my application
- Authorization as the technique to define what authenticated users can do
Wednesday, March 25, 2009
Tested myself on Exam 70-300 (Analyzing Requirements and Defining Microsoft .NET Solution Architectures) Objective 2 (Gathering and Analyzing Business Requirements) and received only 46%. I've got a bit of study to do, specifically:
- Gather and analyze business requirements
- At the end of the planning phase, you complet ethe functional spec.
- Current functionality; ID of business rule; Authority = busines rules catalog.
- Gather and analyze user requirements
- User instruction; Surveys; Shadowing = user gathering info techniques
- How about interruptions; can you resume? What decision to start? = Typical questions
- Gather and analyze operational requirements
- Behavioural view = the dynamic or changing state fo the system
- Stabilizing phase = you identify, prioritize and resolve issues
- Gather and analyze requiremees for hardware, software, and network infrastructure
- Develop wrong system, Define wrong reqs, Build wrong team, Budget over = risks of not creating functional spec
- Develop a solution concept
- Business goals represent what the customer wants to achieve through the solution.
- Solution Concept consists of: initial approach; success factors; security requirements; initial functionality
- Envisioning: User profiles; purpose and direction; usage scenarios
- Envisioning = Project Structure; Risk Assessment; Vision/Scope (not Functional Spec).
- Analyze the feasibility of the solution
- Vision/scope document contains list of features that have been excluded from scope (not the Functional Spec).
- Analyze and refine the scope of the solution project
- The Project Structure doc typically includes administrative structure of the team, deliverables of the team and tentative schedule.
- Logical design consist of: define solution; illustrate how it works; prove framework
- Identify key project risks
- Final Decision Maker: Program Management (not Project Management)
- Program Manager: create list of needed resources; compare to existing; decide how to acquire
Sunday, March 22, 2009
- is a set of models, principles and guidelines for designing applications.
- is a combination of the waterfall and spiral process models
- is a milestone-based, iterative approach to developing solutions.
Setting up the team; Defining the project structure; Defining the business goals; Assessing the current situation; Creating a vision statement and defining the scope of the project; Defining requirements and user profiles; Developing a solution concept; Assessing risk; Closing the envisioning phase
Developing the solution design and architecture; Creating the functional specification; Developing project plans; Creating project schedules; Creating the development, testing and staging environments; Closing the planning phase
Starting the development cycle; Creating a prototype application; Developing the solution components; Building the solution; Closing the developing phase
Testing the solution; Conducting the pilot
Completion of deployment and operations procedures; Deployment and stabilization; Project review
|Interim milestones|| |
Core team organized; Vision/scope created
Technology validation complete; Functional specification complete; Master plan complete; ster project schedule complete; Development and test environments set up
Proof-of-concept application complete; Internal builds complete
Bug convergence; Zero-bug release; Release candidates; Golden release
Core components deployed; Site deployments complete; Deployment stable
Vision/scope; Project structure; Risk assessment
Functional specification; Risk management plan; Master project plan and master project schedule
Source code and executable files; Installation scripts and configuration settings for deployment; Finalized functional specifications; rformance support elements; Test specifications and test cases
Final release; Release notes; Performance support elements; Test results and testing tools; Source code and executable files; Project documents; Milestone review
Operation and support information systems; Documentation repository for all versions of documents and code developed; A training plan; Project completion report
|Major Milestone||Vision/Scope Approved||Project Plan Approved||Scope Complete||Release Readiness||Deployment Complete|
Monday, March 9, 2009
|Title||Designing and Optimizing Data Access by Using Microsoft SQL Server 2005|
|Date||Tuesday, March 10, 2009|
Sectional Results (Approximate)
- Designing Efficient Access to a SQL Server Service, 70%
- Designing a Database Query Strategy, 55%
- Designing Error-Handling Routines, 100%
- Designing a Transaction Strategy, 90%
- Performance Tuning a Database and a Database Application, 88%