Software Engineering. A Short Overview. Hans- Petter Halvorsen, M.Sc.



Similar documents
So#ware Development. Overview. Hans- Pe4er Halvorsen, M.Sc. h4p://home.hit.no/~hansha/?page=so#ware_development

Team Foundation Server

The So5ware Development Process (SDLC)

Create a Virtual Test Environment

So#ware Deployment. Hans- Pe4er Halvorsen, M.Sc. h4p://home.hit.no/~hansha/?page=so#ware_development

Source Code Control & Bugtracking

Software Documentation

Microsoft Modern ALM. Gilad Levy Baruch Frei

Introduction to Virtualization

Agile So6ware Development

HP ALM11 & MS VS/TFS2010

Application Lifecycle Management Using Visual Studio 2013 (SCRUM)

Cloud-based Data Logging, Monitoring and Analysis

h(p://home.hit.no/~hansha/?page=so3ware_development So3ware Maintenance Hans- Pe(er Halvorsen, M.Sc.

Sandesh Prasanna Kumar

Web Services. with Examples. Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics

Your guide to building great apps. Upgrade your skills and update your tools to create the next great app

ALM2013VS_ACC: Application Lifecycle Management Using Visual Studio 2013

Programming. Languages & Frameworks. Hans- Pe(er Halvorsen, M.Sc. h(p://home.hit.no/~hansha/?page=sodware_development

01. Introduction of Android

Experiences with ALM tools in Software Engineering course

Lab Inventory System. Label Writer Access Card with Barcode Barcode Reader. Hans- Pe(er Halvorsen, M.Sc.

Discovering Computers

Create Installa+on Packages in Visual Studio

How To Understand Software Quality

Software Testing Lifecycle

A small selection of s we have chosen to include to show some of our communication with the open source community and how this has proceeded.

Data Acquisition in LabVIEW

Velkommen til Tech Update Århus 13. april 2010

Database Communica/on in Visual Studio/C# using Web Services. Hans- Pe=er Halvorsen, M.Sc.

SOFTWARE UNIT 1 PART B C O M P U T E R T E C H N O L O G Y ( S 1 O B J A N D O B J 3-2)

Sviluppo soluzioni Open Source per il Cloud

Evolving in the global digital scenario. Politecnico di Torino

Synchronization with Microsoft Team Foundation Server 2010

SECURE BACKUP SYSTEM DESKTOP AND MOBILE-PHONE SECURE BACKUP SYSTEM HOSTED ON A STORAGE CLOUD

Integrating Team Foundation Server, Microsoft Test Manager and Coded UI Tests

ASP.NET. Web Programming. Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics

Tablets in Data Acquisition

Web. Programming. Hans- Pe0er Halvorsen, M.Sc. h0p://home.hit.no/~hansha/?page=sojware_development

Technical Design Document for Ramp!

Chapter 13: Program Development and Programming Languages

THE OPEN SOURCE DEVELOPER REPORT

Moving your development to the Cloud using Visual Studio Online

1) Testing of general knowledge 25%. Each right question counts 1. Each wrong counts 0.5. Empty

Additional details >>> HERE <<<

Hypervisor Software and Virtual Machines. Professor Howard Burpee SMCC Computer Technology Dept.

Nordic Master in Didactics of Mathematics

HP Application Lifecycle Management

Software Development In the Cloud Cloud management and ALM

Demand & Requirements Management Software Development QA & Test Management IT Operations & DevOps Change Management Agile, SAFe, Waterfall Support

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

Product Stack and Corporate Overview

Effective Team Development Using Microsoft Visual Studio Team System

Enhancing The ALM Experience

Software Quality Testing Course Material

Data Logging and Monitoring Pro. Hans-Petter Halvorsen, M.Sc.

Access Tropical Cloud Desktop from Any Device

DEFINITE AND INDEFINITE FORM

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

Development Testing for Agile Environments

SECTION 2 PROGRAMMING & DEVELOPMENT

AB Suite in the Application Lifecycle

Adopting Agile Approaches for the Enterprise

MANUAL TESTING. (Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn.?? New Batches Info

Do you know what makes NetSupport Manager so unique?

From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development

XenDesktop Workshop. Hva, Hvordan.? The best desktop virtualization solution is now even better

Azfar Bassir. Summary. Experience. Developer at SHFT

PowerPoint Presentation to Accompany. Chapter 5. System Software. Copyright 2014 Pearson Educa=on, Inc. Publishing as Pren=ce Hall

Registration at English translation

Mobile App Development

COPYRIGHT RESERVED TEAM MYSTERIOUS MANIACS HOME AUTOMATION via BLUETOOTH (Using ANDROID PLATFORM)

Making Mobile a Reality

VIA CONNECT PRO Deployment Guide

Moving to the new EAE version control Grantley McCauley

Visual Paradigm product adoption roadmap

HP Application Lifecycle Management (ALM) HP Quality Center Roman Zednik HP Software Austria

Maximizer CRM 12 Summer 2013 system requirements

CompSci Fall 2014 Professors: Robert Duvall, Ajay Patel, Salman Azhar (rcd@cs, ajay.patel, azhar@cs)

QHR Accuro EMR IT Hardware Requirements

Cambridge International AS and A Level Computer Science

NVIDIA GRID OVERVIEW SERVER POWERED BY NVIDIA GRID. WHY GPUs FOR VIRTUAL DESKTOPS AND APPLICATIONS? WHAT IS A VIRTUAL DESKTOP?

On the Edge of Mobility Building a Bridge to Quality October 22, 2013

Getting Started with VMware Horizon View (Remote Desktop Access)

A lap around Team Foundation Server 2015 en Visual Studio 2015

How To Price Power In Norsk

Paul Barham Program Manager - Java. David Staheli (dastahel@microsoft.com) Software Development Manager - Java

QlikView 11 Feature Sheet Source Control Integration

Mobile Testing, Agile Methodologies & You!

SAS in clinical trials A relook at project management,

Uni Vault. An Introduction to Uni Systems Hybrid Cloud Data Protection as a Service. White Paper Solution Brief

Transcription:

Software Engineering A Short Overview Hans- Petter Halvorsen, M.Sc.

The beginning... IBM HP 1911 1939 The Transistor 1947 Moore s Law 1965 The first Computer???? The Turing machine (Alan Turing, 1936)? Intel 1968 Internet The fist commercial Microprocessor (intel 4004) 1971 2

The beginning Apple I, 1977 Apple II, 1977 Attach a screen and you are up and running Byggesett, måtte sette sammen komponentene selv IBM PC with DOS, 1981 Macintosh, 1984 Everything is integrated even the screen First Computer with Graphical User Interface with Mouse

Mac OS 1.0 The beginning Windows 1.0 LabVIEW 1.0

Smartphones Today Ultrabooks Internet Apps Web Smartwatches Smart TVs Tablets

Muligheter! Kjenner du disse??

Muligheter! Jeg glemmer ikke jobbintervjuet, der jeg skrev kode på tavlen foran dem i to dager i strekk. Svetten rant. De siste syv årene har jeg vært med på det som må være et av tidenes største industrieventyr. Hvordan ser en typisk arbeidsdag ut for deg? Det kommer an på fasen i et prosjekt. Tidlig i utviklings- eller konseptfasen er det mye møter. Vi jobber i Scrum- prosess med daglige møter. Senere mot leveringstid er det mye utvikling og koding. http://www.digi.no/919886/atle- 42- staar- bak- amazon- skyen Vi bruker 5 minutter på å lese denne artikkelen hver for oss. Du må ta mulighetene når de byr seg men det kreves hard arbeid!! Det å være Systemutvikler er ikke en 9-4 jobb!

Muligheter! Utviklet av en HiT/TF student Best Windows 8 App Weather System Download for free from Windows Store (8.5/10) Telemark University College Weather System http://home.hit.no/~hansha/?page=weather http://bestwindows8apps.net/telemark- university- college- weather- system http://apps.microsoft.com/windows/en- us/app/telemark- university- college/45635f21-4fd0-4452- ad3c- c7a0caa8c402

Software Developer/Software Engineer Typical Job Ad

STD System Documentation Testing Software Test Documentation Test Plan Test Documentation End- User Documentation Implementation Code System Documentation User Guides Deployment Maintenance Your Software with Documentation Design Installation Guides SDD Planning SDP Software Development Plan Project Planning Gantt Chart Requirements Analysis SRS Software Requirements Specifications Gantt Chart Software Design Documents with ER Diagram, UML Diagrams, CAD Drawings

Alpha Requirements/Design Plans made a nd approved Beta Building structure finished, Inside work on track RC Foundation finished, building structure started A proof that you can do it, PoC (Proof of Concept) Furniture, Flowers and small adjustments missing RTM Ready for Sale or Move in 12

Real life Software Development Project Start..................... Iterations/Sprints.................. The Software is beeing tested internally from beginning to the end (every day) Alpha Beta RC RTM Beta1 RC1 Beta 2 RC2 Beta 3...... Project Finished

Software Development Daily Scrum Meetings Sprint Reviews & Planning Beta, RC Testing 2-4 weeks 1-12 months 24 hours Days Working Software at all times. Testing every day Weeks Internal Iterations/Sprints Public Beta, RC Releases Months/Years

Why Do Reviews, Quality Control and Testing? We will do Reviews, Quality Control and Testing at different levels through the whole sofware lifecycle Cost per defects SDLC (Software Development Life Cycle) 15

Software Development Planning, Requirements, Design, Implementation, Testing, Deployment, Maintenance, etc. User Application Operating System Hardware Who are going to use the software? Desktop, Web, Mobile? Windows, OS X, Linux, Android, ios, etc. PC, Mac, Smartphone, Tablet, SmartTV, etc.

Windows Server 2016 Software Development Windows 10 Clients Wi- Fi Server Ethernet LAN Router Internet Typical Network & Infrastructure OPC Server Web Server Database Server IIS SQL Server

Software Team Stakeholders Project Manager Software Tester UX Designer Software Engineer Software Architect Programmer/Developer You should try all these roles during the semester A System Engineer is a general person that could be a Programmer, Architect, Designer, Tester in different phases in the project, or he could be a tester in one project and a programmer in another project all in one person. That is usually the case in small companies, while in larger companies these roles (designer, tester, programmer) could be a full- time job. 18

Scrum A Framework for Software Development Working Software at all times! Iterative approach Scrum at Microsoft: http://www.youtube.com/watch?v=yr84qh6d7qe&feature=youtu.be

Scrum Members: Scrum A Framework for Software Development Working Software at all times! Designers Product Owner Developers Stakeholders Scrum Process: Product Backlog Sprint Backlog Architects Testers Scrum Master Development Team 3-9 persons Daily Scrum Meetings Max 15 min. Sprint Review

Software Requirements & Design Requirements (WHAT): WHAT the system should do Describe what the system should do with Words and Figures, etc. SRS Software Requirements Specification Software Design (HOW): HOW it should do it Examples: GUI Design, UML, ER diagram, CAD, etc. SDD Software Design Document Many dont separate SRS and SDD documents, but include everything in a Requirements document. In practice, requirements and design are inseparable.

Typical Software Documentation Project Management (Gantt Chart, etc.) Start Time Finish 1. Planning 2.Requierements /Design (The stakeholders, the software team; architects, UX designers, developers) 2. Testing (QA people) 3. End- user Documentation (The people that shall actually use the software) Software Development Plan High- Level Requirements and Design Documents Detailed Requirements and Design Documents Test Plans Test Documentation System Documentation Installation Guides User Manuals (SDP) WHAT HOW ER Diagram (Database) UML Diagrams (Code) CAD Drawings, etc. How to Test/ (STP) What to Test (STD) Proof that you have tested and that the software works as expected Technical Stuff (Super User/ IT dep.) How to install it How to use it (End User) (SRS) (SDD)

Learned in previous courses Focus in this Course Your Toolbox PC Programming and Programming Languages (e.g., C#) IDE (Integrated Development Environment) (e.g., Visual Studio) Software Frameworks (e.g.,.net) SCC Tool (Source Code Control) (e.g., Team Foundation Server, TFS) ALM Tool (Application Lifecycle Management) (e.g., Team Foundation Server, TFS) Knowledge about basic Software Engineering (Requirements, Planning, Testing, and Development Processes like Agile, Scrum, etc.) You cannot do a good job as a software developer without some proper tools!

Team Foundation Server (TFS) is an Application Lifecycle Management (ALM) system The Software Development Lifecycle (SDLC) Deployment Maintenance Planning SDLC Management Project Testing Team Management Bug Tracking Foundation MS Project Requirements Visual Studio MS Excel Server Analysis Implementation Collaboration platform Source Code Control Scrum Agile (SCC) Design Visual Studio Online

Server Team Foundation Server (TFS) LabVIEW MSSCCI Provider Clients Others Eclipse TFS Services Repository SQL Server Git (TFVC) Team Foundation Server (TFS) is an Application Lifecycle Management (ALM) system Visual Studio Team Explorer Web Access MS Excel MS Project File Explorer Power Tools

Visual Studio Online (former Team Foundation Service) TFS is a Source Code Control (SCC), Bug Tracking, Project Management, and Team Collaboration platform Integrated with Visual Studio TFS in the Cloud (This means you dont need to host the server yourself) www.visualstudio.com Free for up to 5 users 26

ebooks from Safari Books Online http://proquest.safaribooksonline.com/?uicode=telemark http://proquest.safaribooksonline.com/book/software- engineering- and- development/9781449691998?bookview=overview

Software Engineer What is a good Software Engineer/How to become a good Software Engineer? Discussion in Class See Principles of Software Engineering http://proquest.safaribooksonline.com/book/software- engineering- and- developme nt/9781449691998/ chapte r- 3- enginee ring- of- software/49?uicode= telemark from the book Essentials of Software Engineering

Hans- Petter Halvorsen, M.Sc. Telemark University College Faculty of Technology Department of Electrical Engineering, Information Technology and Cybernetics E- mail: hans.p.halvorsen@hit.no Blog: http://home.hit.no/~hansha/ 29