preload
May 29

When starting developing a new mobile app it is always tempting to jump directly to your favourite IDE and start developing, but do yourself a favour and spend a few minutes planing what you are going to develop. This will most likely save you a lot of time later on.

I’m creating a very simple Windows Phone 7 app called PinCodeKeeper and as the name states this application will keep your pin codes.

Sketching

It’s always a good idea to start sketching the wire frames for your application. I like to just make some easy and not very detailed wire frames covering the most important parts of the application. The most important at this phase is to identify the functionality you want the app to contain. These sketches are also very good to use when discussing the app with potential users/customers.

Continue reading »

Tagged with:
Jan 21

As a solution architect I often get thrown into projects with a lot of legacy code and little or outdated documentation. My mandate is to suggest architectural changes that will reduce maintenance costs and ease further development. The first thing I focus on is to get an overview of the system and how it is structured with modules, components and classes. I have found that the best way to get this overview is to create a light weight UML class diagram. In this post I will show you how I prefer to create light weight UML class diagrams.

To start with I will explain what I mean by light weight UML class diagrams.

I want the diagrams to be easy to read and understand and I try to find the balance where the diagram is so light that non-technical persons (like product owner and project manager) understands it, but still it is technical enough so technical persons (like developers and architects) finds it useful.

I only use a few of the UML class diagram symbols: Continue reading »

Tagged with:
Apr 13

pnp_logoI recently downloaded and read the Mobile Architecture Pocket Guide by Microsoft patterns & practices. The purpose of this guide is to improve the effectiveness when building mobile applications on the Microsoft Platform. The primary audience for this guide is solution architects and development leads.

Chapter overview (quoted from the book)

• Chapter 1, “Mobile Application Architecture,” provides general design guidelines for a mobile application, explains the key attributes, discusses the use of layers, provides guidelines for performance, security, and deployment, and lists the key patterns and technology considerations.
• Chapter 2, “Architecture and Design Guidelines,” helps you to understand the concepts of software architecture, learn the key design principles for software architecture, and provides the guidelines for the key attributes of software architecture.
• Chapter 3, “Presentation Layer Guidelines,” helps you to understand how the presentation layer fits into the typical application architecture, learn about the components of the presentation layer, learn how to design these components, and understand the common issues faced when designing a presentation layer. It also contains key guidelines for designing a presentation layer, and lists the key patterns and technology considerations.
• Chapter 4, “Business Layers Guidelines,” helps you to understand how the business layer fits into the typical application architecture, learn about the components of the business layer, learn how to design these components, and understand common issues faced when designing a business layer. It also contains key guidelines for designing the business layer, and lists the key patterns and technology considerations.
• Chapter 5, “Data Access Layer Guidelines,” helps you top understand how the data layer fits into the typical application architecture, learn about the components of the data layer, learn how to design these components, and understand the common issues faced when designing a data layer. It also contains key guidelines for designing a data layer, and lists the key patterns and technology considerations.
• Chapter 6, “Service Layer Guidelines,” helps you to understand how the service layer fits into the typical application architecture, learn about the components of the service layer, learn how to design these components, and understand common issues faced when designing a service layer. It also contains key guidelines for designing a service layer, and lists the key patterns and technology considerations.
• Chapter 7, “Communication Guidelines,” helps you to learn the guidelines for designing a communication approach, and understand the ways in which components communicate with each other. It will also help you to learn the interoperability, performance, and security considerations for choosing a communication approach, and the communication technology choices available.
• Chapter 8, “Deployment Patterns,” helps you to learn the key factors that influence deployment choices, and contains recommendations for choosing a deployment pattern. It also helps you to understand the effect of deployment strategy on performance, security, and other quality attributes, and learn common deployment patterns.

Continue reading »

Tagged with:
Subscribe to my feeds Follow me on Twitter
DZone MVB