系统开发技术栈

https://github.com/unruledboy/DevelopmentStack


Overflow Stack

The overflow stack family (System Development Stack, Web Front End Stack, Database Stack, .NET Stack etc.): http://overflowstack.github.io

DevelopmentStack

System development basics, analysis, project/planning, documentation, wireframe/mockup, design/modeling, implementation, quality, management, build, testing, deployment, maintenance, troubleshooting, learning

Image of System Development Stack

What and why?

Have you ever wondered:

  • what system development really includes?
  • how many do I possess?

I could not find a really comprehensive diagram that shows the system development stack, so I come up with my own version.

There might be issues here and there, like the category, the individual ones, but the beautity is you can modify it as you want.

You can have a graphical preview here (use mouse to move / zoom):

https://rawgit.com/unruledboy/DevelopmentStack/master/ux/DevelopmentStack.htm

The Development Stack

  • System Development
    • Stacks
    • Basics
      • Software Development Life Cycle (SDLC)
        • Initiation
        • System Concept Development
        • Planning
        • Requirements Analysis
        • Design
        • Development
        • Integration & Test
        • Implementation
        • Operations & Maintenance
        • Disposition
      • Environments
        • Operation Systems (OS)
          • Windows
          • Linux
          • Mac OS
          • Unix
          • BSD
          • DOS ;-)
        • Desktop
          • Graphical User Interface (GUI)
          • Console User Interface (CUI)
        • Mobile
          • Android
          • iOS
          • Windows Phone (WP)
          • BlackBerry ;-)
          • Symbian ;-)
          • Windows Mobile (WM) ;-)
        • Web
          • Front End
          • Cloud
            • Service Models
              • System/Software as a Service (SaaS)
              • Platform as a Service (PaaS)
              • Infrastructure as a Service (IaaS)
              • Desktop as a Service (DaaS)
              • Backend as a Service (BaaS)
            • Types
              • Private Cloud
              • Public Cloud
                • Providers
                  • Microsoft Azure
                  • Amazon Web Services (AWS)
                  • Google Cloud
              • Hybrid Cloud
        • Platforms
      • Common Concepts
        • Application Programming Interface (API)
        • Component
          • Library
          • Plug-in
          • Extension
          • Assembly
      • Architecture
        • Standalone
          • Desktop app
          • Mobile app
        • Multi Layers / n-Tiers
          • Frontend / User Interface (UI)
          • Backend
          • Database
      • Software Types
        • Open source
          • Licenses
            • GNU General Public License (GPL)
            • GNU Lesser General Public License (LGPL)
            • Apache License
            • MIT License
            • Mozilla Public License
            • Microsoft Public License (MS-PL)
        • Closed source / Freeware
        • Commercial
      • Methodologies
        • Waterfall
        • Agile
          • Scrum
            • Daily Scrum (Standup)
            • Backlog
            • Sprint
      • Standards
        • Coding Standard
        • Documentation Standard
        • Release Standard
      • Protocols
        • HTTP
      • Formats
        • XML
        • JSON
        • MIME
    • Project / Planning
      • Target
        • Resource
        • Time
      • Tools
        • Microsoft Project
    • Analysis
      • Methodologies
        • Object Oriented Analysis (OOA)
      • Steps
        • Scope Defintion
        • Problem Analsysis
        • Requirement Analysis
        • Logical Design
        • Decision Analysis
      • Target
        • Feasibility
    • Documentation
      • Specifications
        • Software Requirement Specification (SRS)
        • Software Architecture Description
    • Design / Modeling
      • Primitives
        • Wireframe
          • Functional skeleton design
        • Mockup
          • GUI design
        • Proof of Concept (POC)
          • Initial functional R&D
        • Prototype
          • Minimal functioning design
      • Concepts
        • Object Oriented Programming (OOP)
        • Object Oriented Design (OOD)
        • Complex Design
        • Simplistic Design
      • Thoughts
        • Don't Repeat Yourself (DRY)
        • Keep It Simple Stupid (KISS)
        • You Aren't Gonna Need It (YAGNI)
      • S.O.L.I.D.
        • Single Responsibility Principle (SRP)
        • Open/Closed Principle (OCP)
        • Liskov Subsistitution Principle (LSP)
        • Interface Segration Principle (ISP)
        • Dependency Inversion Principle (DIP)
      • Design Patterns
        • GoF 23
      • Tools
        • Functional
          • Visio
          • UML
            • Rational Rose
        • Database
          • ER Studio
          • ERwin
    • Development
    • Quality
      • Code Review / Peer Review
        • Formal
        • Lightweight
          • Over-the-shoulder
          • Email pass-around
          • Pair programming
          • Tool-assisted
      • Quality Measurement
        • Robustness
        • Efficiency
        • Reliability
          • Correctness
          • Availability
        • Security
        • Adequacy
        • Maintainability
        • Learnability
        • Readability
        • Extensibility
        • Testability
        • Portability
        • Usability
      • Fault tolerance
      • User Experience (UX)
      • Security
        • SSL
        • Authentication
        • Authorization
    • Management
      • Source Code Control
        • Basics
          • Team Foundation Server (TFS)
          • Git
          • Subversion (SVN)
          • Concurrent Versions System (CVS)
          • Mercurial
          • Visual Source Safe ;-)
        • Cloud Hosted
          • GitHub
          • Bitbucket
          • CodePlex
          • SourceForge ;-)
        • Escrow
      • Bug
        • JIRA
        • Bugzilla
      • Documents
        • Confluence
    • Build
      • Manual Compilation
      • Build Automation
        • Daily Build
        • Nightly Build
    • Testing
      • Concepts
        • Continuous Integration (CI)
        • Dry Run
      • Integration Tools
        • Team City
      • Testing Levels
        • Unit Testing
        • Integration Test
          • Big bang
          • Top-down
          • Bottom-up
          • Sandwich
        • Performance Testing
          • Load Testing
          • Stress Testing
          • Spike Testing
          • Configuration Testing
        • Acceptance Testing
          • User Acceptance Testing (UAT)
          • Operational Acceptance Testing
        • System Testing
      • Testing Methods (the box approach)
        • White-box Testing / Clear-box Testing / Glass-box Testing
          • Unit Testing
          • Integration Testing
          • Regression Testing
        • Black-box Testing
          • Smoke Testing
          • Sanity Testing
          • Regression Testing
          • Usability Testing
        • Gray-box Testing
    • Deployment / Release / Rollout
      • Concepts
        • Release Management
        • Continuous Deployment (CD)
      • Tools
        • Octopus Deploy
    • Maintenance
    • Troubleshooting
    • Learning

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嵌入式软件开发技术栈通常包括以下方面: 1. 编程语言:常用的嵌入式软件开发语言包括C、C++和汇编语言。C语言是最常用的嵌入式开发语言,因为它具有高效的执行速度和低级别的硬件访问能力。 2. 操作系统:嵌入式系统通常需要运行在实时操作系统(RTOS)或者裸机环境下。常见的RTOS包括FreeRTOS、ThreadX和VxWorks等,它们提供了任务调度、内存管理和驱动支持等功能。 3. 微控制器和硬件平台:嵌入式软件开发需要选择适合的微控制器或硬件平台。常见的微控制器包括ARM Cortex-M系列和PIC系列等,而硬件平台可以是Arduino、Raspberry Pi等。 4. 驱动开发:嵌入式软件通常需要与外设进行交互,如传感器、执行器和通信设备等。驱动开发涉及到硬件接口层的编程,需要了解相关的通信协议和接口标准。 5. 嵌入式系统架构:了解嵌入式系统的架构是开发嵌入式软件的基础。这包括了解处理器架构、内存管理单元(MMU)和外设的工作原理等。 6. 调试和测试:嵌入式软件开发需要进行调试和测试,以确保软件的正确性和稳定性。这包括使用调试工具、代码覆盖率工具和性能分析工具等。 7. 版本控制和团队协作:嵌入式软件开发通常是团队协作的工作,使用版本控制系统(如Git)可以方便团队成员之间的代码管理和协作。 请注意,以上只是嵌入式软件开发技术栈的一些方面,具体的技术栈可能会根据项目需求和行业特点有所不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值