70 likes | 235 Views
Software Construction. (0721385) First Semester 2013-2014 Dr. Samer Odeh Hanna (PhD) http://philadelphia.edu.jo/academics/shanna Office: IT 323. Chapter 1: Introduction. What is Software Construction?.
E N D
Software Construction (0721385) First Semester 2013-2014 Dr. Samer Odeh Hanna (PhD) http://philadelphia.edu.jo/academics/shanna Office: IT 323
What is Software Construction? • Software Construction is a group of activities that go into software development (See the following figure) • Construction focuses on coding and debugging but also includes some detailed design and unit testing. • Construction comes after architectural design and before system testing. • Other common terms for construction are implementation and programming.
System Specification Requirement Analysis Architecture Design Detailed Design Coding and Debugging Unit Testing System Testing Maintenance
A few of the specific tasks involved in construction: • Verifying that the groundwork has been laid so that construction can proceed successfully. • Designing and writing routines and modules • Creating data types and naming variables • Selecting control structures • Finding and fixing faults and errors • Reviewing other team members' low-level design and code and having them review yours • Polishing code by carefully formatting and commenting it • Integrating software components that have been built separately • Tuning code to make it smaller and faster
Non-Construction activities include: • Requirement analysis • Software architecture • User-interface design • System testing • Maintenance
Why is Software Construction Important? • Construction is a large part of software development. Construction typically takes 30 to 80 percent of the total time spent on a project. Anything that takes up that much project time is bound to affect the success of the project. • Construction is the pivotal activity in software development. Analysis and design are done before construction so that you can do construction effectively. System testing is done after construction to verify that construction has been done correctly. Construction is at the center of the software development process. • Construction's product, the source code, is often the only accurate description of the software. • Construction is the only activity that's guaranteed to be done no matter how rushed or poorly planned a project is you can't drop construction.