IS 350 Course Introduction
Slide 2 Objectives Identify the steps performed in the software development life cycle Describe selected tools used to design software systems Understand the control structures used in programming Describe the evolution of programming languages Identify the characteristics of object-oriented programming languages 2
Slide 3 Objectives (continued) Understand the syntax of programming languages Understand the structure of a Visual Basic application Write executable statements Use the Command Prompt window to compile and execute a Visual Basic application 3
Slide 4 Introduction to Software Development Remember the software lifecycle (In this course we focus on implementation and testing – We might mention deployment) Problem identification System design System implementation System documentation System testing System deployment Postimplementation audit 4
Slide 5 System Analysis Methodologies Pseudocode uses English-like statements to depict an application’s actions Top-down design is used to subdivide general tasks into more specific tasks Flowcharting uses graphical symbols to depict an application’s actions The Unified Modeling Language (UML) supplies several graphical templates to model a system The Business Process Modeling Notation (BPMN) models activities, sequences and loops 5
Slide 6 Top-Down Design Steps Define general tasks first Decompose general tasks into more specific tasks Continue decomposing sub-tasks, as needed Hierarchical Input Process Output (HIPO) charts depict the top-down design process 6
Slide 7 HIPO chart for an ATM withdrawal 7
Slide 8 Programming Control Structures All computer applications are written using three control structures Sequence structure executes a task sequentially or one step after another The same path to school each day. Selection structure is used to make decisions Selection structures can have one, two, or many alternatives Different paths to school each day based on the outcome of a condition (weather, construction zones, etc…) Repetition structure performs the same task over and over again For each day we went to school, count the number of different rounds Control structures are typically combined 8
Slide 9 Sequence structure flowchart 9
Slide 10 One-way decision structure flowchart 10
Slide 11 Repetition structure flowchart 11
Slide 12 The Evolution of Programming Languages Programming languages have evolved Machine languages Assembly languages Machine independent languages Natural languages Object-oriented languages And they are all still used 12
Slide 13 Compiling a.NET Program Visual Studio compiles a program into machine independent assembly language called intermediate language (IL) IL gets translated into executable code using the just-in-time compiler (JIT) Process is automatic 13
Slide 14 Characteristics of Object-oriented Programming Objects are created from classes A class is a template (blueprint) for an object A class describes the data stored in the class the actions performed by the class Multiple objects can be created from the same class 14
Slide 15 Relationship between a class and objects created from that class 15
Slide 16 Characteristics of Object-oriented Programming Languages Encapsulation: Data and processes are coupled together Inheritance: A new class can be created from an existing class Information hiding: Some information is hidden in a class while other information is exposed to the developers using the class Polymorphism: members have multiple forms 16
Slide 17 The Visual Studio Implementation of Object-oriented Programming The interface of a class is the formal specification of the data stored in the class and the actions supported by the class Objects are created from a class by calling a constructor Data items stored in a class are called properties Actions performed by a class are called methods A class can have events Statements in an event handler execute in response to an event A class belongs to a namespace 17
Slide 18 Procedural and Event-driven Programming Languages procedural language The sequence of activities can be predicted by the application event-driven language The execution path is based on the various events that fire Users and the system itself cause events to fire It's impossible to predict exactly when an event will fire 18
Slide 19 Event processing loop 19
Slide 20 Operation of a procedural application 20
Slide 21 The Syntax of Programming Languages Programming language rules are called syntax Each programming language has its own syntax C# and Visual Basic have a different syntax Syntax rules are absolute Statements having incorrect syntax are considered syntax errors 21
Slide 22 Types of Programming Statements A statement expresses a complete thought or action Statements are of two types Declaration statements are used to create variables and define the structure of an application Executable statements perform an action while a program is running 22
Slide 23 Types of Programming Statements (Example) Module Hello Sub Main() System.Console.WriteLine("Hello World") End Sub End Module Executable statement Declaration statement 23
Slide 24 Reserved Words and Operators Language keywords are called reserved words Every programming language has reserved words Reserved words differ from programming language to programming language Module and Sub are Visual Basic reserved words + and – are the Visual Basic operators for addition and subtraction 24
Slide 25 Identifiers and Their Names The term identifier describes the name of a programming element Identifier names must Begin with a letter Only contain alphabetic characters, digits, or the underscore character Have a maximum length of 1023 characters 25
Slide 26 The Structure of a Visual Basic Application Every program has a well-defined structure Visual Basic is a block structured language The outermost block is the Namespace block Namespace blocks contain Module blocks Module blocks contain Sub procedure blocks Procedure blocks contain declaration and executable statements 26
Slide 27 Namespace Blocks Conceptually, Namespace blocks are similar to file folders An application can contain one or many Namespace blocks Every namespace has an identifier (name) A Namespace block is marked by the Namespace and End Namespace keywords 27
Slide 28 Namespace Block (Example) Declare a namespace named Chapter01 Namespace Chapter01 End Namespace 28
Slide 29 The Contents of a Namespace A Namespace block can contain Class blocks Structure blocks Module blocks 29
Slide 30 Introduction to Module Bocks A Namespace block can contain one or more Module blocks A Module block begins with the Module statement followed by the identifier name A Module block ends with the End Module keywords Module blocks cannot be nested 30
Slide 31 Module Block (Example) Namespace block named Chapter01 contains a Module block named Hello Namespace Chapter01 Module Hello End Module End Namespace 31
Slide 32 Introduction to Procedure Blocks A Module block can contain one or many procedure blocks Procedure blocks cannot be nested Procedure blocks contain declaration and executable statements Sub and End Sub statements mark the beginning and end of a procedure 32
Slide 33 Procedure Block (Example) Namespace named Chapter01 contains a Module block named Hello with a Sub procedure block named Main() Namespace Chapter01 Module Hello Sub Main() End Sub End Module End Namespace 33
Slide 34 Organization of a namespace, module, and a procedure 34
Slide 35 Writing Executable Statements Executable statements can be used to call (execute) a procedure Executable statements can be used to make decisions and execute loops Assignment statements are executable statements 35
Slide 36 Calling a.NET Framework Class Library Method The.NET Framework supplies general services used by all applications The Console class has methods used to read input and to write output The SystemInformation class gets information about the local computer 36
Slide 37 Organization of the.NET Framework Class Library The.NET Framework class library is made up of several disk files called libraries Physical library files are called assemblies Physical assemblies contain one or more logical namespaces Namespaces are organized hierarchically Namespaces contain classes and other types 37
Slide 38 Common Namespaces System defines the primary data types System.Data contains classes used to work with databases System.Drawing supplies graphics functionality System.Windows.Forms contains classes to create visual forms System.XML contains classes to work with the XML language 38
Slide 39 Method Arguments Methods accept 0, one, or many arguments Arguments send data to a method Arguments appear as a comma separated list The list appears in parenthesis Example to display the text "Hello World“ WriteLine method contains one argument System.Console.WriteLine("Hello World") 39
Slide 40 Continuation Lines Complicated statements might not fit on one line Use the continuation character to split a statement across multiple lines Continuation character is the underscore (_) Continuation character must appear at the end of a line A space must precede the continuation character Continuation character cannot break up words 40
Slide 41 Continuation Lines (Example) The following statement appears on two lines: System.Console.WriteLine( _ "Hello World") Continuation character 41
Slide 42 Methods of the System.Console Class Read method reads one character from the console ReadLine method reads a line from the console Write method writes a character or characters to the console WriteLine method writes a character or characters, followed by a carriage return, to the console 42
Slide 43 DEMO In class demo to create and run a simple console project Start Visual Studio Write Hello World Add an assembly references Get system information