CSC 510 Software Engineering |
|
An introduction to software life cycle models, size estimation, cost and schedule estimation, project management, risk management, formal technical reviews, analysis, architecture, design, coding and verification methods, configuration management, and change control, software architectures, and CMMI. Emphasis on software-intensive development projects. An individual research project required that describes state-of-the-art methodologies, approaches, or techniques in the Software Engineering field. Three (3) credit hours. |
|
|
Prerequisite |
Undergraduate courses in data structures, probability, applied discrete mathematics, computer organization and the principle of operating systems. An object-oriented language such as C++ or Java is essential. The student is expected to be well versed in programming concepts including distributed systems.
|
|
Course Objectives
|
This is a course on the development and management of software-intensive products. It combines a study of methods, tools, and techniques for creating and evolving software products, with the practical skills needed to deliver high-quality software-intensive products at agreed cost and schedule. The methods that are studied include requirements, specification, architecture, design, implementation, verification, validation, operation, and maintenance. The practical side of the course includes a final research project.
|
|
| Course Requirements | HOMEWORK: Four (4) Assignments EXAMINATIONS: Two (2) Examinations: (Mid-term and Final) SOFTWARE REQUIREMENTS: N/A PROJECTS: Individually oriented
|
|
| Textbook | There is not a required text for the course. Class notes/presentations and a reading list is utilized during the course. The following textbooks are conventional resources for a graduate-level course in software engineering, and may be purchased if a formal resource is desired. Pressman, Roger S.. Software Engineering—A Practitioner’s Approach, McGraw-Hill Science/Engineering/Math, Fifth edition, 2001. ISBN: 0072496681. Parnas, David L., Weiss, David M. and Hoffman, Daniel. Software Fundamentals: Collected Papers by David L. Parnas, Addison-Wesley, First Edition, 2001. ISBN: 0201703696 Summerville, Ian. Software Engineering, Addison-Wesley, Sixth Edition, 2000. ISBN: 020139815X |
|
| Computer and Internet Requirements | NCSU has recommended minimum specifications for computers used for classes. Depending on your computer needs, we recommend your computer meet or exceed the following minimum specifications below. PCs must have an Intel-compatible 800 MHz processor, 256 MB RAM, 8 GB hard drive with 1 GB free space available, 256 Color Display, CD-ROM drive, 800x600 (min.) video adapter, sound card, and speakers. The operating system should be Windows 2000 or XP. Real One Player Basic (available free online) and high speed Internet connection such as cable, DSL, T1 or LAN will be required for EOL courses. MAC users must have a G3 processor with firewire and USB factory built-in, 256 MB RAM, 10 GB with 1GB free space available, 256 Color Display, CD-ROM drive, 800x600 (min) video adapter, sound card, and speakers. The operating system must be MacOS 10.3 (minimum) along with the above RealOne and Internet specifications above. For more detailed information on computer specifications and recommendations, please refer to our website at: http://engineeringonline.ncsu.edu/currentstudents/computeraccess.htm
|
|
| Instructor | Dr. Aldo Dagnino |