Product Line Engineering

This site is sponsored by Corporate Systems & Solutions and Real World Software Architecture.
.NET 2.0

Enterprise Library for .NET 2.0
http://www.gotdotnet.com/codegallery/codegallery.aspx?id=295a464a-6072-4e25-94e2-91be63527327

Software Factories
http://lab.msdn.microsoft.com/teamsystem/workshop/sf/default.aspx
http://www.softwarefactories.com/

Guidance Automation Toolkit
http://lab.msdn.microsoft.com/teamsystem/workshop/gat/
http://guidanceautomation.net/

Domain-Specific Language (DSL) Tools
http://lab.msdn.microsoft.com/teamsystem/workshop/dsltools/default.aspx

SQL Server 2005
http://msdn.microsoft.com/SQL/2005/default.aspx

SQL Server Mobile Edition
http://www.microsoft.com/sql/ce/mobility/beta1.mspx

Visual Studio 2005 Team System
http://lab.msdn.microsoft.com/teamsystem/
http://msdn.microsoft.com/launch2005/collab/default.aspx

Smart Client
http://msdn.microsoft.com/launch2005/smclient/default.aspx
http://msdn.microsoft.com/smartclient/

Windows Forms Development
http://www.windowsforms.net/Default.aspx?tabindex=4&tabid=49

Enterprise-Class Systems with the .NET Framework 2.0
http://msdn.microsoft.com/launch2005/desarch/default.aspx
 

Web Services
http://msdn.microsoft.com/webservices/

Web Services Enhancements (WSE) 3.0
http://www.microsoft.com/downloads/details.aspx?familyid=6bafe8a6-cdc9-4ae6-9625-e6260ccdef24&displaylang=en

Microsoft WS-I Basic Security Profile Sample Application
http://www.gotdotnet.com/codegallery/codegallery.aspx?id=0fecd2c7-b2b1-4d85-bd66-9d07a6ecbd86

The C# Language
http://msdn.microsoft.com/vcsharp/programming/language/
http://msdn.microsoft.com/vcsharp/
http://lab.msdn.microsoft.com/vs2005/downloads/101samples/default.aspx

ASP.NET 2.0
http://beta.asp.net/Default.aspx?tabindex=0&tabid=1
http://msdn.microsoft.com/launch2005/webdev/
http://msdn.microsoft.com/asp.net/

Team Foundation Server
http://lab.msdn.microsoft.com/teamsystem/teamcenters/team/default.aspx

C# 3.0
http://msdn.microsoft.com/vcsharp/future/

The LINQ Project
http://msdn.microsoft.com/netframework/future/linq/

Windows Vista
http://msdn.microsoft.com/windowsvista/default.aspx

Windows Workflow Foundation
http://msdn.microsoft.com/windowsvista/building/workflow/
http://www.windowsworkflow.net/Default.aspx?tabindex=0&tabid=1

Windows Mobile 5.0
http://www.microsoft.com/windowsmobile/developers/default.mspx
http://msdn.microsoft.com/mobility/
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnppcgen/html/whatsnew_wm5.asp

COM Interop in .NET Compact Framework 2.0
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/html/com_interop.asp

MSDN2
http://msdn2.microsoft.com/en-us/library/default.aspx

SQL Reporting Services
http://www.microsoft.com/sql/reporting/default.mspx

Composite UI Application Block
http://www.gotdotnet.com/codegallery/codegallery.aspx?id=22f72167-af95-44ce-a6ca-f2eafbf2653c

BizTalk 2006
http://www.microsoft.com/biztalk/default.mspx

Team System Rocks
http://teamsystemrocks.com/

Patterns and Practices

•Patterns of Enterprise Application Architecture
•Enterprise Integration Patterns
•Microsoft’s patterns & practices
•Hillside Group
•Refactoring Catalog
•Refactoring To Patterns Catalog
•Object Mentor
•Zachman Framework

Webcasts and Free Training Material

•
Patterns and Practices Live- Excellent training resource for Enterprise Library
http://www.pnplive.com/

Team System Rocks
http://teamsystemrocks.com/tutorials/

MSDN Academic Alliance: The Curriculum Repository-

•MIT's OpenCourseWare
•Microsoft On-Demand Webcasts
•Macromedia Free On Demand seminars
•Learn247.NET
•Microsoft Support WebCasts
•.NET Rocks!
•MSDN TV
•The .NET Show
•Online Tutorials about Enterprise Library
On Channel 9 Wiki

Multimedia Walkthrough on the Enterprise Library Data Access Application Block
http://www.ronjacobs.com/dataaccesswalkthrough.htm

Visual Studio 2005 Team System Multimedia Content
http://lab.msdn.microsoft.com/teamsystem/technicalresources/presentations/default.aspx

SharePoint Portal Server 2003 Webcasts
http://www.microsoft.com/technet/prodtechnol/sppt/webcasts/default.mspx

ASP.NET 2.0 Training
http://msdn.microsoft.com/asp.net/support/multimedia/
http://msdn.microsoft.com/asp.net/beta2/multimedia/default.aspx

SQL Server 2005 Webcasts
http://msdn.microsoft.com/sql/2005/2005Webcasts/default.aspx

Business Intelligence Webcasts
http://www.microsoft.com/events/series/sqlserverbi.mspx

Visual Studio 2005 Team System Webcasts
http://www.microsoft.com/events/series/msdnvsts2005.mspx

Visual Studio 2005 Smart Client Webcasts
http://www.microsoft.com/events/series/msdnsmartclient.mspx

Microsoft Webcast Series
http://www.microsoft.com/events/series/default.mspx

