INSE - Lecture 16  Documentation  Configuration Management  Program Support Environments  Choice of Programming Language.

Slides:



Advertisements
Similar presentations
Making the System Operational
Advertisements

Configuration management
Software change management
Configuration management
Configuration Management
Page 1 October 31, 2000 An Introduction to Large-Scale Software Development Steve Varnau Core HP-UX Operation October 31, 2000.
INSE - Lecture 15  SE Project Management  This lecture is a brief overview –  mainly things to remember to do!
Programming In C++ Spring Semester 2013 Programming In C++, Lecture 1
Chapter 10 Delivering the System Shari L. Pfleeger Joann M. Atlee 4 th Edition.
TPF/Eclipse: A New TPF Application Test Tool for the Eclipse and WebSphere ® Environments Presenter: Thiru Thirupuvanam TPF Users Group May 2003 New Orleans,
Copyright © 2002 W. A. Tucker1 Chapter 1 Lecture Notes Bill Tucker Austin Community College COSC 1315.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Dr Gordon Russell, Napier University Unit Data Dictionary 1 Data Dictionary Unit 5.3.
1 CS 106, Winter 2009 Class 4, Section 4 Slides by: Dr. Cynthia A. Brown, Instructor section 4: Dr. Herbert G. Mayer,
Requirements Analysis 5. 1 CASE b505.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis CASE Computer.
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition.
Chapter 2 Introduction to Systems Architecture. Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer.
Introduction to Systems Analysis and Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Galin, SQA from theory to implementation © Pearson Education Limited Chapter 13 CASE Tools and their Effect on Software Quality.
Configuration Management
 Introduction Introduction  Definition of Operating System Definition of Operating System  Abstract View of OperatingSystem Abstract View of OperatingSystem.
