Specification
for
Lab 1: Hello World!
Version 1.0 approved
Prepared by Professor Thomas Lombardi
American University and Bosnia and Herzegovina
1. Introduction...1
1.1 Purpose ...1
1.2 Document Conventions...1
1.3 Intended Audience and Reading Suggestions...1
1.4 Project Scope...1
1.5 References...2
2. Overall Description...2
2.1 Product Perspective...2
2.2 Product Features...2
2.3 User Classes and Characteristics...2
2.4 Operating Environment...2
2.5 Design and Implementation Constraints...2
2.6 User Documentation...2
2.7 Assumptions and Dependencies...2
3. System Features...3
3.1 Display message “Hello World!”...3
4. External Interface Requirements...3
4.1 User Interfaces...3
4.2 Hardware Interfaces...3
4.3 Software Interfaces...3
4.4 Communications Interfaces...3
5. Other Nonfunctional Requirements...4
5.1 Performance Requirements...4
5.2 Safety Requirements...4
5.3 Security Requirements...4
5.4 Software Quality Attributes...4
6. Other Requirements...4
Revision History
Name Date Reason For Changes Version
1. Introduction
1.1 Purpose
This document outlines the requirements for an introductory lab exercise in an information technology class at a University. The document provides details regarding the Hello World application and its requirements.
1.2 Document Conventions
The document features several conventions for the purpose of clarifying the requirements. In particular, code segments will be written in
Regular Courier 14 point
font.
For example, the following snippet demonstrates how code will be rendered in the document:System.out.println(“Hello World!”);
Terms defined in the glossary will be highlighted in Bold, Italic text as a note to the reader. File names will be highlighted with Italic text.
When text is placed inside angle brackets <>, the text should not be interpreted as literal but as a description of appropriate content. For example, if describing the format of a file name, <FIRSTNAME> indicates that a person’s first name is appropriate without the angle brackets.
1.3 Intended Audience and Reading Suggestions
The document is primarily intended for students in the College of Digital Economy and Information Technology at the American University in Bosnia and Herzegovina. In addition to the primary audience, the document also serves as a reference for faculty and staff at the University. The document should be read closely, completely, and thoroughly.
1.4 Project Scope
The time allotted for the project includes the lab sessions for one week of class or roughly two hours. The lab should be completed in that time. The deliverables include the
HelloWorld.java file and all supporting files required for the lab. The Lab project and all of its contents should be zipped into a file that follows the name conventions defined in the course syllabus:
TZ_<CLASS_CODE>_<LASTNAME>_<FIRSTNAME>_<LABNUMBER>_<VERSIONNU MBER>.ZIP
The lab does not include the items used solely for demonstration including HelloWorldGui.java, HelloWorldB.java, HelloWorldC.java, HelloWorldD.java,
Syllabus for CITA-140: http://sites.google.com/a/aubih.edu.ba/cita-140/syllabus
2. Overall Description
2.1 Product Perspective
The application is one of a series of labs designed to help the student learn the java language, the effective use of an IDE, and professional programming practices.
2.2 Product Features
The application simply prints to standard output the phrase “Hello World!”
2.3 User Classes and Characteristics
The only users of the application are the student and the instructor.
2.4 Operating Environment
The application should be coded with Java version 1.5 or higher on any hardware platform and operating system available in the AUBiH Lab.
2.5 Design and Implementation Constraints
The design and implementation constraints include conforming to the coding standard used for the class as defined in the syllabus.
2.6 User Documentation
The code should be structured such that JavaDoc style documentation can be generated from the code automatically. Although this documentation is not required for this project, the JavaDoc documentation will be required in future labs.
2.7 Assumptions and Dependencies
3. System Features
3.1 Display message “Hello World!”
3.1.1 Description and Priority
This is the highest priority.
3.1.2 Stimulus/Response Sequences
When the user executes HelloWorld.java with no arguments, the “Hello World!” message should display.
3.1.3 Functional Requirements
REQ-1: “Hello World!” message displays when executed
4. External Interface Requirements
4.1 User Interfaces
The use must be able to execute the program through the IDE and the command line. No GUI interface is required.
4.2 Hardware Interfaces
No hardware interfaces required.
4.3 Software Interfaces
No required software interfaces.
4.4 Communications Interfaces
5.1 Performance Requirements
There are no performance requirements.
5.2 Safety Requirements
There are no safety requirements.
5.3 Security Requirements
There are no security requirements.
5.4 Software Quality Attributes
The code should reflect an attention to detail, conformity to standards, proper
documentation, concern for optimization, and creativity within the scope of the project.
6. Other Requirements
There are no other requirements.
Appendix A: Glossary
Integrated Development Environment (IDE)
An integrated development environment provides a full-featured suite of applications designed to improve programmer productivity. The development of complex software generally requires the use of an integrated development environment.
Appendix B: Analysis Models
No analysis models.