Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

21
Proposalz Generator Plus July 24 2009 Proposalz Generator Plus http://sweng.mta.googlepages.co

Transcript of Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Page 1: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Proposalz Generator PlusJuly 24 2009

Proposalz Generator Plus

http://sweng.mta.googlepages.com/

Page 2: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Course Name: Software EngineeringYear: 2009Teacher name: Dr. Shmuel TyshbrerovichProject Name: Proposalz Generator Plus

# Name Role/s e-mail

1 Avishay Ben Zvi Team Leader, Deployment Manager

[email protected]

2 Guy Ronen Requirement manager , Solution architect

[email protected]

3 Michael Vainer Software Engineer [email protected]

4 Orit Dvir Quality assurance engineer

[email protected]

5 Eti Israelov Test Engineer [email protected]

6 Eran Moscovici Test Engineer [email protected]

Page 3: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

AgendaProject MotivationScopeOut of ScopeArchitectureTechnologiesTechnology Elaboration:

VSTOSynchronization

FrameworkDeployment

Project Evolvement

Tests / QA StatusBug ExamplesLessons Learned

Page 4: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Project Motivation A real customer with a real need

Helps in SRS and system requirements analysis Helps in beta testing and acceptance tests Helps keeping us motivated and dedicated to develop and

deliver a working, stable and useful software

A classic object oriented system with classic OO<->ERD needs for practicing the course agenda Yet rich, unique and with cutting edge software development

technologies such as VSTO for integrating with MS Office and Sync Framework for synchronizing clients with Server

Page 5: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Scope Rich desktop application for creating, editing and managing complex price proposals

Use of local database for local data persistency

Integrating with MS Word 2007 to auto-generating proposal documents based on the data.

Microsoft Word 2007 Add-In

Proposal Item Template editing mechanism with option to create modifiable fields in the item

Modifying item fields and item structure for each item in the proposal

Calculating total proposal costs based on the items and the values in the fields

Data filtering for faster and easier data browsing

Setup Installation application

Synchronization with central database

Page 6: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Out of ScopeUser ManagementAuthentication and Authorization

(Permission Management)Work-Flow management and BICustom Reports

Page 7: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

High Level Design

Page 8: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Architecture

MS Office APIBusiness Logic Layer .Net

Framework

Data Access Layer

Business Logic

Common GUI

Platform

Front OfficeGUI

Back OfficeGUI

Shared File System SQL Server CE

VSTOObject Model

Page 9: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Technologies.NET Framework 3.5C# 3.0ADO.NET 2.0Synchronization FrameworkSQL Server CEVSTO – Visual Studio Tools for Office 2007

Page 10: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Synchronization Architecture

Synchronization

ServiceServiceProxy

Local DB(SQL CE)

Data Access, Local Biz

Logic

Server DB(SQL

Express)

Data Forms

Page 11: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Technology Elaboration: Synchronization Framework

Auto-Generating:client side db fileServer side synchronization tables, columns

and triggersClient side synchronization agents (C# code)ADO.NET Typed Datasets, DataTables,

DataAdaptersUse of SQL Server CE

No need for client side db server software/service/installation

Free

Page 12: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Technology Elaboration: VSTO

Word Macros

Access Macros

Word Basic

Access Basic

Excel Formulas

Visual Basic for Applications (VBA)

COM components

COM Add-ins

VSTO

.NET Framework

.Managed Add-ins

evolution graphics courtesy of SellsBrothers.com

Smart Tags

Smart Documents

Page 13: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Technology Elaboration: VSTOWord Add-In (screen shot)

Word application and Word Document API

OM

MyCodeMyCodeMyTaskPaneMyTaskPane

Page 14: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Technology Elaboration: VSTOContent Controls – Office 2007

Word Template

Page 15: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Technology Elaboration: DeploymentMethod Advantages Disadvantages

ClickOnce

• Little user interaction

• Automated updates• Little effort for the

developer

• Always deploys as a single solution, cannot be part of a greater whole

• Cannot deploy additional files or registry keys

• Cannot interact with the user to configure the installation

• Cannot brand the installation

Windows Installer

• Can deploy additional components and registry settings

• Can interact with the user to configure the installation.

• Custom branding of the installation

• Requires advanced configuration

• Higher developer effort required

• No automated updates

Page 16: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Technology Elaboration: DeploymentWindows Installer Features:

Prerequisites verifications and launch conditionsSetting Folders and Files on target machineCustom dialogs with user interactionSetting registry keys by user’s responses to

dialogsSetting shortcuts on START menu and desktopCustom ActionsIntegration with Add/Remove of Windows

VB Script:Reading folder locations from registryExpanding folder content from cab files

Page 17: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Deploying VSTO Add-InSet Prerequisites and launch conditionsAdd special registry keys and valuesTrust the DLLAdd deployment and package manifests

Page 18: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Project EvolvementOct08

Nov08

Dec08

Jan09

Feb09

Mar09

Apr09

May09

June09

July09

High Level Design

NPP

SRS

Development

Documentation

QA

Page 19: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Tests / QA StatusFirst performed by Development teamThen performed by QA team and Customer-> all completed

QA teams testing order:1. Module and Integration testing (use cases)2. System Integration testing (different

environment)

Customer:3. Beta testing (customer input already at early

phase)

Page 20: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Bug ExamplesComplete list in document “BugLists.docx”

Fixed Bug example:Default date is not set when creating a new

Proposal-> fixed in version 1.0.14

Open Bug example:Add a field with “fax number” to Proposal

Details-> change request of customer which will be

handled in the future

Page 21: Proposalz Generator Plus July 24 2009 Proposalz Generator Plus

Lessons LearnedKeeping the documents up to date after

development is started is complex taskQA testing team has to be familiar with the

development plan in details from initial period

A real customer is great valueCustomer has to be involved in design and

kept in loop for constant feedback