Programming In C++ Spring Semester 2013 Programming In C++, Lecture 1.
Software Configuration Management (SCM)
Introduction 01_intro.ppt
CW-V1 SDD 0201 Principals of Software Design and Development Introduction to Programming Languages.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
1 Shawlands Academy Higher Computing Software Development Unit.
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
Introduction OF Enterprise Application Development.
Summary Data Modeling SDLC What is Data Modeling Application Audience and Services Entities Attributes Relationships Entity Relationship Diagrams Conceptual,Logical.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Configuration Management (CM)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 29 Slide 1 Configuration management.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
I Power Higher Computing Software Development The Software Development Process.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
C o n f i d e n t i a l 1 Course: BCA Semester: III Subject Code : BC 0042 Subject Name: Operating Systems Unit number : 1 Unit Title: Overview of Operating.
Chapter 2 Introduction to Systems Architecture. Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer.
The Software Development Process
Computer Software Types Three layers of software Operation.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Programming Fundamentals Lecture No. 2. Course Objectives Objectives of this course are three fold 1. To appreciate the need for a programming language.
 Programming - the process of creating computer programs.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Getting ready. Why C? Design Features – Efficiency (C programs tend to be compact and to run quickly.) – Portability (C programs written on one system.
Chapter 2: Advanced programming concepts Part 3: The user interface Lecture 5 1.
ITP 109 Week 2 Trina Gregory Introduction to Java.
Chapter 1: Introduction to Computers and Programming.
CASE Tools and their Effect on Software Quality
Identify internal hardware devices (e. g
INTRO. To I.T Razan N. AlShihabi
CIS 375 Bruce R. Maxim UM-Dearborn
DDC 2223 SYSTEM SOFTWARE DDC2223 SYSTEM SOFTWARE.
Configuration Management
Software Configuration Management
Chapter 11: Software Configuration Management
System Programming and administration
Configuration Management
Tools of Software Development
Chapter 1 Introduction(1.1)
Chapter 11: Software Configuration Management
Chapter 7 –Implementation Issues
Introduction of PTM (Planning Tracking & Management) Tool - developed by Meridian Technology 29/05/2019.
System Programming By Prof.Naveed Zishan.
What is a System? A system is a collection of interrelated components that work together to perform a specific task.
Presentation transcript:

INSE - Lecture 16  Documentation  Configuration Management  Program Support Environments  Choice of Programming Language

Documentation

Purpose  Documentation should tell us about the thing being documented … ...not about the person who wrote it!  (But it often does … )

Audiences  various audiences –consequently … »different kinds of document »different styles.

The right level of document...  Fit the vocabulary & complexity of a document to it ’ s audience:  use the reader ’ s jargon - –computing jargon for internal documents; –application jargon for user documents;  clever words & phrasing for clever users (only!)  fit the purpose of the text - e.g. - –intro text should avoid fine detail (but repeat key points from multiple viewpoints); –reference text should include every significant point (once and once only).

Organize the maintenance docs:

MoD JSP188 doc tn. structure 1/ basic outline & system structure, breakdown; s/w for each facility; supporting info; 2/ functional description of each task & data area; timing info; 3/ functional description of each process & data structure; 4/ code, test criteria, supports such as location of firmware.

Documentation standards  Company “ look and feel ” rules;  checklists to promote completeness;  consistency rules when there are multiple authors.  Such standards can vary enormously - –it ’ s more important to have a reasonable standard than exactly what it says … –but the documenter needs to be flexible.

Documentation tools  word processors;  index generators;  systems for graphic display of design descriptions;  cross-referencers and other code-analysis tools; ...

Configuration Management

Problem: Keeping track of all the requirements documents specification documents design documents source files object files test drivers test data debugging records … is a major task in a large project......which gets worse when each of those exists in many versions and variants...

Definitions:  A version may be replaced by a later version;  A variant may be one of many parallel variants, all being "the latest version of that variant".  Large project => usually multiple versions & variants of each software component (maybe hardware components also).  One version/variant may depend on certain versions/variants of other components.

So...  this is a major administration problem in large projects;  there are management issues, but more than that …  … we need something to help us keep track of it all.  Which leads us to...

Program Support Environments

PSE = big brother of an IDE  A PSE is an integrated workbench of tools for programmers and their management  It also is a “ database ” of all of  the documents of a project = specs, design docs, code, test plans, test records, debugging records … etc. …  the audit trails and  the dependencies between the documents.

Programmers view of a PSE  design tools;  compiler(s)  editors(s)  linker(s)  tools to manipulate object files  generalized test harnesses  debugger(s)  source-manipulation tools: –cross-referencers –profilers –indenters –?program provers  documentation tools  programs to detect portability problems with communication between all the tools ….

Team-leader ’ s view A database that  holds all the project documents;  cross-indexes them;  audit-trails them;  helps in configuration management;  helps to mile-stone the progress of the project;  reports symptoms of team-members who may be in trouble; ...

The PSE interface  A single PSE may be hosted on multiple platforms, so …  the project is platform-independent;  the staff are platform-independent (I.e. can move between hardware & O.S.s with minimal retraining.

Choosing an appropriate programming language for the project Issues:  consequences of the choice;  modular languages.

Consequences  Some languages are good for programs that need to be “ close to the hardware ” ;  Some languages are good for big programs;  Some for high-reliability programs;  Some are good for evolutionary development;  Some are good for quickly-written small programs …  No language is good for all of those –they are conflicting objectives.

SO A CHOICE IS NEEDED...  … for each project;  … sometimes, different choices for different parts of a single project. 1/ to make that choice prudently, you need moderate familiarity with multiple languages; 2/ and then do make that choice –don ’ t just “ use what we used last time; –run any re-training your choice demands.

Modular languages (incl.. OO)  Up to 100 lines (or less) - programmer can hold everything in foreground memory –up to 50 lines/day d 3 is common;  Up to 10,000 lines (or less) - programmer can hold everything in background memory –up to 10 lines/day d 3 is common;  But in modular languages, only interfaces need be known –up to 20 to 40 lines/day d 3 is common.

Prejudices  foolish!

After this lecture - documentation  Look at other people's documentation –analyze what are the good features and bad (or missing) features; –analyze how well it fits the need of the audience;  Aim to do better yourself!

After this lecture – CM & language  Be prepared for the extra organizing needed for large projects;  Use sensible tools to keep track of size.  For all projects, make a sensible and well-timed choice of language(s) to use.

© C Lester