Software Construction

Slides:



Advertisements
Similar presentations
Coding Practices. What are Coding Practices ? Coding practices are a set of informal rules that the software development community has learned over time.
Advertisements

IS112 – Chapter 1 Notes Computer Organization and Programming Professor Catherine Dwyer Fall 2004.
Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Software Construction. Implementation System Specification Requirements Analysis Architectural Design Detailed Design Coding & Debugging Unit Testing.
Systems Analysis And Design © Systems Analysis And Design © V. Rajaraman MODULE 14 CASE TOOLS Learning Units 14.1 CASE tools and their importance 14.2.
Computers & Employment By Andrew Attard and Stephen Calleja.
1 Software Construction Software Construction Chapter 1.
Bayu Priyambadha, S.Kom Teknik Informatika Universitas Brawijaya.
GCSE OCR 3 A451 Computing Professional standards
CPSC 2150 August 21, Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Hop Operational Semantics
The Other Face Or Why Document? By Chris Bradney Or Why Document? By Chris Bradney.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
MNP1163 (Software Construction).  SDLC and Construction Models  Construction Planning  Construction Measurement.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
Advanced Software Engineering Dr. Cheng
Principles of Programming & Software Engineering
Software Development - Methodologies
Windows Communication Foundation and Web Services
Chapter 1 Computer Technology: Your Need to Know
Computer Network Fundamentals CNT4007C
CSC 222: Object-Oriented Programming
Configuration Management
Software Construction
Software Testing.
INLS 623– Stored Procedures
Chapter3:Software Processes
Preparation for coding
Computer Networks CNT5106C
CSC 221: Computer Programming I Spring 2010
Configuration Management
Intro to JavaScript CS 1150 Spring 2017.
CSC 221: Computer Programming I Fall 2005
1. Welcome to Software Construction
IEEE Std 1074: Standard for Software Lifecycle
Design and Maintenance of Web Applications in J2EE
Roles and Responsibilities (1/3)
Computer Networks CNT5106C
Tools of Software Development
Software Construction
Chapter 1, Introduction to Software Engineering
Software Construction
Chapter 1 Introduction(1.1)
Verification Plan & Levels of Verification
Introduction to Software Engineering (CEN-4010)
Chapter 7 –Implementation Issues
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Global Challenge Walking for Water Lesson 2.
System Analysis and Design
Global Challenge Walking for Water Lesson 2.
Global Challenge Walking for Water Lesson 2.
Software Construction
CMSC 345 Programming.
Global Challenge Walking for Water Lesson 2.
Global Challenge Walking for Water Lesson 2.
Global Challenge Walking for Water Lesson 2.
Computer Networks CNT5106C
Software Construction Dr. Samer Odeh Hanna (PhD)
Global Challenge Walking for Water Lesson 2.
Software Construction
Software Development Chapter 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Global Challenge Walking for Water Lesson 2.
Global Challenge Walking for Water Lesson 2.
Global Challenge Walking for Water Lesson 2.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Preparation for coding
Software Construction
Presentation transcript:

Software Construction SCMP 391.00 Special Topic: Software Development Spring 2017 James Skon

Software Development Syllabus on line: cs.kenyon.edu There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. C. A. R. Hoare (1980 Turing Award Lecture)

About Course - Goals This course gives students experience designing, implementing, testing and debugging moderately complex systems of software components that collectively form a multilayer application. There will be an emphasis on crafting quality code, designing and implementing effective user interfaces, and building multicomponent architectures using a mix of off-the-self and custom code.

About Course - Topics direct file I/O inner-process communication inter-system synchronization of shared resources web interfaces data visualization working with large data sets.

About Course - Languages HTML CSS JavaScript Jquery

About Course – Team work Two projects will be done as small collaborative teams. Pair-programming Peer Review All team members must contribute.

What Is Software Construction? Problem definition Requirements development Construction planning Software architecture, or high-level design Detailed design Coding and debugging Unit testing Integration testing Integration System testing Corrective maintenance

Construction activities

Construction activities Focus of this course.

Software Construction Tasks Verifying that the groundwork has been laid so that construction can proceed successfully Determining how your code will be tested Designing and writing classes and routines Creating and naming variables and named constants Selecting control structures and organizing blocks of statements Unit testing, integration testing, and debugging your own code

Software Construction Tasks Reviewing other team members' low-level designs and code and having them review yours Polishing code by carefully formatting and commenting it Integrating software components that were created separately Tuning code to make it faster and use fewer resources

Why Study Software Construction? Construction is a large part of software development. 30% - 80% of effort on typical projects! Central activity in software development Programmer productivity varies greatly. (10-20x!) Source code is often the only accurate description of the software The one certain activity in Software Development.

Summary Software construction is the central activity in software development. The main activities in construction are detailed design, coding, debugging, integration, and developer testing Other common terms for construction are "coding" and "programming.” The quality of the construction substantially affects the quality of the software.