Advance System Analysis L1

  • Uploaded by: api-19822376
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Advance System Analysis L1 as PDF for free.

More details

  • Words: 2,203
  • Pages: 33
Advance System Analysis M. Mahdi

1

Introduction

Who am I? Ground Roles:

 



  

  

2

30 % of the absence is allowed = 3 lectures , the 4th , you will not attend the final exam You can eat, drink in the class. There is no long breaks. Late assignment submission make you lost 10% weakly until the 4th week your assignment will not be accepted If you came late enter the class without too much nose. My contact : [email protected] The lecture note in security office

‫من انا‬ ‫قواعد العمل مع بعض‬ ‫ من المادة سيعرضك‬%30 ‫الغياب لكثر من‬ ‫ محاضرات‬3 ‫ اي‬، ‫للحرمان من المادة‬ ،‫مسموح الغياب فيها سواء بعذر او بدون عذر‬ .‫الرابعة تحرم من المتحان النهائي‬ ‫الراحة في المحاضرة ليست لوقت طويل‬ ‫تسليم الواجبات بشكل متأخر يعرضك لخسارة‬ ‫ اسبوعين من الدرجة حتى السبوع‬% 10 .‫الرابع لن يقبل‬ . ‫اذا حضر متأخر ادخل بهدوء‬ .‫الكل و الشرب مسموح في المحاضرة‬ :‫للتصال بي على‬ [email protected] .‫المحاضرات ستوضع عند السكرتارية‬



 

   

 

Unite Objectives 



3

Solid understanding of agile software development, object-oriented, testing, and modeling concepts and techniques. Develop the fundamental skills needed to develop object- oriented applications.

Approach of assessment:     

4

Class discussion 5% Class attendance 10% Final Exam 20 % Mid Exam 15% Home works and Group project 50%

Reference: The Object Primer, Third Edition by Douglas Baldwin and Greg W. Scragg   Cambridge University Press © 2004 (572 pages) ISBN:0521540186 

5

Covering subject's in this unit: 1. 2. 3. 4. 5.

6. 7. 8. 9. 10. 11. 12.

6

Leading-Edge Software Development, Modern Development Technologies, Modern Development Techniques. Understanding the Basics–Object-Oriented Concepts. Agile Model–Driven Development (AMDD). Usage Modeling , Use Case Modeling. User-Interface Development , Essential User-Interface Prototyping, Traditional User-Interface Prototyping, User-Interface Design Strategies. Supplementary Requirements, Business Rules, Technical Requirements, Constraints, Glossaries, Supplementary Specifications. Conceptual Domain Modeling, Analysis Class Diagrams, UML Object Diagram. Business Process Modeling , UML Activity Diagrams. Agile Architecture , UML Package Diagrams, UML Component Diagrams, UML Deployment Diagrams . Dynamic Object Modeling. Object-Oriented Programming , From Object Design to Java Code. Agile Database Development, Mapping Objects to Relational Databases.

Today Outline    

7

Leading-Edge Software Development Modern Development Technologies Modern Development Techniques The Case Studies

Modern Development Technologies  In

this section we are going to cover these in brief:  Object

Technology  Extensible Markup Language (XML)  Relational Database (RDB) Technology  Web Services  Effective

developers understand the fundamentals of the technologies that they have available to them.  The good and bad news is that we have many technologies available to us  The focus of this Unite is the development of business systems 8

Object Technology  systems

should be built from a collection of reusable parts called objects.

 Examples

of OO languages and technologies include the Java, C#, and C++ programming languages and the Enterprise JavaBeans (EJB) framework

 The

motivation of the object paradigm was meant to be abstractions of real-world concepts , such as :  

 In

students in a university, seminars that students attend, and transcripts that they receive.

thin-client or n-tier applications object technology is often used to implement business logic on application servers and business rule servers

9

Extensible Markup Language (XML) 

