The Modern Developer’s Showcase Project
Technologist Career Management System
The Modern Developer Blog Website is all about the Professional Technologist’s Career Developer of the Art and the Science of Software Development.
The Selected Science of The Modern Developer is the Microsoft .NET Platform …
… The Art of the Modern Developer is Platform Independent
The Principles, Standards, Design Patterns and Processes are all about the Art of Software Development.
The TCMS Solution
Technologist Career Management System (TCMS)
– A Resource for the Modern Developer
The Overview
The Technologist Career Management System is an MVC 4 Web Application that evaluates a Technologist for their current state of professional development.
It presents the results based on a Technology Assessment that informs the Technologist of their current knowledge level and assigns a title based on the score received.
TCMS also can provide on-line resources to the Technologist for the areas of weakness such as Amazon books, training videos such as Pluralsight and DotNetVideos.Net.
The system will also recommend other on-line resources that are context sensitive within the tested arenas.
The complete application is a demonstration of all the Best Practices in Object Oriented Programming documented on the Modern Developers Blog and Information Website.
The Design Architecture will be available for Modern Developers to study. The SQL Data Model and the Data Abstraction Layer (DAL), using Entity Framework, will be available for inspection as well.
The entire Architect, Design, Develop, Quality Assurance and Deployment process will be available on The Modern Developer.
The TCMS project will be created using the following processes and conventions:
+The TCMS Methodology
- Modified Agile Methodology
- An Epic User Story
- Child User Stories for the Defined Functionality
- Grandchildren User Stories for each of the Architecture Sub-systems
- These stories will define the Acceptance Criteria
- The defined criteria will be used for the Sprint Tasks
- Domain Driven Design
- The Domain Entities will be created
- Epic User Story Representation
- Child User Stories Domain Entities
- The Required Composites and Value Object s for the grandchild User Stories
- Acceptance Test Driven Development (ATDD)
- A Mapping of the User Story Acceptance Criteria within the SpecFlow Feature File
- User Story to Feature Story
- User Story Criteria to SpecFlow Scenarios
- A Mapping of the User Story Acceptance Criteria within the SpecFlow Feature File
- The Domain Entities will be created
- Behavior Driven Development using SpecFlow
- All Tests use the Gherkin Language syntax: GWT
- Given I have something to do
- When I do that something
- Then I will receive a known result to validate
- All Tests use the Gherkin Language syntax: GWT
- ATDD Test Process as Yellow, Red and Green
All Concrete implantation Software Entities will be created within the Testing Assembly using the current Test Class for the Assigned Task development- Yellow – Initial Gherkin code of Inconclusive
- Red – The inconclusive code is replaced by a failing test to indicate that the Yellow test has been certified as the correct interpretation of the Business User Story Acceptance criteria
- The Test has been defined from the Acceptance criteria scenario
- Yellow defines the status of “Defined” and available for display on a Website for validation of the Development intent
- Green – An ATDD implementation of the highest level of abstraction test within the TDD environment that correlates to the ATDD Acceptance criteria scenario
- Test Driven Development (TDD)
- Test First Development of all Task Assignments from the ATDD Scenarios
- Red / Green / Refactoring
- Red – Create the Failing test to identify this test as not completed
- Green – Create the passing concrete implementation code with all Software Entities required within the current Test Class
- Yellow – Refactor the code to Modern Develop Best Practice Standards and Move to the Solution’s Project Assembly
- Red / Green / Refactoring
- Test First Development of all Task Assignments from the ATDD Scenarios
- The Gherkin Naming syntax for all Test Classes and Methods
- All Tests use the Gherkin Language syntax: GWT
- Given I have something to do
- When I do that something
- Then I will receive a known result to validate
- All Tests use the Gherkin Language syntax: GWT
- Methods will follow the AAA Implementation Format
- Arrange – All Dependencies require for that test and that test only
- Act – A single call to one Method in the Class Under Test
- Assert – Validation of all objects within the Act resulting Software Entity
- Test Class Helper Methods and Utilities
- Will be initially created within the current Test Class
- Encapsulated in a #Region section if unique to that Testing Class
- Will be moved to a Helper Utility Namespace within the Testing assembly if the functionality can be used across multiple Test Classes
- All Concrete Implementations will comply with The Modern Developer’s Standards
- Design Principles
- Code Standards
- Design Patterns
The Modified MVC Model:
The Application Architecture:
The Information Services Architecture:
Stay Tuned for Future Blogs on the Development Progress and Processes along with all the Code for the Demonstration of the Modern Developer’s Showcase TCMS Project
The following two tabs change content below.
I am a Principal Architect at Liquid Hub in the Philadelphia area specializing in Agile Practices as a Certified Scrum Master (CSM). I use Test Driven Development (TDD) and Acceptance Test Driven Development (ATDD) with Behavior Driven Development (BDD) as my bridge to Agile User Stories Acceptance Criteria in a Domain Driven Design (DDD) implementing true RESTful services
Latest posts by Brad Huett (see all)
- DevOps: A Bridge to Your DevOps Culture - March 25, 2016
- Embracing Test Driven Development (TDD) - March 25, 2016
- DevOps: Delivering Agile Projects - March 25, 2016