Intro to Software Engineering

I have been working on several projects and collaborating with different teams from different areas. Sometimes the leaders really frustrated me. They were always saying “can you finish it tonight? can you add a new feature? that is simple, you dont need to change a lot? just code it firstly, you can slightly modify it later….”. I would like to say it is a disaster for programmers when a PM never cares about the design things.

What can I do … what if there is no a clear requirements? I wrote! What if nobody can/wants make a specific UI logics design? I designed! What if others complaint about the HLD and DD? I modified! I am always comforting myself: I am a student! That’s a good opportunity to improve myself! But It’s necessary to learn the standard process to develop a software and development life cycle. That’s all about SOFTWARE ENGINEERING.

Resources

Software Engineering MIT : Software Engineering Concepts Laboratory in Software Engineering

Software Engineering on tutorialspoint Intro 2 Software Engineering on wikimedia

ZH: 山东大学Slides 哈工大Slides 桂电Slides

Introduction

Software engineering is an engineering branch associated with software system development.

SE-overview

Usually, Software development life cycle (SDLC) consists of 6 stages: Planing, defining, design, implementation, test, maintenance.

SDLC-overview

The well-known SDLC Waterfall Model:

Basic Outline

I plan to mainly focus on the software Designs: The output of software design process is design documentation, pseudo codes, detailed logic diagrams, process diagrams, and detailed description of all functional or non-functional requirements.

Table of Contents