MVC Design Pattern with DOS Batch Files!

I’ve been speechless for some moment just before this blog comes up. In the unlimited world of programming languages, I’ve met DoD (DOS on Dope). It despises Ruby on Rails, .NET, PHP, or any of those fancy web frameworks and give you an web site with MVC design pattern just using DOS. Amazing work!

Surt Framework

Has been three years since I started studies on advanced way to start software projects. This time gave me some authority on framework design using modern methodologies and simples technology that works!

I’ve been usin this research and some of the past projects I’ve done and now it became mature and I hope I can share it. Take a look at this page. It talks about what it is, technologies and some of methodology I use. I hope to increment details as the time goes on.

I’m so happy because I had migrated one poor enterprise software to a highly structure one, by changing usability, patterns, layers in few weeks working alone. Badly saying, migrating some 20 files (lists, froms, data screens) with lots of complexity to 50 files with simplicity, good usability, navigation, ajax, SOA Services. Users were amazed and they don’t know I did much more, with less people, no error, and the system works best.

Contract-First using a custom DSL

Has been while since my last post.  There’s nothing easy about doing consulting and keep researching. The fact is, I was misplaced on contract first approach and I know I’ll put forward some conclusions.

  1. Contract-first approach demands strong organization and standardization.
  2. You can’t count on off-the-shelf tools.  You likely develop your own Domain Specific language.
  3. I left off-the-shelf code generation tool (I’ll not post it’s name in this case) for Industry Standards. Last approach was about taking tables structure and give life to application by generating all necessary files.  I was too coupled to the database platform. Different database versions & vendors, operation systems used to gave a lot of headaches. By Tomas Erl literature I was doing a negatively case of coupling. I started to live all the promisses bad dreams by keep going on this approach. By the next image you can conclude that my code generation tool was really coupling to many different vendors technology, from the source (tables) to the engine (code generation framework) to the assets (text templates).

    DSL Framework Vision

  4. I Start work with XML Schema Industry standard. It was need good ideas to be organized and produce high quality code. It increase the need for methodology and standardization.
    The economies of reuse was increased because it became a flexible structure.

    Code Generation Framework Vision based on Industry Standards

    Code Generation Framework Vision based on Industry Standards

Change to Industry Standards was a good thing because it is wisdom and experienced approach recommendation  from serious institutions which researches are solid results that doesn’t keep changing every year as when we are based on technology platform which we start to accompany their bugs, different versions and releases of trial and error.

Achieving high productivity inside environments is important to understand and improve process. Build a Dialect language or Domain Specific Language based on industry standards instead on technology platform will easy lot of implementation pain as meaning of control but also will demand most talent engineering to help out on conceptions. It is not a easy path but has no better ROI.

References

  • Software Product Lines: Practices and Patterns – Chapter 1,4 – Paul Clements and Linda Northrop/2001
  • Software Engineering (7th Edition) – Chapter 18 – Ian Sommerville/2004
  • Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools – Chapter 2,7,10,11,14,15 – by Jack Greenfield, Keith Short, Steve Cook, and Stuart Kent (Paperback – Aug. 16, 2004)
  • Service-Oriented Architecture (SOA): Concepts, Technology, and Design – Chapter 10,11,14,15 – Thomas Erl/2005
  • SOA Principles of Service Design – Chapter 6,7 - Thomas Erl/ 2007
  • Domain Specifc Languages – Martin Fowler -http://www.martinfowler.com/bliki/DomainSpecificLanguage.html (at 06/2010)

Wireframing is not prototyping

Quplog’s post talks something interesting about what I’m dealing with these days. Loads of new application pretending to be a mix of prototype and wireframing tool are ruining some viewpoints.

I’ve seen some Microsoft SketchFlow users claiming they are doing wireframe when actually they are working in prototype. In fact, they were just wasting time. Concepts differ, have look at:

Wikipedia defines website wireframes as follows:

“A website wireframe is a basic visual guide used in interface design to suggest the structure of a website and relationships between its pages.”

http://en.wikipedia.org/wiki/Website_wireframe

Prototyping, on the other hand, gets the following summary:

“The conventional purpose of a prototype is to allow users of the software to evaluate developers’ proposals for the design of the eventual product by actually trying them out”
http://en.wikipedia.org/wiki/Software_prototyping

Behavior and visuals indeed has different audiences to attend. Software prototyping is about evaluation, testing, verification, and function. Not wireframing. And doesn’t matter whether you’re working on desktop or web application. If you starting a project with a powerful tool which can deliver code when you’re still wireframing, you’ll have to think about framework, logical and physical structure, components and other hell things which you shouldn’t care at that moment. If you do so, please, consider to have some training and education at the subject.

Anyway, these are 18 tools on the subject. I use Balamiq, because it is simple, nice, productive and license is affordable cheap.

Automated Software Design Research Group

Lean software development demands too much automation. Of course, the idea is to make more with less and have higher quality until delivering software functionalities most important for the business. This path is hard, really hard. You’ll probably have to rethink all your gained knowledge and start developed a solid wisdom through research. Constantly looking new ways to do what you do today and improve what you think you need not.

Not every IT company will really benefit of Lean Thinking. Such style demand too much research and intellectual work which results will came along the way. You need to keep traces so to really understand the intangible results. This is expense, and you may give up in the very beginning.

I believe that the worse thing still the daily operation activities along low budget and unprepared managerial staff. People are too involved with day-to-day problems and stop everything aiming rethink their work in such advanced way can be a laborious process that can simply never happen!

Any way… I would like to present the Automated Software Design Research Group. This group explores new ways to develop software. They have a lot of academic papers (Dissertations and Theses) which can simply be applied to your life. Even if you not in Lean or Agile environment.
See ya..

Follow

Get every new post delivered to your Inbox.