Post on 27-Dec-2015
Proposalz Generator PlusJuly 24 2009
Proposalz Generator Plus
http://sweng.mta.googlepages.com/
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
Avishay.Ben-Zvi@verint.com
2 Guy Ronen Requirement manager , Solution architect
guyronen@mta.ac.il
3 Michael Vainer Software Engineer Michael.Vainer@nice.com
4 Orit Dvir Quality assurance engineer
dvir.orit@gmail.com
5 Eti Israelov Test Engineer eti.israelov@gmail.com
6 Eran Moscovici Test Engineer eran.moscovici@gmail.com
AgendaProject MotivationScopeOut of ScopeArchitectureTechnologiesTechnology Elaboration:
VSTOSynchronization
FrameworkDeployment
Project Evolvement
Tests / QA StatusBug ExamplesLessons Learned
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
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
Out of ScopeUser ManagementAuthentication and Authorization
(Permission Management)Work-Flow management and BICustom Reports
High Level Design
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
Technologies.NET Framework 3.5C# 3.0ADO.NET 2.0Synchronization FrameworkSQL Server CEVSTO – Visual Studio Tools for Office 2007
Synchronization Architecture
Synchronization
ServiceServiceProxy
Local DB(SQL CE)
Data Access, Local Biz
Logic
Server DB(SQL
Express)
Data Forms
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
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
Technology Elaboration: VSTOWord Add-In (screen shot)
Word application and Word Document API
OM
MyCodeMyCodeMyTaskPaneMyTaskPane
Technology Elaboration: VSTOContent Controls – Office 2007
Word Template
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
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
Deploying VSTO Add-InSet Prerequisites and launch conditionsAdd special registry keys and valuesTrust the DLLAdd deployment and package manifests
Project EvolvementOct08
Nov08
Dec08
Jan09
Feb09
Mar09
Apr09
May09
June09
July09
High Level Design
NPP
SRS
Development
Documentation
QA
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)
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
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