Real World Software Architecture

Real World Software Architecture is dedicated to providing information and experiences from the field of Software Architecture.



Subscribe with RSS or ATOM Add to Google

Links

  • Home Page
  • Real World Software Process Engineering
  • Suggested Reading
  • .NET Dev and Arch Collection
  • SEI Essays on SA
  • Software Architecture
  • Bredemeyer
  • wwisa
  • Product Line Engineering
  • PLEES
  • Software Product Lines
  • MSDN Architecture Center
  • patterns & practices






Thursday, February 26, 2015

Sparx Systems Releases Enterprise Architect 12

There is only one tool I have open more than Xcode, Visual Studio, Eclipse, and Android Studio, that tool is Sparx Enterprise Architect. Below is their recent announcement of Enterprise Architect 12. There is no tool on the market that compares to Sparx Enterprise Architect at such a great price. If you have never checked it out, do yourself a favor and check it out now!!

Continuing a long term commitment to the development, extension and refinement of its flagship UML based modeling tool, Enterprise Architect, Sparx Systems is proud to announce the official release of Enterprise Architect 12.

As one of the most feature rich and exciting product releases to date, Enterprise Architect 12 is the result of extensive community consultation, in house innovation and overall optimization. It includes new and unique tools that tightly integrate data models, wire-frames, information meta-models, XSD, XML, documents and code in a robust and collaborative environment. Revitalized user interface themes provide a compelling and sleek UI that is both engaging and stimulating.

Registered users can download Enterprise Architect 12 from the registered users download page.

Take a look at some of the major new features in Enterprise Architect 12 at: www.sparxsystems.com/ea12
Read through the full list of changes in the: release notes

Some release highlights:
( Use the jump list below to go directly to your area of interest )

User Interface Theming: Significant enhancements to the look and feel of Enterprise Architect


Click here for larger image 

Portals Window: An all new tool to provide rapid access to common commands, searches, recent documents, user interface theming, workspace layouts and more

Navigator Bar: An all new toolbar designed to provide better control and management of your current context within the model

Database Engineering Toolset: Database Builder view added to provide a database centric view of your Data Model


Click here for larger image

GUI Wireframing: All new fully featured and comprehensive Wireframing library for modeling common devices and user interfaces


Click here for larger image

Schema Composer: A new powerful toolset to rapidly design and build XSD and similar data definitions from a model subset

Diagramming: Many improvements to the behavior, drawing and navigation of diagrams have been added. Improvements include: New Drawing Styles, Diagram Quick Keys, Shape Script enhancements and more

Redesigned Property Dialogs: The Object Properties dialog has been updated to bring the focus to the name and notes of any element

Start Page Updated: A clearer and simpler jumping off point for models and portals

Main Menu: Changes to simplify and focus access to tools

XSLT Debugging: Build, debug and execute XSL Transforms


Click here for larger image

XML Editing and Validation: Improved XML/XSD editing, navigation and validation

Document Handling: (Enterprise Architect as 'Default Program') Load supported file types by default into Enterprise Architect to provide a better editing and viewing experience

XMI Merge: Added support for merging multiple XMI 1.1 files originating from the same baseline into a model

MDG Link for Eclipse and MDG Link for Microsoft Visual Studio: Now included with Enterprise Architect Professional and above


Click here for larger image

Project Management Profile: and new Risk Taxonomy Profile

Reporting & Document Generation: New tweaks and refinements help you build the best reports yet

BPMN: Many updates, conformance improvements and diagramming improvements

Plus added support for multiple information meta-models such as:

  • UN/CEFACT
  • UBL
  • CIM
  • NIEM

Further changes include Code Engineering, Execution Analysis, ArcGIS, ArchiMate, GML, Specification Manager, XMI, Version Control, Locking and more.

posted by tadanderson at 10:57 AM 0 comments

Wednesday, February 18, 2015

Learning Swift Programming Book Review

I started programming with Swift the first day it was available. Back then all we had available was Apple's The Swift Programming Language, and Using Swift with Cocoa and Objective-C eBooks. I got in a few weeks of heads down work before the plug was pulled on our project.

When the project was shut down I was handed a project that required 100% of my attention so I was forced to shut down Xcode for a few months. That was a blessing and a curse. Curse because I don't remember anything I was doing, and a blessing because now there are several books available for getting started with Swift.

