Subscribe with RSS or ATOM Add to Google





Thursday, December 27, 2007

Service Factory - Modeling Edition CTP (VS2008) Available

Summary (from download page)
The Web Service Software Factory: Modeling Edition (also known as the Service Factory) is an integrated collection of resources designed to help you quickly and consistently build WCF and ASMX Web services that adhere to well-known architecture and design patterns. These resources consist of models with code generation in the form of tools integrated with Visual Studio 2008 and patterns and architecture topics in the form of written guidance.

The Service Factory contains automation and guidance integrated into Visual Studio 2008 for building services. The core of the automation components is a Web services domain model. This domain model contains elements such as service contracts, operations, messages, and data contracts. This domain model manifests itself in the form of three integrated domain-specific languages (DSLs) that are used to model services: Service Contract Model, Data Contract Model, and the Host Model.

In addition to the Visual Studio automation facilities, the Service Factory also contains the relevant written guidance about building Web services from the December 2006 release. Some of these topics include architecture, message design, versioning, exception handling, and other useful patterns. For a full list of topics that are included, see the “Web Service Architecture” section in the documentation included with the Service Factory.

Get it here.
_

Eclipse Process Framework Process Mapping UML Profile for SPARX EA

This is a new UML Profile used to map and plan the contents of a custom built Eclipse Process Framework Plug-in.




Last spring we started putting a UML profile together for mapping content build in the RUP Builder and for content we planned on importing into Team Foundation Server's SharePoint process guidance sites using the Process Template Editor. The project stalled and by the time we got back to it we found ourselves using the EPF Composer.


The UML profile was repurposed for use with EPF Composer. The profile is being used to map out process content for a new repository for the State of Pennsylvania. Although we wish we could publish the content being compiled, we cannot due to copyrights on the material. We can however, publish the map of the content, that we used this UML profile to build.


You can view a partial map of the content we are compiling from the download page on this site. It will give you an idea of how the profile can be used in the real world.


The download includes the following files:

  • EPF PMP Getting Started.eap- A start up project used to show some of the features in the EPF PMP Readme.doc.

  • EPF PMP Readme.doc- How to get started and an overview of the features.

  • EPF Process Mapping Profile Images.xml- Images to enable the profile. This is explained in greater detail in the EPF PMP Readme.doc.

  • EPF Process Mapping Profile.xml- The profile that needs imported. This is explained in greater detail in the EPF PMP Readme.doc.

  • EPF Process Mapping UML Profile.rtf- This document provides an overview of the Eclipse Process Framework UML Process Mapping Profile. This document was generated by SPARX EA.


We have this available as one of the downloads on this site.
_

Wednesday, December 26, 2007

New Real World Software Process Engineering Web Site

The new blog category "Software Process Engineering" on this blog site is dedicated to news and updates that take place on our new web site "Real World Software Process Engineering".

Real World Software Process Engineering is dedicated to providing information, tools, and experiences from the field of Software Process Engineering.

The site will house articles, tools, applications, references, and other downloads related to Software Process Engineering and the disciplines found in a normal Software Development Life Cycle (SDLC). They include, but are not limited too, Business Modeling, Requirements, Architecture, Analysis & Design, Implementation, Testing, Deployment, Configuration and Change Management, Project Management, and Environment.

This new site was created because over time there has been reason to upload files related to the blogs and they have become scattered and unmanageable.

More recently there has been a need to upload some new downloads that may need to be updated over time. This site was created to allow for better management of uploads as well as better communication channels related to the uploads.

We currently have 4 downloads available in the Registered Members area:

» Eclipse Process Framework (EPF) Process Mapping UML Profile

» Product Line Engineering (PLE) UML Modeling Profile in Sparx Enterprise Architect (EA)

» WAE UML Stereotypes, Stencils, Templates, and ASP.NET Patterns for Visio

» Smart Client / Winform Encryption Tool

Each download has more information available in the Registered Member's download area.

The the media and tools providing on the site are related to the Software Development Processes listed below.

Software Development Processes

Agile- Small teams / small projects at the same location
» XP
» Agile-Model Driven Development
» SCRUM
» Essential Unified Process (EssUP)
» OpenUP
» DSDM

Formal - High Ceremony Striving for Higher Predictability
» Unified Process (UP)
» Rational Unified Process (RUP)
» Enterprise Unified Process (EUP)
» Product Line Engineering (PLE)

Frameworks
» Microsoft Solutions Framework
» Zachman

