|
Might be possible using reflection? Something that goes through each form and lists all the controls?
|
|
|
|
|
I think the analyst means (and believes that it would be sufficient enough) to describe the purpose of every field on the UI; almost like user documentation.
I doubt that is sufficient to describe the program and to get the analyst what they need. I would ask some questions to find out what they have been tasked with, and how that information will be used by the external company. That might help both of you better understand what they need and for you to be able to provide it.
Otherwise, it does just sound like using Alt-Print Screen or the snipping tool to create screen shots.
Any idea why the programs need to be rewritten? Or are they simply trying to move everything to this other platform?
|
|
|
|
|
Paul M Watt wrote: Or are they simply trying to move everything to this other platform?
Pretty much. The two programs are an office based and field based part of the same overall process / system. They were deemed too complex and specialised to be incorporated when the new system was first brought in, and were 'definitely' going in last year, now it looks like they might finally get around to having a go at it next.
As he wants things by the end of this week, anything that involved me manually doing stuff is not going to happen.
Some men are born mediocre, some men achieve mediocrity, and some men have mediocrity thrust upon them.
|
|
|
|
|
chriselst wrote: As he wants things by the end of this week, anything that involved me manually doing stuff is not going to happen.
Let him know that.
Because anything that you could do with an automated tool, such as reflection of the controls and associate the names with them, would be almost worthless without context of usage and a description.
However, if he's after a list to mark a checkbox...
Here's a possibility. See if he will print out the screen shots, and create the collection of data fields, with a description of what he understands they do.
Then you guys can review it and you can correct anything he hasn't gotten quite right.
|
|
|
|
|
chriselst wrote: They were deemed too complex and specialised to be incorporated
So they want all the complexity documenting, then they will remove the complexity based on the documentation? Sounds to me like that's never going to work - you'll end up with a system that doesn't do what it needs to, but it'll look good initially; the deficiencies will pop up later & delay implementation massively (until the project gets cancelled).
The only sensible way to succeed is by them talking to the business to analyse what they need (good job they're business analysts) then defining, developing & migrating to the system they need.
Just my two penn'orth.
Regards, Stewart
|
|
|
|
|
Stewart Judson wrote: The only sensible way to succeed is by them talking to the business to analyse what they need (good job they're business analysts) then defining, developing & migrating to the system they need.
You know that.
I know that.
All they're going to succeed in doing is dragging over all the bad bits to the new system and then introducing some new ones.
I don't care, once the existing ones are turned off support is nothing to do with me.
Some men are born mediocre, some men achieve mediocrity, and some men have mediocrity thrust upon them.
|
|
|
|
|
chriselst wrote: support is nothing to do with me.
You say that, yet the BA's contacted you!!
|
|
|
|
|
Let us sit around the fire with our pipes & slippers, talking of the old days when we could speak to the business & they understood what the processes were. They knew what to do & why they were doing it because it was all manual.
Then we came along & made it so they just had to click buttons & type in boxes to get their work done - when the next generation of users came along, all they were taught was the buttons & boxes. Poof! All the business knowledge lost (or rather kept in code which we have to extract & explain repeatedly).
|
|
|
|
|
Sounds like The Wally Reflector[^] to me.
Sure, just add XML comments to all of the members of all of your Forms...
private System.Windows.Forms.TextBox address = new System.Windows.Forms.TextBox() ;
<member name="F:PlayGround.Form1.address">
<summary>The address of the user</summary>
<remarks>Stored in [dbo].[User].[Address]</remarks>
<value>String representation</value>
</member>
No? How about an Attribute?
public class DocumentationAttribute : System.Attribute
{
public string Summary { get ; private set ; }
public string Remarks { get ; private set ; }
public string Value { get ; private set ; }
public DocumentationAttribute
( string Summary , string Remarks , string Value )
{
this.Summary = Summary ;
this.Remarks = Remarks ;
this.Value = Value ;
}
}
[DocumentationAttribute("The address of the user","Stored in [dbo].[User].[Address]","String representation")]
private System.Windows.Forms.TextBox address = new System.Windows.Forms.TextBox() ;
You know, I bet a smart guy like you could derive your own controls...
public interface IDocumentMyself
{
string Name { get ; }
string Summary { get ; }
string Remarks { get ; }
string Value { get ; }
}
public class MyTextBox : System.Windows.Forms.TextBox , IDocumentMyself
{
public string Summary { get ; private set ; }
public string Remarks { get ; private set ; }
public string Value { get ; private set ; }
public MyTextBox
( string Summary , string Remarks , string Value )
{
this.Summary = Summary ;
this.Remarks = Remarks ;
this.Value = Value ;
}
}
private MyTextBox myaddress = new MyTextBox("The address of the user","Stored in [dbo].[User].[Address]","String representation") ;
You're welcome.
modified 10-Dec-14 14:06pm.
|
|
|
|
|
You just run Doxygen against your source code to generate the documentation. You did add the XML commentary to all your source, didn't you?
|
|
|
|
|
Doesn't "doxygen" work for all .NET platform languages?
(this is a classic conditioning paradigm ... one in which the animal is theorized to learn from a discrepancy between what is expected to happen and what actually happens)
Bob and Al said it would work for all .NET languages last night.
|
|
|
|
|
That depends, do you like this BA?
SELECT
t.name Table_Name
, c.name Column_Name
FROM sys.tables t
INNER JOIN sys.columns c ON(t.object_id = c.object_id)
Common sense is admitting there is cause and effect and that you can exert some control over what you understand.
|
|
|
|
|
I've lurked here from time to time, making off-the-wall comments from time to time. Now, with all my great contributions accredited, I'm going to ask for some opinion on a matter near and dear to me.
My career was mainly in consulting and HQ Information Systems. My undergraduate is in Accounting and Info Systems (not comp sci, sorry), so Things got rough personally and I ended up in a Help Desk. (Not looking for sympathy, just explaining the situation.) In digging my way back out of a hole of my own making I started defining and taking on projects to automate some of the brain- and time-killing work people do to combine this report and that to make Excel workbooks.
From there I started to learn VBA (I know, it's not as good as any other language a real programmer would use!) on my own through books, experimentation, some on-line fora, and writing a blog (with very few views...and I'm not pushing that here) mainly because I realized long ago that writing is a means to make certain I know what I think I learned. I've got no training budget, and corporations don't spend money training someone who is (a) working with non-mainstream technology and (b) past the age of 50.
Yes, I'll get to the question(s)!
Recently I started considering branching out. I figured I could take what I know about programming in a MS spreadsheet world and leverage that to Google Drive and OpenOffice, mainly to start learning more mainstream languages, e.g. Python and Javascript.
Of course, I am interested in your opinions as to which language(s) to go after to build more knowledge and understanding, whether you think this is a fool's errand, etc etc.
I am most interested in how you've gone about being self-educated in different languages and technologies.
Thoughts?
cat fud heer
|
|
|
|
|
BiggerDon wrote: I am most interested in how you've gone about being self-educated in different languages and technologies.
Get a book, or a course: if you try and "pick it up as you go along" you miss far, far too much stuff. Books and courses both introduce the material in a structured way and (hopefully) cover all the material. And do the exercises! "Doing" something forces it into your brain better than "reading" something - so "looking at the answers" is not as effective a learning tool as sitting there and mucking the whole thing up!
And modern frameworks are seriously complicated - there are so many ways to do the same thing that it is too easy to use something "that works" even though it's "only just" when there is a better method that does it "properly". For example, you can use an ArrayList in VB / C# and it'll do the job - but a generic List<T> does the same thing much, much better!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
OriginalGriff wrote: ArrayList
One of so many parts of .net that should be marked Obsolete.
|
|
|
|
|
Agreed.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
OriginalGriff wrote: And modern frameworks are seriously complicated And how! On Monday I was dropped in the deep end, writing my first ever SharePoint web parts. Then I had weights attached to me when I discovered just how far removed writing Sharepoint Online hosted web parts is from simple old fashioned web parts that are basically a user control.
Yes, SharePoint isn't a 'framework' as such, more a platform, but the complexities boggle.
No object is so beautiful that, under certain conditions, it will not look ugly. - Oscar Wilde
|
|
|
|
|
BiggerDon wrote: how you've gone about being self-educated in different languages and
technologies
I have found that I am more suited to a classroom situation, for the structure more than anything else.
I have not had trouble extending my study and knowledge of something on my own once I have a start, but that start requires a rather swift kick.
Examples:
When .net came out I read the spec of C# and bought "Visual C#" (essentially Visual Studio .net 2002 with only C#), then just kinda sat there looking at it. Then I took some MCAD classes (C#, ADO.net, ASP.net) and .
A few years ago I bought a copy of "Learn Java for Android in 21 Days" (or something like that). I installed the SDK and Eclipse, read chapters 1 and 2, and haven't touched it since. I should look for a class.
|
|
|
|
|
Thanks, PIEBALD.
Your experiences remind me of the foot of shelf space that has 20 year old books on C because I was convinced I was going to learn it.
Like you, I find the external expectations to be helpful, whether it is a project I've taken on (little ones) or taking a class/tutorial. It's the human need for positive feedback and the avoidance of negative perceptions.
That's why (in one of my responses here) I've talked about "Okay, what an I going to do with it?" when someone suggested a language. I want something back for my investment of time and brain power, not just an activity to check off or put on a resume.
cat fud heer
|
|
|
|
|
Something I have learned to do. Stop considering you books as books and start considering them as daily calisthenics. I do several pages every day usually after my daily deletion of spam. It takes a long time to finish a book. But you will finish. I like the "in easy steps" books because the layout makes it easy to just a little bit at a time.
|
|
|
|
|
Thanks, jhoga.
That sounds like advice I should take. I recently bought a book on VBA partially because it had a section on a subject I had not figured out yet. I still haven't walked through it. I should.
cat fud heer
|
|
|
|
|
Their is a whole bunch of MOOCs and online tutorials and websites in the net. Like "Code School" or "Ray Wenderlich".
The problem is: which way (Apple, Microsoft, Android,Linux) to go. A good starting point may be Java, because many languages are similar - but its like a religion...
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
I'd submit that the language is irrelevant: you can pick up most languages in a day or two (heck, the whole of C# is a couple of hours!).
What takes time is the framework the language will be used in: .NET, Android, iOS are all different, and they are a huge amount of learning.
Think about it: it you are competent at C#, you could learn and be competent in VB in a day or so (and most of that time will be swearing at it for being a stupid rather verbose language in comparison )
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Thanks, Griff. Much appreciated.
I think you're right, the basics of the languages are much the same, as I mentioned above. Learning the syntax, at least to some level does not take long but the context (framework) is where the gold is, and mining isn't an easy task.
Regarding VB versus c# verbosity, I'm not sure exactly what you mean. My guess is what you are saying is it takes more lines of code to perform the same tasks. It's something I'll look at as I move forward.
OTOH, which of these is more verbose (yes, that's arguing by exception. )
VB: MsgBox("This is the message")
c#: MessageBox.Show("This is the message")
There is another point to the example. I found in a tutorial that Java Script considers "length" to be a property, whereas VB uses the "Len() function.
There can be arguments as to which is more "right", which to me is a theological angels-on-the-head-of-a-pin argument. In the background I know that the software has to do the same thing: determine the number of characters of the string. My only worry is how to get the data I need for code to work. Quod rectum est practica. (That which is practical is right, not "What a practical *". )
cat fud heer
|
|
|
|
|
|