Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Construction

Similar presentations


Presentation on theme: "Software Construction"— Presentation transcript:

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

2 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)

3 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.

4 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.

5 About Course - Languages
HTML CSS JavaScript Jquery

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

7 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

8 Construction activities

9 Construction activities
Focus of this course.

10 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

11 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

12 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.

13 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.


Download ppt "Software Construction"

Similar presentations


Ads by Google