You can check out the new site here.

New Real World Software Process Engineering Web Site

The new blog category "Software Process Engineering" on this blog site is dedicated to news and updates that take place on our new web site "Real World Software Process Engineering".

Real World Software Process Engineering is dedicated to providing information, tools, and experiences from the field of Software Process Engineering.

The site will house articles, tools, applications, references, and other downloads related to Software Process Engineering and the disciplines found in a normal Software Development Life Cycle (SDLC). They include, but are not limited too, Business Modeling, Requirements, Architecture, Analysis & Design, Implementation, Testing, Deployment, Configuration and Change Management, Project Management, and Environment.


This new site was created because over time there has been reason to upload files related to the blogs and they have become scattered and unmanageable.

More recently there has been a need to upload some new downloads that may need to be updated over time. This site was created to allow for better management of uploads as well as better communication channels related to the uploads.



We currently have 4 downloads available in the Registered Members area:

» Eclipse Process Framework (EPF) Process Mapping UML Profile

» Product Line Engineering (PLE) UML Modeling Profile in Sparx Enterprise Architect (EA)

» WAE UML Stereotypes, Stencils, Templates, and ASP.NET Patterns for Visio

» Smart Client / Winform Encryption Tool

Each download has more information available in the Registered Member's download area.

The the media and tools providing on the site are related to the Software Development Processes listed below.



Software Development Processes

Agile- Small teams / small projects at the same location
» XP
» Agile-Model Driven Development
» SCRUM
» Essential Unified Process (EssUP)
» OpenUP
» DSDM

Formal - High Ceremony Striving for Higher Predictability
» Unified Process (UP)
» Rational Unified Process (RUP)
» Enterprise Unified Process (EUP)
» Product Line Engineering (PLE)

Frameworks
» Microsoft Solutions Framework
» Zachman

You can check out the new site here.

Saturday, December 22, 2007

Free Microsoft Press LINQ E-Book and ASP.NET AJAX and Silverlight 1.0 Sample Chapters

Microsoft has posted a free LINQ E-Book and ASP.NET AJAX and Silverlight 1.0 Sample Chapters. The LINQ book includes all the chapters in the book except the appendix. Definitely worth checking out.

Get them on Amazon here:
Introducing Microsoft LINQ by Paolo Pialorsi and Marco Russo
Introducing Microsoft ASP.NET AJAX (Pro - Developer) by Dino Esposito
Introducing Microsoft Silverlight(TM) 1.0 (PRO-Developer) by Laurence Moroney

Go here and log in and register to see the screen below.


Thursday, December 20, 2007

MVP Bundle Screencast - WCSF v2.0 Model View Presenter Design Pattern

David has posted a new MVP Bundle Screencast on the WCSF v2.0 Model View Presenter Design Pattern.

Check it out here
_

Wednesday, December 19, 2007

Tafiti goes Shared Source

Info from the Windows Live Dev News Site:

Microsoft released the Tafiti Search Visualization source code to CodePlex, which means any developer can download, modify, and resell the code (see MS-PL License for all the details).

Tour the demo site (see the original)Download the Tafiti code (read deployment guide).

Read more on Angus Logan's blog.
_

Friday, December 14, 2007

New Video on the New Features in the Entity Data Model Tools December CTP

Microsoft has posted a new Camtasia video that demonstrates a number of important new features in the Entity Data Model Tools December CTP. It is worth checking out.

Download it here.

Thursday, December 13, 2007

Next version of Web Client Software Factory (WCSF)

Blaine has posted an update on the next version of the Web Client Software Factory (WCSF). It will include support for Visual Studio 2008.

It also includes a ton of bundles. They are planning a release in Jan. or Feb.

Check out all the features here.

Wednesday, December 12, 2007

Software Architecture for Software-Intensive Systems: New Architecture Web Site Coming December 15

From the SEI Web Site:
The SEI is launching a new software architecture web site on December 15. It will have a new look, new content, and new features to make this a one-stop community-oriented resource for software architecture. Content on the site will be arranged in easy-to-find categories. If you're a software architecture practitioner, acquirer, researcher, or educator, new menus on every page will help you find what you're looking for fast. If you want to browse to the SEI's architecture body of knowledge, the new "Architects" menu is for you. If you want to contribute to the architecture body of knowledge, the new "Contributors" menu is for you. And, if you are a beginner and want to learn about software architectures, the new "Learners" menu is for you. A new site map will lay it all out.

