TJU_SCS_C#学习笔记(10)

Revision History


Date


Issue


Description


Author


10/May/2015

1.0
Realize the APP with binding.


Tang Hongyao


17/May/2015


V2.0


Give up binding, change another way.


Tang Hongyao

 

Problem Statement

  At first, I don‘t know how to realize the saving and loading data that user write in. I watch the teaching video and ask my classmates, then I know I may need to use Json file to realize this.

  It‘s not enough to know how to serialize and deserialize the Json file, I need to write the DataTemplate and use binding to bind the controls content to the class properties.

  And then I find that if I change the properties, my controls‘ content won‘t change, and after the teacher‘s help, I know I need to realize the interface named INotifyPropertyChanged, than the binding will refresh, so the user can see the changed data.

  When everything came to the last step, I tried 100 ways to solve the initialization problem of my Json file and binding but failed, I think there are some logical problem in it. And I did not have enough time so I changed the method to realize this APP. So, version 2.0 comes.

Glossary

Table of Contents

1. Introduction 4

2. Definitions 4

2.1 CourseName

2.2 CoursePlace

2.3 StartTime & EndTime

CourseAssitant Glossary

1. Introduction

This document is used to define terminology specific to the problem domain, explaining terms, which may be unfamiliar to the reader of the use-case

descriptions or other project documents.  Often, this document can be used as an informal data dictionary, capturing data definitions so that use-case

descriptions and other project documents can focus on what the system must do with the information.

2. Definitions

The glossary contains the working definitions for the key concepts in the my APP CourseAssistant.

2.1 CourseName

The name of the course that you have.

2.2 CoursePlace

The place that you have that lesson or course.

2.3 StartTime & EndTime

The courses‘ from and to.

Supplementary Specification

Table of Contents

1. Objectives 4

2. Scope 4

3. References 4

4. Functionality 4

5. Usability 4

6. Reliability 4

7. Performance 4

8. Supportability 4

9. Security 4

10. Design Constraints 5

CourseAssistant Specification

1. Objectives

The purpose of this document is to define requirements of the Course Registration System.  This Supplementary Specification lists the requirements that are

not readily captured in the use cases of the use-case model. The Supplementary Specifications and the use-case model together capture a complete set of

requirements on the system.

2. Scope

Local use, can not change data with other users.

3. References

None.

4. Functionality

- Multiple users must be able to manage their courses so that they can learn better.

5. Usability

Windows 8.1 and Windows Phone.

6. Reliability

The system shall be available 24 hours a day 7 days a week, with no more than 10% down time.

7. Performance

Clear, stable and efficient. Easy to use and friendly to users.

8. Supportability

None.

9. Security

Local file saving data, not connecting to the Internet.

Requirements

1. CourseAssistant

1.1 Brief Description

This my first Windows APP, it‘s a simple app that help manage your courses and lessons.

1.1 Flow of Events

1.1.1 Basic Flow

1.1.1.1 Add/Delete/Change a Course

1.1.1.2 Update the Course Table

1.2 Special Requirements

None.

1.3 Pre-Conditions

If the APP can find the local Json file then read the file and initialize the data, if not , then call the initialize function.

1.4 Post-Conditions

If everything is ok, then save the data into the local Json file.

1.5 Extension Points

None.

时间: 2024-10-12 19:56:43

TJU_SCS_C#学习笔记(10)的相关文章

jQuery学习笔记10:Ajax技术

jQuery 库拥有完整的 Ajax 兼容套件.其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据. jQuery 采用了三层封装:最底层的封装方法为:$.ajax(),而通过这层封装了第二层有三种方法:.load().$.get()和$.post(),最高层是$.getScript()和$.getJSON()方法. 函数 描述 jQuery.ajax() 执行异步 HTTP (Ajax) 请求. .ajaxComplete() 当 Ajax 请求完成时注册要调用的处理程序.这是一个

Android:日常学习笔记(10)———使用LitePal操作数据库

Android:日常学习笔记(10)---使用LitePal操作数据库 引入LitePal 什么是LitePal LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式,将平时开发时最常用的一些数据库功能进行了封装,使得开发者不用编写一行SQL语句就可以完成各种建表.増删改查的操作.并且LitePal很"轻",jar包大小不到100k,而且近乎零配置,这一点和Hibernate这类的框架有很大区别.目前LitePal的源码已经托管到了GitHub上. 关

sqlite学习笔记10:C语言中使用sqlite之查询和更新数据

前面说到的 sqlite_exec() 中的第三个参数, SQLite 将为 sql 参数内执行的每个 SELECT 语句中处理的每个记录调用这个回调函数. 本节添加了两个函数,selectFromTable和updateTable. 实例程序如下: #include <stdio.h> #include <stdlib.h> #include "sqlite/sqlite3.h" #define DB_NANE "sqlite/test.db&quo

lua学习笔记10:lua简单命令行

前面多次用了命令行,这次就好好学下命令行: 一 格式 lua [options][script][args] 二 具体命令 -e 直接将命令传个lua -l 加载一个文件 -i 进入交互模式 例如,终端输入: lua -e "print(math.sin(12))" lua学习笔记10:lua简单命令行,布布扣,bubuko.com

python基础教程_学习笔记10:异常

异常 什么是异常 Python用异常对象来表示异常情况.遇到错误后,会引发异常.如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(Traceback,一种错误信息)终止执行: >>> 1/0 Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> 1/0 ZeroDivisionError: integer division or modulo by

Perl语言学习笔记 10 其他控制结构

1.unless控制结构 条件为假时执行,与if相反 可以附带else 2.Until控制结构 条件为假时执行,一直执行到条件为真: 3.条件修饰词 效果等同于: 类似的模式: 4.裸块控制结构 { body; body; .... } 有利于为临时变量圈定有效范围 5.elsif子句 6.自增.自减 同c语言 7.for 用法同c语言 8.for与foreach 在perl中,两者等价,优先选择纯正的foreach 9.5种循环块:for.foreach.while.until.裸块 last

《C++ Primer Plus》学习笔记10

<C++ Primer Plus>学习笔记10 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<&

学习笔记10

今天来粗略的学习一下js<script></script> JavaScript:写入 HTML 输出     document.write("<h1>This is a heading</h1>"); JavaScript:对事件作出反应       <button type="button" onclick="alert('Welcome!')">点击这里</button>

thinkphp学习笔记10—看不懂的路由规则

路由这部分貌似在实际工作中没有怎么设计过,只是在用默认的设置,在手册里面看到部分,艰涩难懂. 1.路由定义 要使用路由功能需要支持PATH_INFO,PATH_INFO是什么呢?手册中提到“要使用路由功能,前提是你的URL支持PATH_INFO(或者兼容URL模式也可以,采用普通URL模式的情况下不支持路由功能),” , url支持path_info,不是apache要支持path_info么,度娘讲的还算清楚一点,见下文: pathinfo(PHP 4 >= 4.0.3, PHP 5)path

mybatis学习笔记(10)-一对一查询

mybatis学习笔记(10)-一对一查询 mybatis学习笔记10-一对一查询 resultType实现 resultMap实现 resultType和resultMap实现一对一查询小结 本文使用两种方式(resultType和resultMap)实现一对一查询,查询订单信息,关联查询创建订单的用户信息 resultType实现 sql语句 确定查询的主表:订单表 确定查询的关联表:用户表 关联查询使用内连接?还是外连接? 因为orders表中有一个外键(user_id),通过外键关联查询