Designing .NET Class Libraries

The Designing .NET Class Libraries series presents design guidelines for developing classes and components that extend the .NET Framework. The goal of the Designing .NET Class Libraries series is to encourage consistency and predictability in public APIs while enabling Web and cross-language integration. The guidelines presented in Designing .NET Class Libraries are intended to help class library designers understand the trade-offs between different solutions. There might be situations where good library design requires that you violate these design guidelines. Such cases should be rare, however it is important that you provide a solid justification for your decision.
 

You can find the transcripts of the chats related to these presentations in the .NET Framework Chat Transcript Archive.


 
 Presentations
Title Description Date Chat Date
Setting the Stage
By: Brad Abrams
Introduction to the practice of API design. Topics covered include terminology, first principles, and why API design is a crucial thing to get right (the first time!). January 14, 2005 January 19, 2005
Naming Conventions
By: Brad Abrams
Learn why good naming is a key factor in API design, and what the recommended naming guidelines are to ensure consistency with the rest of the .NET Framework. January 21, 2005 January 26, 2005
Rich Type System
By: Brad Abrams
Learn what rich constructs from the CLR's type system are available and appropriate for developing APIs. Also, learn when to use reference over value types, delegates, exceptions, attributes, and many other important features. January 28, 2005 February 2, 2005
Member Types
By: Brad Abrams
Learn when to use certain member constructs such as properties, methods, and events over other constructs and why. February 4, 2005 February 9, 2005
Designing Inheritance Hierarchies
By: Brad Abrams
Learn how to design appropriately for specialization, specifically when to use inheritence over aggregation, abstract classes over interfaces, and so on. Also, learn situations in which virtual methods are called for. February 11, 2005 February 16, 2005
API Usability
By: Steven Clarke
Learn to understand your target audience, profile users with personas, and develop APIs that are easy to use and understand. February 18, 2005 February 23, 2005
Designing Progressive APIs
By: Krzysztof Cwalina
Learn how to design APIs that are appropriate for a broad range of user personas, while at the same time providing a unified framework with gradients between levels of complexity. February 25, 2005 March 2, 2005
CLR Performance Tips
By: Rico Mariani and Maoni Stephens
Learn performance basics (measure, measure, measure!), how to build a performance culture, GC basics, and a couple of tips on controversial .NET performance topics. March 4, 2005 March 9, 2005
Designing for a Managed Memory World
By: Brad Abrams
Understand the impact that garbage collection has both at runtime and how it impacts the design of your APIs. Learn about finalizers, the Dispose pattern, the using keyword, and other related constructs. March 11, 2005 March 16, 2005
Understanding Interoperability
By: Sonja Keserovic
Learn how to interoperate between managed and unmanaged (native) code, including COM interop. Learn how to consume native code from managed libraries, and how to expose managed libraries to native code. March 18, 2005 March 23, 2005
Packaging, Assemblies and Namespaces
By: Michael Murray
Understand best practices for packaging and structuring your units of deployment, including how to factor your code appropriately, strong naming, how packaging may impact performance, and namespace structure. March 25, 2005 March 30, 2005
FxCop in Depth
By: Jeffrey Van Gogh and Michael Murray
FxCop is a tool that enables development teams to check code compliance with best practices. This session will give you a good understanding of the how and why behind the tool. April 1, 2005 April 6, 2005
Enabling Development Tools
By: Brian Pepin
Learn how to enable a rich development experience for your users by writing code that exploits the capabilities of Visual Studio. Covers extending and augmenting the development, debugging, and design environments. April 8, 2005 April 13, 2005
Security
By: Sebastian Lange
Learn how to write secure code using CAS, protected resources, verifiability, and secure units of code. This session also covers partial trust, a couple security gotchas, and some tools to enable secure .NET development. April 15, 2005 April 20, 2005
Conclusion and Q&A Session Watch the finale and Q&A session with the series presenters and their audience, with a special guest appearance by Jeff Richter. April 22, 2005 April 27,
       

 

Tools
•Enterprise Library
•FxCop
•WebServiceStudio 2.0
•NUnit
•FitNesse
•ORM.NET
•BugTracker.NET
•Reflector for .NET / Resourcer for .NET
Communities
•TheServerSide.Net
•The PatternShare community
•Software Architecture
•sourceFORGE.net
•.Net2TheMax
•MIT Artificial Intelligence Laboratory
•The Code Project
–http://www.codeproject.com

The Open Group
http://www.opengroup.org

Open Source Software Engineering
http://www.tigris.org

Business Rules Community
http://www.brcommunity.com
Development Processes
•

Agile-  Small teams / small projects at the same location

• XP - http://www.extremeprogramming.org/index2.html

• Agile-Model Driven Development-  http://www.agilemodeling.com/essays/amdd.htm

• SCRUM- http://www.controlchaos.com/about/

 

Formal - High Ceremony Striving for Higher Predictability

• Unified Process- http://www.amazon.com/gp/reader/0201571692/ref=sib_dp_pt/104-9202960-5487935#reader-link

• Rational Unified Process - http://www-306.ibm.com/software/awdtools/rup/

• Enterprise Unified Process- http://www.enterpriseunifiedprocess.info/

• Product Line Engineering- http://www.sei.cmu.edu/productlines/index.html

 

Frameworks

• Microsoft Solutions Framework - http://www.microsoft.com/downloads/details.aspx?FamilyID=50dbfffe-3a65-434a-a1dd-29652ab4600f&DisplayLang=en

• Zachman - http://www.zifa.com/quickstart.html