I am reading 4 books on Swift before moving on to iOS. This might seem like over kill since I have spent a lot of time in Objective-C, but this is what I do to learn when I am trying to learn something I am not using at work. I am not that quick or smart, so I need to repeatedly pound stuff into my head for it to stick. I have a real world app I will be coding after I finish the books.

Although I started all 4 books at the same time this is the one that I started running away with and finished first. The reason for that is this one is the least robust and contains straight to the point content. No filler at all. Below are the chapters included in the book.

Introduction
1. Getting Your Feet Wet
2. Collecting Data
3. Making Things Happen: Functions
4. Structuring Code: Enums, Structs, and Classes
5. Making a Game
6. Reusable Code: Closures
7. Subscripts and Advanced Operators
8. Protocols
9. Becoming Flexible with Generics
10. Games with SpriteKit
11. Games with SceneKit
12. Apps with UIKit

My favorite thing about the book is the concise, yet thorough, explanation of language features. The author also has a great feel for which topics need more attention. For example, Closures, Generics, and Protocols get a whole chapter dedicated to themselves.

My biggest gripe with the book is not a legitimate one, because it is actually with the author, and complaining about it would not be right. I thought it may be an issue when I read at the beginning of the Introduction that the last thing the author would provide in the Introduction is where we can find the code. Where to find the code is not in the Introduction, or any where else that I can find.

Looking for it I eventually found my way to a cloud implementation of a Swift programming environment that was broken. That was where the author said he promised to house all the examples from the book. I saw the promise on one of the sites that came up in my search for the code. I have no doubt, that he eventually will get it working. Regretfully, I could not retrace my tracks back to it. Although I did find some other online Swift compilers.

So my big gripe is that the author is doing too much for the community. He needs to slow down, take a small break, clean up his web presence, and then get back to full on teaching with a less outlets. The Skip Wilson videos are great, but trying to find the code led me all over the place. I also couldn't find an easy way to ping the author.

Like I said at the beginning of the explanation of my only gripe, my issue is not with the book. It's not really against the author either, I really appreciate all his contributions to the community. He does a great job. I just know I have seen people 1 star an Amazon review simply because a book came with no code.

This book is the place to start with Swift if you have prior programming experience. The author's writing style is great so the book is a nice short cover to cover read, but it also makes an excellent reference. Looking up a topic you will find examples easy enough to not have to get your head around the domain's context, but complex enough to show the feature in detail.

The reader for this book is the experienced programmer that wants a quick look at what Swift has to offer. It is not a book about how to build applications, although the author uses a few apps in his examples, it is a book about Swift. If you want a swift introduction to Swift, this is a great place to start.

Learning Swift Programming

Learning Swift Programming

posted by tadanderson at 11:34 AM 1 comments

Thursday, February 05, 2015

Android Security Internals: An In-Depth Guide to Android's Security Architecture Book Review

This is the first security book I have read on Android that was not primarily about hacking the Android platform. This book completely covers all the tools available to the Android software architects and developers.

Instead of showing us how to root the device at the beginning of the book and then showing us exploits and vulnerabilities throughout the rest of it, he covers how root access is achieved in different types of Android builds, and different ways get Root Access, but late in the book.

The book starts out with an overview of the Android security model, and then each chapter is dedicated to a specific feature of Android's security model. I have listed the chapters below.

Chapter 1: Android's Security Model
Chapter 2: Permissions
Chapter 3: Package Management
Chapter 4: User Management
Chapter 5: Cryptographic Providers
Chapter 6: Network Security and PKI
Chapter 7: Credential Storage
Chapter 8: Online Account Management
Chapter 9: Enterprise Security
Chapter 10: Device Security
Chapter 11: NFC and Secure Elements
Chapter 12: SELinux
Chapter 13: System Updates and Root Access

Although the chapter titles give you a pretty good idea of what is in them, I have listed some of the chapters below along with the topics covered that I liked best.

Chapter 2: Permissions covers The Nature of Permissions, Requesting Permissions, Permission Management, Permission Protection Levels, Permission Assignment, Permission Enforcement, System Permissions, Shared User ID, Custom Permissions, Public and Private Components, Activity and Service Permissions, Broadcast Permissions, Content Provider Permissions, and Pending Intents.

Chapter 3: Package Management covers Android Application Package Format, Code signing, APK Install Process, and Package Verification.

Chapter 4: User Management covers, Multi-User Support Overview, Types of Users, User Management, User Metadata, Per-User Application Management, External Storage, and Other Multi-User Features.

Chapter 5: Cryptographic Providers covers JCA Provider Architecture, JCA Engine Classes, Android JCA Providers, and Using a Custom Provider.