This new site will be your site. We've made feedback easier, on every page, and we hope you'll take advantage of it.

Software Architecture for Software-Intensive Systems web site here.

Synthesis-Based Software Architecture Design

This is a very good thesis on Synthesis-Based Software Architecture Design. I have pasted the Chapter titles and the abstract from the paper below.

Chapter 1 - Introduction
Chapter 2 - On the Notion of Software Engineering: A Problem Solving Perspective
Chapter 3 - Classification and Evaluation of Software Architecture Design Approaches
Chapter 4 - Architecture Synthesis Process
Chapter 5 - Balancing Architecture Implementation Alternatives
Chapter 6 - Conclusions


Abstract:
With the introduction of the first programming languages in the late 1940s and the early 1950s, software development has undergone several evolutionary changes, which provided opportunities for building larger and more complex software systems. This increased potentiality was soon followed by the realization that software is difficult to deliver on time, within the available budget and with the required quality factors such as reliability, stability and adaptability. To cope with this so-called software crisis an engineering approach to software development was proposed.

Many different attempts, ranging from improved programming languages to CASE tools, have been carried out during the last three decades to tackle the problems in software engineering that directly or indirectly lead to the symptoms of the software crisis. In the last decade, software architecture has gained a wide popularity as a fundamental concept in software engineering to support software quality factors. Software architecture embodies the overall structure of the system and likewise has a substantial impact on the quality aspects of the whole software system. Notwithstanding these various attempts developing high quality software systems still remains a difficult task.

To grasp the essence of software engineering and understand its inherent problems, this thesis provides a thorough and critical analysis of software engineering from abroad perspective. To this aim, software engineering is considered as a problem solving process whereby software solutions are produced for given technical problems. To explicitly reason about the concepts of problem solving, this thesis provides a model for problem solving that may be used for analyzing various problem-solving activities. In this thesis, this model is used for analyzing problem solving in software engineering and comparing it with the more mature problem solving disciplines of philosophy and traditional engineering, such as electrical engineering, mechanical engineering, civil engineering and chemical engineering. This conceptual and comparative analysis has resulted in a set of useful lessons and concepts that are essential for providing high-quality software but notably are missing in current software engineering practices.

A basic concept that is derived from our analysis process that may be essential for software engineering, is the concept of synthesis. Synthesis is a well-known problem solving process that is broadly and successfully applied in the traditional engineering disciplines. It includes explicit processes for technical problem analysis, solution domain analysis and alternative space analysis. In the technical problem analysis process, technical problems are identified and structured into loosely coupled sub-problems that are first independently solved and later integrated in the overall solution. In the solution domain analysis process, solution abstractions are extracted from the corresponding solution domains. In the alternative space analysis process different alternative solutions are searched and evaluated against explicit quality criteria.

In current software engineering practices the synthesis concept is not known and the three processes are not fully integrated. Since synthesis is a useful concept in mature problem solving it is worthwhile to integrate this in software engineering.

This thesis focuses on the software architecture design phase and attempts to improve the understanding on this subject by classifying and evaluating the current state-of-the-art software architecture design approaches. It appears that these approaches derive solution abstractions basically from the requirement specifications and the management of design alternatives is an implicit process. This causes a number of problems such as the difficulty in finding stable abstractions, difficulty in leveraging the architecture boundaries and poor semantics of the architectural components.

To address the problems of the state-of-the-art, the concept of synthesis is applied to software architecture design, resulting in a novel approach that we termed synthesis based software architecture design. In this approach, the architectural abstractions are derived from the solution domains and the design alternatives are explicitly depicted and managed. This approach is illustrated with the design of an atomic transaction architecture for a distributed car dealer information system.

The architecture design can be realized by applying object-oriented analysis and design methods in which a set of heuristic rules are provided to guide software engineers to analyze, design and implement object-oriented software systems. This thesis introduces a new formalism, called design algebra, which provides techniques for explicitly depicting the set of architecture implementation alternatives, prioritizing these alternatives and selecting these based on quality factors. The techniques represented by design algebra can be integrated with the current object oriented analysis and design methods and have been implemented as a set of tools.

Get it here.

There are also some summaries of Synthesis-Based Software Architecture Design in the form of chapters available here and here

_

Monday, December 10, 2007

ASP.NET 3.5 Extensions Preview Updated Release Available

The ASP.NET 3.5 Extensions Preview is a preview of new features being added to ASP.NET 3.5 and ADO.NET in Visual Studio 2008.