XML is a subset of standard generalized markup language (SGML), the same parent of hypertext markup language (HTML).

The critical standards are described in detail at the World Wide Web Consortium Web site (http://www.w3c.org).  XML is simply a standardized to representing text-based data in a hierarchical manner and for defining metadata about the data. 



From a programmer's point of view XML is a data representation,.



XML is often used to transfer data within an application when that application has been deployed across several physical servers



it is quite common to use XML for configuration files in both J2EE and .NET applications, and sometimes even in databases

10

Distributed versus Centralized Systems Distributed system – a system in which components are distributed across multiple locations and computer networks. Centralized

systems – a system in which all components are hosted by a central, multi-user computer.

11

Why the Trend Toward Distributed Systems? 

Modern businesses are already decentralized (distributed).



Personal computers and network servers are less expensive than mainframe computers 

12

Though total cost of ownership is at least as expensive

Computing Layers 

Presentation layer—the user interface



Presentation logic layer—processing that must be done to generate the presentation, such as editing input data or formatting output data.



Application logic layer—the logic and processing to support business rules, policies, and procedures



Data manipulation layer—to store and retrieve data to and from the database



Data layer—the actual business data

13

Client/Server Architecture — Clients Client/server system – a distributed • computing solution in which the presentation, presentation logic, application logic, data manipulation, and data layers are distributed between client .PCs and one or more servers Thin client – a personal computer that does not have to be very powerful because it only presents the user interface to the user. 14

Fat client – a personal computer, notebook computer, or workstation that is typically powerful.

Client/Server Architecture — Servers 









15

Database server – a server that hosts one or more databases and executes all data manipulation commands at the server. Transaction server – a server that hosts services which ensure that all database updates for a transaction succeed or fail as a whole. Application server – a server that hosts application logic and services for an information system. Messaging or groupware server – a server that hosts services for e-mail, calendaring, and other work group functionality. Web server – a server that hosts Internet or intranet websites.

Client/Server—Distributed Presentation Distributed presentation – a client/server system in which the presentation and presentation logic layers are shifted from the server to reside on the client. 

 

16

The application logic, data manipulation, and data layers remain on the server (frequently a mainframe). Character user interface (CUI) Graphical user interface (GUI)

Client/Server—Distributed Presentation

17

Client/Server—Distributed Data Distributed data – a client/server system in which the data and data manipulation layers are placed on the server(s), and other layers are placed on the clients.   

 18

Sometimes called two-tiered client/server computing. Difference to file server systems is where the data manipulation commands are executed. Much less network traffic than file server systems because only the database requests and the results of those requests are transported across the network. Database integrity is easier to maintain.

Client/Server—Distributed Data

19

Client/Server—Distributed Data and Application Distributed data and application – client/server system: 1. 2. 3.





The data and data manipulation layers are placed on their own server(s), The application logic is placed on its own server, The presentation logic and presentation layers are placed on the clients. Also called three-tiered or n-tiered client/server computing. Requires design partitioning.

Partitioning – the art of determining how to best distribute (duplicate) application components across the network. 20

Client/Server — Distributed Data and Application

21

Internet- and Intranet-based Architectures Network computing system – presentation and presentation logic layers implemented in clientside Web browsers using content downloaded from a Web server. 



Presentation logic layer connects to application logic layer running on application server, which connects to database servers on the backside of the system. The greatest potential of this approach is its applicability to redesign of traditional information systems to run on an intranet.

Intranet – a secure network that uses Internet technology to integrate desktop, work group, and enterprise computing into a cohesive framework. 22

Network Computing System: Internet/Intranet

23

Internet and Intranet Technologies 

Java  



HTML (HyperText Markup Language) 



Mostly for programming data content to be transported across the web

SQL (Structured Query Language) 



Mostly for programming the presentation layer

XML (Extensible Markup Language) 



Mostly for programming server-side application logic called “servlets” Occasionally for programming client-side application logic called “applets”

Universal standard language for database manipulation

Web Browsers

24

Data Architectures Relational database stores data in tabular form. Each file is implemented as a table. Each field is a column in the table. Related records between two tables are implemented by intentionally duplicated columns in the two tables. Distributed relational database – A database system that duplicates tables to multiple database servers located in geographically important locations. Distributed relational database management system – a software program that controls access to and maintenance of stored data in the relational format.

25

Types of Data(base) Distribution Data partitioning truly distributes rows and columns of tables to specific database servers with little or no duplication between servers.  

Vertical partitioning assigns different columns to different servers. Horizontal partitioning assigns different rows to different servers.

Data replication duplicates some or all tables on more than one database server. 

26

Propagates updates on one database server to any other database server where the data is duplicated.

Relational Database (RDB) Technology A

relational database is a persistent storage mechanism that stores data as rows in tables

 Most

relational databases enable you to implement functionality in them as stored procedures, triggers, and even full-fledged Java objects

 Although

other alternatives to RDBs exist—object-oriented database management systems (OODBMSs), XML databases (XDBs), and object-relational databases (ORDBs)

 Objects  The

are based on software engineering principles

end result is that you need to learn how to map your objects into RDBs as well as how to use the two technologies together,

27

Web Services 

Web service is "a software application identified by a Uniform Resource Identifier (URI)



whose interface and bindings are capable of being identified, described, and discovered by XML artifacts and supports direct interactions with other software applications using XMLbased messages via Internet-based protocols.



Web services are being used to implement functionality that is accessible via Internet technologies

28

Modern Development Techniques 

In this section I briefly explore three important development techniques that all developers should be familiar with:   

29

Agile software development; Unified modeling language (UML); Model-Driven Architecture (MDA);

Agile Software Development  Over

the years several software development processes:

 waterfall

lifecycle characterized by the ISO 12207  the Object-Oriented Software Process (OOSP) Still shows a significant failure rate within the industry  To

address these challenges a group of 17 methodologists formed the Agile Software Development Alliance ( http://www.agilealliance.org),  simply as the Agile Alliance, in February 2001they wrote a manifesto (Agile Alliance 2001a) defining four values for encouraging better ways of developing software:

30



Individuals and interactions over processes and tools. 



Working software over comprehensive documentation. 



The primary goal of software development is to create software, not documents—otherwise it would be called documentation development. Documentation has its place; written properly it is a valuable guide for people's understanding of how and why a system is built and how to work with the system

Customer collaboration over contract negotiation. 



The most important factors that you need to consider are the people and how they work together because if you do not get that right the best tools and processes will not be of any use

Only your customer can tell you what they want. They likely do not have the skills to exactly specify the system, they likely will not get it right at first, and they will likely change their minds. Working together with your customers is hard, but that is the reality of the job. Having a contract with your customers is important, but a contract is not a substitute for communication.

Responding to change over following a plan 

31

Change is a reality of software development, a reality that your software process must reflect. People change their priorities for a variety of reasons, their understanding of the problem domain changes as they see your work, and the business environment changes, as does technology. Although you need a project plan, it must be malleable and it can be in fact very simple

Unified Modeling Language 

The unified modeling language defines the industry standard notation for properly applying that notation for software built using object-oriented (OO)



The UML is currently in release 2.0



The UML is clearly a step in the right direction



For example, most business applications include user interfaces, yet at the time of this writing the UML does not include a standard way to model user interfaces.



Most business applications store data in some sort of database, often a relational one, yet the UML does not include a standard way to model data schemas

32

For next Lecture      

Assign your self in groups of 5. Setup Assign a system you and your team likes to make your unit class. Bring the group name and the system next week to be approved. Prepare for the Object Oriented Terminology. Install either Acceleo or MS Visio in your station 

33

Acceleo is open source , www.acceleo .org/pages/home/en

Related Documents