powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Управление процессом разработки ИС [игнор отключен] [закрыт для гостей] / Как описать алгоритм в UML
2 сообщений из 2, страница 1 из 1
Как описать алгоритм в UML
    #36003987
CatWarrior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я сейчас рисую Activity и Sequence диаграммы для самых интерессных и уже написанных мест в программе. (знаю что это не правильно, но Use-Case и Class диаграммы были сделаны еще до написания кода).

Есть код (ниже) который я попытался отобразить на Sequence диаграмме , но както мне кажется не айс. Можно на Activity, но как я понимаю отображать не ней циклы еще более плохое решение.

Или в таких случаях надо опускаться до блок-схем? И с их помощью описывать функцию?

Вобщем у меня проблема такая. Я не понимаю как описывать в UML элементарный код типа (придумал от балды)
Код: plaintext
1.
2.
3.
4.
5.
6.
int superCounter=  0 ;
for( int i= 0 ;i<stopValue;++i )
{
superCounter+= 2 *i;
array.add(superCounter);
}



Вот исходный код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
    static function GetSameVector( $ids )
    {
    	//строим новый вектора по переданным id источников
    	
    	$query = "select SUM(cl1)/SUM(count), SUM(cl2)/SUM(count), SUM(cl3)/SUM(count), SUM(cl4)/SUM(count), SUM(cl5)/SUM(count), SUM(cl6)/SUM(count), SUM(cl7)/SUM(count) from classVector where";
    	foreach ($ids as $i => $id) 
    	{
    		if( $i == count($ids)- 1  )
    			$query .= " serviceid = $id";
    		else 
    			$query .= " serviceid = $id OR ";
    	}
    	
    	//echo $query;   	
    	
    	$out = "";
    	$ret = MySQL::ExecTransaction( array( $query ),$out);
    	if( $out != "" )
    	{
    		echo ClassVector::getXMLWithError($out, 1 );
    		exit( 1 );
    	}
    	
    	$resultVector = mysql_fetch_row($ret);
    	
    	
    	//получаем похожие вектора
    	$query = "select serviceid, us.name, us.type,
    	cl1/count * $resultVector[0] + 
    	cl2/count * $resultVector[1] + 
    	cl3/count * $resultVector[2] + 
    	cl4/count * $resultVector[3] + 
    	cl5/count * $resultVector[4] + 
    	cl6/count * $resultVector[5] + 
    	cl7/count * $resultVector[6] as result from 
classVector 
right join (select id, name, type from services) as us
on us.id = serviceid
order by result desc";
    	
    	
    	//echo $query;
    	$ret = MySQL::ExecTransaction( array($query), $out);
    	if( $out != "" )
    	{
    		echo ClassVector::getXMLWithError($out, 1 );
    		exit( 2 );
    	}
    	
    	
    	$retStr = "<?xml version=\" 1 . 0 \" encoding=\"cp1251\"?>\r\n";
		$retStr .= "<Services>\r\n";
	
		$count = mysql_num_rows( $ret);
		for( $i =  0 ; $i < $count; ++$i )
		{
			$mass = mysql_fetch_row($ret);
	        $retStr .= "<service id=\"$mass[ 0 ]\" name=\"$mass[ 1 ]\" />\r\n";
		}
	
		$retStr .= "</Services>";
		return $retStr;
    }
    
}
...
Рейтинг: 0 / 0
Как описать алгоритм в UML
    #36004144
Фотография Big17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имхо, нет смысла описывать в UML элементарный код.
Максимум - тот, который сложен с точки зрения алгоритмики и не более того.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Управление процессом разработки ИС [игнор отключен] [закрыт для гостей] / Как описать алгоритм в UML
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]