Chapter 6: Network Security and PKI covers PKI and SSL Overview, JSSE Introduction, and Android JSSE Implementation.

Chapter 8: Online Account Management covers Android Account Management Overview, Account Management Implementation, and Google Accounts Support.

Chapter 10: Device Security covers Controlling OS Boot-Up and Installation, Verified Boot, Disk Encryption, Screen Security, Secure USB Debugging, and Android Backup.

Chapter 11: NFC and Secure Elements covers NFC Overview, Android NFC Support, Secure Elements, and Software Card Emulation.

There are some books I feel every Android developer should read and this book is definitely one of them. Every Android developer should have this book on their bookshelf. Although, I do not feel it is a beginner's book. You should have a working knowledge of Android programming before attempting to read it, so don't start here, but make sure you eventually get here.

The author's writing style is great. He does an excellent job of covering complex topics in a way that makes them easy to understand. Diagrams, code snippets, and screen shots are used just at the right spots. This may seem stupid to mention, but after attempting to get value out of a book with 2 screenshots and 3 sentences on a page, you learn to appreciate when the learning tools are used right.

The book is not only a great cover to cover read, but it will also make a good reference. Chapter 1: "Android's Security Model" is available on the publisher's site which is a nice introduction to the book and the author's writing style. There is also a very detailed table of contents and the index available.

Amazon also has a lot of the book available for preview. Their preview includes some material from chapters other than chapter 1. You can also use the search on Amazon to see if a topic you are interested in is included.

Overall I found this book excellent. Admittedly, it was a very long read. I have been toting it around for months, but that is because so many things are covered, and they are covered in depth. I also enjoyed reading it, so it was worth the time and toting.


Android Security Internals: An In-Depth Guide to Android's Security Architecture

Android Security Internals: An In-Depth Guide to Android's Security Architecture

posted by tadanderson at 8:27 PM 0 comments

Previous Posts

  • DevOps: A Software Architect's Perspective Book Re...
  • Scaled Agile Framework (SAFe) LiveLessons Video Se...
  • Bulletproof Android: Practical Advice for Building...
  • Swift for Programmers Book Review
  • Security in Computing (5th Edition) Book Review
  • Swift in 24 Hours, Sams Teach Yourself Book Review
  • Sparx Systems Releases Enterprise Architect 12
  • Learning Swift Programming Book Review
  • Android Security Internals: An In-Depth Guide to A...
  • Adaptive Code via C#: Agile coding with design pat...



Archives

  • December 2005
  • January 2006
  • February 2006
  • March 2006
  • April 2006
  • June 2006
  • August 2006
  • October 2006
  • November 2006
  • December 2006
  • January 2007
  • February 2007
  • March 2007
  • April 2007
  • May 2007
  • June 2007
  • July 2007
  • August 2007
  • September 2007
  • October 2007
  • November 2007
  • December 2007
  • January 2008
  • February 2008
  • March 2008
  • April 2008
  • May 2008
  • June 2008
  • July 2008
  • August 2008
  • September 2008
  • October 2008
  • December 2008
  • January 2009
  • February 2009
  • March 2009
  • April 2009
  • May 2009
  • June 2009
  • July 2009
  • August 2009
  • September 2009
  • October 2009
  • November 2009
  • December 2009
  • January 2010
  • February 2010
  • March 2010
  • April 2010
  • May 2010
  • June 2010
  • August 2010
  • September 2010
  • October 2010
  • November 2010
  • December 2010
  • January 2011
  • February 2011
  • March 2011
  • April 2011
  • May 2011
  • June 2011
  • July 2011
  • August 2011
  • September 2011
  • October 2011
  • November 2011
  • December 2011
  • January 2012
  • February 2012
  • March 2012
  • April 2012
  • May 2012
  • June 2012
  • July 2012
  • August 2012
  • September 2012
  • October 2012
  • November 2012
  • December 2012
  • January 2013
  • February 2013
  • March 2013
  • April 2013
  • May 2013
  • June 2013
  • July 2013
  • August 2013
  • September 2013
  • October 2013
  • November 2013
  • December 2013
  • January 2014
  • February 2014
  • March 2014
  • April 2014
  • May 2014
  • June 2014
  • July 2014
  • August 2014
  • September 2014
  • October 2014
  • December 2014
  • February 2015
  • March 2015
  • April 2015
  • June 2015
  • July 2015
  • September 2015

Powered by Blogger