Advanced Software Development & Engineering 1 Theme Introduction.

Slides:



Advertisements
Similar presentations
Lecture 9: Implementation Dr Valentina Plekhanova University of Sunderland, UK.
Advertisements

Project Lead the Way An Orientation American High School.
Software Construction
IS6112 Application Modelling and Design Introduction.
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
Software Engineering Georges Grinstein Olsen 301E Class materials:
Modified from Sommerville’s slidesSoftware Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Systems Integration IT 490
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Concordia University Department of Computer Science and Software Engineering Click to edit Master title style ADVANCED PROGRAMING PRACTICES Introduction.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Roles of IT Personnel Unit Customer Service This is a facility that helps customers with wide-ranging questions relating to a specific company,
Building solutions with Improving solution governance on SharePoint 2010 Rico Ho Chief Dreaming Officer
Course: Introduction to Computers
Database Administration Chapter 16. Need for Databases  Data is used by different people, in different departments, for different reasons  Interpretation.
Eclipse as a Teaching Platform for Kenya Student: Thomas Timbul (MEng 4) Supervised by: Robert Chatley.
UML and Object Oriented Concepts
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 System and Software Engineering.
MIS 710 Module 0 Database fundamentals Arijit Sengupta.
Chapter 6– Artifacts of the process
William H. Bowers – User-Centered Product Teams Torres 4.
1 Object Oriented Programming Computer Systems Engineering (D2) and Programming (P)
Introduction to Systems Analysis and Design Trisha Cummings.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Computers & Employment By Andrew Attard and Stephen Calleja.
Software Project Management
Prototyping. Introduction *Overview *What is the process *Changing roles of end users *What tools facilitate prototyping *Impact on traditional methodology.
Page 1 MODEL TEST in the small GENERALIZE PROGRAM PROCESS allocated maintenance changes management documents initial requirement project infrastructure.
Thirteenth Lecture Hour 8:30 – 9:20 am, Sunday, September 16 Software Management Disciplines Process Automation (from Part III, Chapter 12 of Royce’ book)
Object Oriented Analysis and Design Introduction.
EECE 310 Software Engineering Lecture 0: Course Orientation.
CSE 303 – Software Design and Architecture
1 An Introduction to Software Engineering. 2 Objectives l To introduce software engineering and to explain its importance l To set out the answers to.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Software Engineering The first lecture.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
CSC 230: C and Software Tools Rudra Dutta Computer Science Department Course Introduction.
CS 111 – Nov. 22 Chapter 7 Software engineering Systems analysis Commitment –Please read Section 7.4 (only pp ), Sections –Homework #2.
Apps.  Understand the list of applications or application components that are required, based on the baseline Application Portfolio, what the requirements.
3/5/2009Computer systems1Introduction Computer Systems: Hardware Desktop Laptop Software Information Systems Computer-Aided Graphic Design.
Database Administration
An Introduction to Software Engineering (Chapter 1 from the textbook)
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
1 Software Engineering, 8th edition. Chapter 1 Jan 28 th, 2009 Lecture # 1 Courtesy: ©Ian Sommerville 2006 An Introduction to Software Engineering.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
T Iteration Demo Tikkaajat [PP] Iteration
Alex Turner Senior Program Manager Managed Languages Team Improve Your Code Quality using Live Code Analyzers.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
1.
.NET and Webservices for Dummies Speaker: John J. Stark System Consultant, Integral Data Solutions.
Software. Introduction n A computer can’t do anything without a program of instructions. n A program is a set of instructions a computer carries out.
Chapter 8: Maintenance and Software Evolution Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
WORKPLACE READINESS SKILLS FOR THE COMMONWEALTH OF VIRGINIA.
Advanced Programing practices
Chapter 1 The Systems Development Environment
CIM Modeling for E&U - (Short Version)
Infrastructure Orchestration to Optimize Testing
Computer Aided Software Engineering (CASE)
Chapter 1 The Systems Development Environment
Aliexpress Clone Script to Empower Your eCommerce Business
EECE 310 Software Engineering
Software Engineering INTRODUCTION
Chapter 1 Introduction(1.1)
Advanced Programing practices
Chapter 1 The Systems Development Environment
From Use Cases to Implementation
Presentation transcript:

Advanced Software Development & Engineering 1 Theme Introduction

Advanced Software Development & Engineering 2 Complexity ● Software Development is Complex – Consisting of interconnected or interwoven parts; composite (Oxford Dictionary) ● Complex as in : – Composed of third party artifacts – Combining different environments, information sources, communication media – Written by a team of people with their own thought process

Advanced Software Development & Engineering 3 Complication ● Software development need not be complicated – Not easy to understand or analyze (Oxford Dictionary) ● Complicated as in : – Difficult to understand or setup – Difficult to improve – Difficult to exploit

Advanced Software Development & Engineering 4 Our objective ● Presenting expert solutions : – Many problems are recurrent – And many of those have been solved in a generic and efficient manner ● Presenting the tools we use for the job – To help you organise your work – To give you ideas ● Exposing our best practices (bear with us) ● Remain platform agnostic as far as possible

Advanced Software Development & Engineering 5 Syllabus ● Design block – Introduction to Entreprise Computing – Design patterns ● Integration block – Security In Computer Applications – Iterative Development ● Maintenance block – Debugging Techniques – Code Review Best Practices

Advanced Software Development & Engineering 6 Introduction to Enterprise Computing ● Enterprise : An undertaking, especially one of some scope, complication, and risk (Cambridge Dictionary) ● Enterprise aims at dealing with complexity while remaining open : – Distributed, multi-tier environment – Diversity of information sources ● Ready made solutions exist (J2EE,.Net) ● Knowing about existing solutions may avoid you reinventing the wheel

Advanced Software Development & Engineering 7 Design patterns ● Efficient conceptual reuse ● Aimed of object oriented languages ● Expert solutions that solve your problems ● Help to understand how a system works ● Help to identify a solution and how to extend it

Advanced Software Development & Engineering 8 Security In Computer Applications ● Apprehending “software security” ● Evaluating security risks ● How to create secure software ● Advices and warnings for developers (what to do, not to do) ● What is the best usage of cryptography ?

Advanced Software Development & Engineering 9 Iterative Development ● Deals with complexity little by little ● Helps you manage teamwork ● Makes your software easier to maintain and integrate ● Bundles best practices in one neat package

Advanced Software Development & Engineering 10 Semi-Interactive Demo ● Thursday at 3pm Build integration demonstration ● Turn an existing java application into an integrated build ● Cover all steps of iterative development : – Compilation – Testing – Deployment – Automated Build ● You can join by following the instructions on: – ● “Java experience required, web application development a plus”

Advanced Software Development & Engineering 11 Debugging Techniques ● Debugging methods to : – Localise... – Evaluate... – And repair defects ● Compiler features ● Debugging and tracing tools

Advanced Software Development & Engineering 12 Code Review Best Practices ● Efficient understanding of third-party code ● Learning from existing code ● Automation of code reading using – Standard OS tools – Dedicated code documentation tools

Advanced Software Development & Engineering 13 Panel discussion ● Thursday 4.30pm Theme : "Are novel Software Development techniques relevant to HEP?“ – iCSC lecturers – 2 Senior Panelists – You the audience