Overview from MSDN Site
The ASP.NET 3.5 Extensions Preview is a preview of new functionality being added to ASP.NET 3.5 and ADO.NET. The release includes an ASP.NET MVC, ASP.NET Dynamic Data, Silverlight controls for ASP.NET, ADO.NET Data Services, Entity Framework runtime, and new features for ASP.NET AJAX.

For some good links to Quick Starts, videos, forums, and samples, check out Brad's blogs here and here.

Download the ASP.NET 3.5 Extensions Preview here.
_

Sunday, December 09, 2007

The New Iteration: XAML transforms the collaboration between Designers and Developers

A new white paper has been released on windowsclient.net, "The New Iteration: How XAML transforms the collaboration between Designers and Developers in Windows Presentation Foundation."

It is a very cool white paper that explains how Blend and Visual Studio 2008 bring a new iteration of development into the process made up of designers and developers using XAML. It is definately worth checking out.

Read it on line here.

Download the PDF here.
_

Visual Studio 2008 Linq Samples and the Sample Query Explorer

If you haven't had the chance to check out the linq Samples that come with Visual Studio 2008, I'd suggest you do. It is a great way to get familiar with the linq syntax. Microsoft has included a Sample Query Explorer that allows you to see the code and the results of the code. It also organizes the examples based on attributes in the code.

They are located at:
C:\Program Files\Microsoft Visual Studio 9.0\Samples\1033

I have provided 2 screen shots below.

The Code:


Click here for a larger image.

The Sample Query Explorer:


Click here for a larger image.

Thursday, December 06, 2007

Microsofts Volta: Web Development Using Only the Materials in the Room

Overview from the Volta site:
The Volta technology preview is a developer toolset that enables you to build multi-tier web applications by applying familiar techniques and patterns. First, design and build your application as a .NET client application, then assign the portions of the application to run on the server and the client tiers late in the development process. The compiler creates cross-browser JavaScript for the client tier, web services for the server tier, and communication, serialization, synchronization, security, and other boilerplate code to tie the tiers together.

Developers can target either web browsers or the CLR as clients and Volta handles the complexities of tier-splitting for you. Volta comprises tools such as end-to-end profiling to make architectural refactoring and optimization simple and quick. In effect, Volta offers a best-effort experience in multiple environments without any changes to the application.

Check it out here. BUT before you do, check out Arnon's Blog, and find out why Volta == Stupid or Not so Bright.
_

Monday, December 03, 2007

Documenting Software Architectures: 4+1, Views and Beyond, Viewpoints and Perspectives, and Book Links

I am currently in the middle of implementing a process repository on my current assignment. Most of the material I am using is copyright protected, so I cannot publish it. I have created some supporting material that is simply links to material so I can post them. I have cut and pasted the results of the Architectural Documentation references below.

The “4+1” View Model of Software Architecture

Paper

Article

Views and Beyond (V&B)

Web Site

Papers

Viewpoints and Perspectives

Web Site

Papers, Articles, and Presentations

Suggested Books on Documenting Software Architecture





Documenting Software Architectures: Views and Beyond by Paul Clements, Felix Bachmann, Len Bass, and David Garlan

The Object Primer 3rd Edition by Scott W. Ambler


Software Architecture Links: ABC, QAWs, ADD, ATAM, CBAM, ARID, and Books

I am currently in the middle of implementing a process repository on my current assignment. Most of the material I am using is copyright protected, so I cannot publish it. I have created some supporting material that is simply links to material so I can post them. I have cut and pasted the results below.

The Architecture Business Cycle

Web Site

Paper

Article

Software Architecture Life-Cycle Integration

Papers

Article

Presentation

Quality Attribute Workshops

Web Site

Papers

Presentation

Attribute-Driven Design (ADD)

Web Site

Papers

Architecture Tradeoff Analysis Method (ATAM)

Web Site

Papers

Article

Cost-Benefit Analysis Method (CBAM)

Web Site

Papers

Presentation

Active Reviews for Intermediate Designs (ARID)

Web Site

Papers

Suggested Books on Software Architecture


Evaluating Software Architectures: Methods and Case Studies

by Paul Clements, Rick Kazman, and Mark Klein

Pattern-Oriented Software Architecture Volume 1: A System of Patterns

by Frank Buschmann, Regine Meunier, Hans Rohnert, and Peter Sommerlad

Documenting Software Architectures: Views and Beyond
by Paul Clements, Felix Bachmann, Len Bass, and David Garlan